View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
James Freeman
11th January 2015, 08:56
Probably.
Sorry for that.
nekromantik
12th January 2015, 12:51
Hi
Any news regarding LAV Audio to failback to non bitstream if no bitstream is available?
ryrynz
13th January 2015, 00:27
I think you may wish to determine why powerdvd streams from your source but lav does not.. Are you sure powerdvd is streaming? Upload a sample perhaps.
nekromantik
13th January 2015, 07:52
I think you may wish to determine why powerdvd streams from your source but lav does not.. Are you sure powerdvd is streaming? Upload a sample perhaps.
I know as my av shows sound format when its bitstreaming, if you send pcm to it just displays pcm abd not format (DTS, Dolby etc).
Nachbar
13th January 2015, 08:16
lav sends pcm just fine here. Maybe your receiver doesn't support what it is being sent? For me I have to have expand 6.1 to 7.1. If you have an older receiver you may need to uncheck dts-hd and dolby truehd.
Are you sure lav filters is in the chain? What other filters and renderers are you using?
In my setup I have all the bitstream formats unchecked so reclock can do its thing and send PCM to my receiver via wasapi with "set to matching speaker configuration" checked so I get 2.0, 5.1, or 7.1 depending on the content and my receiver matrixes it from there.
ryrynz
13th January 2015, 09:11
lav sends pcm just fine here. Maybe your receiver doesn't support what it is being sent?
It does, PowerDVD bitstreams this particular title to his receiver fine but LAV doesn't. He should upload a sample ideally so someone can determine exactly what's going on.
nekromantik
13th January 2015, 10:35
I got a new av which supports HD codecs.
The problem is when playing ac3 stream and its bitstreaming MPC does not use LAV it falls back to Microsoft.
It happens on ALL files including dvds which has ac3 or dts.
When Im at home I will try show sample.
Nachbar
14th January 2015, 03:58
In mpc do you have lav filters selected as an external filter set to prefer?
Also I do get the same problem if reclock is set to not accept bitstream formats. However once you do set it to accept bitstream lav audio shows up again. Maybe check how your audio renderer is configured and make sure there are no other audio filters trying to do something. If you could list all your filters when it is playing properly and then list all your filters when it isn't playing properly would help.
nekromantik
14th January 2015, 07:43
In mpc do you have lav filters selected as an external filter set to prefer?
Also I do get the same problem if reclock is set to not accept bitstream formats. However once you do set it to accept bitstream lav audio shows up again. Maybe check how your audio renderer is configured and make sure there are no other audio filters trying to do something. If you could list all your filters when it is playing properly and then list all your filters when it isn't playing properly would help.
In MPC HC its got built in LAV Audio and Video and so I dont have any addtional filters added. When I dont have bitstream selected it loads LAV Video. Audio and splitter but when I check bitstream it loads LAV Video, Splitter and Microsoft DTV-DVD Audio decoder. Using default system audio renderer.
ryrynz
14th January 2015, 07:45
Hey Nev, could you look into the patch (https://code.google.com/p/lavfilters/issues/detail?id=302&colspec=ID%20Type%20Status%20Priority%20Filter%20Summary%20Modified) for supporting Matroska's CueDuration and CueRelativePosition? Thanks.
Nachbar
14th January 2015, 15:16
If I disable reclock I get your same behavior.
reclock enabled and set to accept bitstream:
Filters currently loaded:
- ReClock Audio Renderer
- XySubFilter (=> madVR)
- madVR
- LAV Audio Decoder
- LAV Video Decoder
- LAV Splitter
- File Source (Async.)
reclock disabled, using system default:
Filters currently loaded:
- Default DirectSound Device
- XySubFilter (=> madVR)
- madVR
- Microsoft DTV-DVD Audio Decoder
- LAV Video Decoder
- MPC-HC AVI<->AC3/DTS
- LAV Splitter
- File Source (Async.)
Now if I add Microsoft DTV-DVD Audio Decoder as an external filter and set it to Block this is what I get:
Filters currently loaded:
- Default DirectSound Device
- XySubFilter (=> madVR)
- madVR
- LAV Audio Decoder (internal) (low merit)
- LAV Video Decoder
- MPC-HC AVI<->AC3/DTS
- LAV Splitter
- File Source (Async.)
I'm not sure how to configure the MPC-HC AVI<->AC3/DTS filter. I wonder if thats the problem or if its something before that. This may be something that the mpc-hc staff needs to know about.
nevcairiel
14th January 2015, 16:49
I just tried with AC3, DTS, and DTS-HD, through DirectSound or WaveOut, and bitstreaming through HDMI works every time on my NVIDIA card.
Maybe AMD or Intel GPUs in use? I need to setup my test system again..
So in general, some hardware infos are always helpful.
Also, as a hint, do not disable the MPC-HC internal audio switcher, it can break bitstreaming for some reason on some setups.
NikosD
14th January 2015, 18:38
Nev, how difficult/possible is to increase the maximum number of threads configured by the user for LAV video from 16 to 24 ?
I would like to test LAV x64 CPU HEVC decoder, under some certain circumstances.
clsid
14th January 2015, 19:49
The AVI2AC3DTS filter of MPC-HC changes the output mediatype and messes a bit with the bitstream headers.
https://github.com/mpc-hc/mpc-hc/blob/develop/src/filters/transform/AVI2AC3Filter/AVI2AC3Filter.cpp
Could you guys copy the details of the input pin and output pin of this filter from the MPC-HC filter list (Play > Filters)? That info might be useful for nevcairiel.
NikosD
14th January 2015, 20:03
Nev, latest drivers from Intel v.4080 claim: (it's official in the release notes)
a) Improved video playback through partial hardware acceleration support for the VP9 video format.
b) GPU accelerated decode of HEVC video file format including both 8-bit and 10-bit support. This will provide improved video playback capabilities on the platforms.
I tried 10bit HEVC clips with latest LAV Video 0.63.41 and I got a black image with no decoding.
Also I see no VP9 DXVA decoder device, or maybe DXVA Checker doesn't recognize it yet.
nevcairiel
14th January 2015, 20:20
There is no VP9 DXVA specification (to my knowledge), so there is nothing to support.
NikosD
14th January 2015, 20:26
Possibly that means Intel's MSDK support in a proprietary way ?
OpenCL support ?
nekromantik
14th January 2015, 20:50
I just tried with AC3, DTS, and DTS-HD, through DirectSound or WaveOut, and bitstreaming through HDMI works every time on my NVIDIA card.
Maybe AMD or Intel GPUs in use? I need to setup my test system again..
So in general, some hardware infos are always helpful.
Also, as a hint, do not disable the MPC-HC internal audio switcher, it can break bitstreaming for some reason on some setups.
It happens on both laptops, one with Intel/AMD and other Intel/Nvidia.
Audio switcher is enabled. I will try with Direct Sound and try block Ms decoder.
Nachbar
15th January 2015, 04:06
I just tried with AC3, DTS, and DTS-HD, through DirectSound or WaveOut, and bitstreaming through HDMI works every time on my NVIDIA card.
Maybe AMD or Intel GPUs in use? I need to setup my test system again..
So in general, some hardware infos are always helpful.
Also, as a hint, do not disable the MPC-HC internal audio switcher, it can break bitstreaming for some reason on some setups.
Well enabling the audio switcher seemed to have done the trick.
Filters currently loaded:
- Default DirectSound Device
- XySubFilter (=> madVR)
- madVR
- Audio Switcher
- LAV Video Decoder
- LAV Audio Decoder
- LAV Splitter
- File Source (Async.)
I have an intel 3570k processor and nvidia 560 ti card. I tried directsound and waveout. Both of them worked but waveout I would get audio glitches.
The AVI2AC3DTS filter of MPC-HC changes the output mediatype and messes a bit with the bitstream headers.
https://github.com/mpc-hc/mpc-hc/blob/develop/src/filters/transform/AVI2AC3Filter/AVI2AC3Filter.cpp
Could you guys copy the details of the input pin and output pin of this filter from the MPC-HC filter list (Play > Filters)? That info might be useful for nevcairiel.
I can't get it to use that filter now. Its like enabling the audio switcher fixed it permanently even if I disable the audio switcher. I could've sworn I had played around with the audio switcher before. Maybe its something that only appears on a fresh install or new mpc-hc version?
edit: I got it to come back but only when I switch my display to my monitor only and not my receiver. Maybe make sure your default playback device is properly selected and shows that it is dts/dolby digital capable? For example:
http://i.imgur.com/lOXWLw6.jpg
Qotscha
15th January 2015, 08:04
I have a few NDVR recordings with which seek doesn't work using LAV Splitter. With MPC-BE's internal MPEG Splitter or VLC seek works. Here (https://app.younited.com/?shareObject=e0d45bd1-c5d6-58fc-5553-8e5c728411a7) is a bit lengthy sample but if I cut that even 10 MB shorter from either end, seek works.
Nintendo Maniac 64
15th January 2015, 10:13
For anyone that has not updated to the newest Intel iGPU driver, can you confirm that 10-bit h.264 plays fine (as in via software) when LAVfilters is set to DXVA2 (native)?
I ask this because I think on the newest driver, trying to play 10-bit h.264 with LAVfilters set to DXVA2 (native) results in the video and audio not playing at all rather than just playing via software.
FYI I'm using the LAVfilters built into MPC-HC v1.7.7 64bit.
foxyshadis
15th January 2015, 11:41
Possibly that means Intel's MSDK support in a proprietary way ?
OpenCL support ?
I downloaded the Media SDK and it hasn't been updated, so I don't know where the hell this is supposed to be. Only VP8 is in there now. I'm guessing we'll see another new Media SDK soon.
For anyone that has not updated to the newest Intel iGPU driver, can you confirm that 10-bit h.264 plays fine (as in via software) when LAVfilters is set to DXVA2 (native)?
Works fine here, on old drivers.
NikosD
15th January 2015, 12:15
I downloaded the Media SDK and it hasn't been updated, so I don't know where the hell this is supposed to be. Only VP8 is in there now. I'm guessing we'll see another new Media SDK soon.
Right.
Intel's drivers even install VP8 MFT codecs, but no sign of VP9.
Early statement I suppose or Broadwell only feature ?
Nintendo Maniac 64
15th January 2015, 12:23
Is hardware decoding of VP8 even useful? I mean, I've done pure software decoding of 720p 30fps VP8 on the likes of a 1.6GHz first gen single core Intel Atom, a 2GHz Pentium 4 Northwood, and a 1.7GHz Athlon XP Thoroughbred.
nevcairiel
15th January 2015, 13:24
Hardware Decoding for those codecs is mostly designed for mobile usage to reduce energy consumption and increase battery life.
NikosD
15th January 2015, 13:47
VP8 is like H.264 in terms of decoding complexity, so your question is like if HW decoding of H.264 is even useful.
zerowalker
15th January 2015, 14:38
I noticed when i use Quick Sync to decode h264 i can't use Slow Playback and stuff like that in Zoom Player.
Or well i can but it doesn't work as intended, video goes to fast, audio goes out of sync etc.
I wonder is this something that can be fixed in the Filter or is it the Player?
Asmodian
15th January 2015, 20:29
I bet it would need driver support, neither the filter or the player can fix it.
Nintendo Maniac 64
16th January 2015, 02:38
VP8 is like H.264 in terms of decoding complexity, so your question is like if HW decoding of H.264 is even useful.
I can't say I agree. Those same three low-performance CPUs had issues decoding the very same video in 720p 30fps 8bit h.264. I did note however that more recently LAVfilter's own h.264 decoder is quite a bit more optimized than h.264 decoders were 5+ years ago, and when I tried it on the previously-mentioned Intel Atom it did manage to play back fine (though I would imagine multithreading helped, which isn't present on the Athlon XP and Pentium 4 in question)
One thing to note is that YouTube's single remaining VP8 format is used on the Nintendo Wii due to the lack of CPU performance for software decoding - and no surprise, the Wii also has a single core CPU.
zerowalker
16th January 2015, 08:53
I bet it would need driver support, neither the filter or the player can fix it.
But what's there to support, isn't the only difference that FPS is halved?
Audio is played at half samplerate etc, this is done software of course.
If so Quick Sync should be able to decode it if player/filter tells it to only decode 15fps (if 30fps) right?
Nintendo Maniac 64
16th January 2015, 20:22
I noticed when i use Quick Sync to decode h264 i can't use Slow Playback and stuff like that in Zoom Player.
Or well i can but it doesn't work as intended, video goes to fast, audio goes out of sync etc.
I wonder is this something that can be fixed in the Filter or is it the Player?
It's the player because it works perfecetly fine in MPC-HC 64bit v1.7.7 with the internal built-in LAVfilters set to use QuickSync...
ashlar42
17th January 2015, 04:40
I browsed several pages with no luck.
On a machine configured with a Core2 Quad Q9550S and a GTX 660 what's the preferred decoder for HEVC? DXVA native or CUVID?
Nintendo Maniac 64
17th January 2015, 04:59
On a machine configured with a Core2 Quad Q9550S and a GTX 660 what's the preferred decoder for HEVC? DXVA native or CUVID?
You could always test it yourself and see which one works better - that is, which one uses less GPU usage and/or which gives better performance with really demanding content (1440p, 4k, 60fps, etc).
Though, if it's anything like QuickSync, DXVA native will be better than CUVID while CUVID will be better than DXVA copy-back (save for content with fancy subtitles).
foxyshadis
17th January 2015, 08:00
I browsed several pages with no luck.
On a machine configured with a Core2 Quad Q9550S and a GTX 660 what's the preferred decoder for HEVC? DXVA native or CUVID?
Do you even get CUVID? Check with DXVAChecker to find out (load a file onto the Directshow Decoder tab). When I have DXVA selected in LAV it works fine, with CUVID I only get "Unsupported", and my card is GK107 (755M), just one step down from your GK104. Well, it is about half as powerful, that might have something to do with it; on 1080p Big Buck Bunny I get 200 fps DXVA so I'm guessing you'd get around 300, unless you end up CPU limited.
On CPU I get almost 400 FPS, but this is a Haswell i7-4700MQ; I'd guess your CPU only would be about 250 fps on this same file. I could bench the HTPC (same CPU as you!) but I don't want to turn it on.
Then again, maybe my driver is just misconfigured.
Nintendo Maniac 64
17th January 2015, 08:03
on 1080p Big Buck Bunny I get 200 fps DXVA so I'm guessing you'd get around 300, unless you end up CPU limited.
On CPU I get almost 400 FPS, but this is a Haswell i7-4700MQ; I'd guess your CPU only would be about 250 fps on this same file.
I've seen people quoting such FPS numbers all the time but I could never figure out how people are running in such a benchmark mode or the like. Is there a memo somewhere that I've missed, or does it not work with MPC-HC and its internal LAVfilters?
foxyshadis
17th January 2015, 09:07
I've seen people quoting such FPS numbers all the time but I could never figure out how people are running in such a benchmark mode or the like. Is there a memo somewhere that I've missed, or does it not work with MPC-HC and its internal LAVfilters?
Here's how I do it (https://forum.doom9.org/showthread.php?p=1705156#post1705156). I use decode, but full playback is nearly the same (unless you force MadVR, of course). With internal LAV you'd have to register it, or get the external.
Note that the LAV in MPC-HC has no HEVC DXVA support, unless you replaced them with a current build. CPU decoding is a lot faster too.
Nintendo Maniac 64
17th January 2015, 09:11
Note that the LAV in MPC-HC has no HEVC DXVA support, unless you replaced them with a current build. CPU decoding is a lot faster too.
Coding-related things are my biggest weakpoint, so compiling a newer revision than 0.63 is out the question for me.
wanezhiling
17th January 2015, 09:16
LAV could enable UHD (4K) option by default now, I think.
:)
foxyshadis
17th January 2015, 09:40
Coding-related things are my biggest weakpoint, so compiling a newer revision than 0.63 is out the question for me.
There are nightly builds (http://files.1f0.de/lavf/nightly/) now, at least anytime there's a change. (Horray!) I've had no problems with the most recent one so far.
zerowalker
17th January 2015, 12:06
It's the player because it works perfecetly fine in MPC-HC 64bit v1.7.7 with the internal built-in LAVfilters set to use QuickSync...
Interesting will do a test. If that's the case for me as well i will ask Zoom Player about it.
Hope it can be solved:)
EDIT:
Confirmed that it works with MPC HC.
Asked on the Zoom Player forum if it can be solved.
nevcairiel
17th January 2015, 15:46
For anyone that has not updated to the newest Intel iGPU driver, can you confirm that 10-bit h.264 plays fine (as in via software) when LAVfilters is set to DXVA2 (native)?
I ask this because I think on the newest driver, trying to play 10-bit h.264 with LAVfilters set to DXVA2 (native) results in the video and audio not playing at all rather than just playing via software.
Intel broke their drivers, similar to the problem that NVIDIA had quite recently.
For some reason, EVR tries to accept a 10-bit/16-bit input (P016 in this case), but it fails at it, resulting in overall playback failure.
NVIDIA had the same problem a few weeks back, when a driver update caused P010 to be accepted by EVR, but EVR did not handle it properly and failed.
Someone should bring this to Intels attention.
You can work around this problem by disabling P010 and P016 output in LAV if you use EVR.
wanezhiling
17th January 2015, 17:02
Maybe microsoft will make something big in the future, so inform these GPU manufacturers of preparation in advance. :p
Nintendo Maniac 64
17th January 2015, 21:54
There are nightly builds (http://files.1f0.de/lavf/nightly/) now, at least anytime there's a change. (Horray!) I've had no problems with the most recent one so far.
Fun fact: the DLLs and stuff in that installer seem to be perfectly compatible with MPC-HC.
In other words, if you run the installer in something like sandboxie, you can copy the contents from the x86 and/or x64 folder into the LAVFilters and/or LAVFilters64 folders in the MPC-HC directory and everything will "just work".
Now I can finally use those 32bit VP9 optimizations for glorious 1080p 60fps VP9 interpolated to 120fps, all with black frame insertion to boot!
(previously 1080p 60fps VP9 was too intensive to even use the lowest quality & fastest interpolation)
ryrynz
17th January 2015, 23:27
There are nightly builds (http://files.1f0.de/lavf/nightly/) now, at least anytime there's a change.
These aren't udpdated nightly or even weekly? Last update was the 6th.
nevcairiel
17th January 2015, 23:30
These aren't udpdated nightly or even weekly? Last update was the 6th.
If nothing changes in the code, there are no new builds, obviously.
ryrynz
17th January 2015, 23:33
If nothing changes in the code, there are no new builds, obviously.
Ahhh, I see.. those changes were made within 24 hours. :p
zerowalker
18th January 2015, 09:33
Nearcarrier, i got answer from bLight (Zoom Player) about Quick Sync and Slow Play. He says it's the filter that's the culprit most likely, as Zoom Player only tells the video to play at the rate the filter states.
Even if it works on MPC-HC he says it may be the culprit.
So is it something you can look at?
Thanks
EDIT: Noted, MPC-HC only works with the internal version of LAV Filter.
EDIT2: Okay it was cause the internal used DXVA2 Copy-Back. Quick Sync never works.
NikosD
18th January 2015, 12:00
Fun fact: the DLLs and stuff in that installer seem to be perfectly compatible with MPC-HC.
In other words, if you run the installer in something like sandboxie, you can copy the contents from the x86 and/or x64 folder into the LAVFilters and/or LAVFilters64 folders in the MPC-HC directory and everything will "just work".
Nice.
You can grab the .zip version of nightly builds from betaking here http://pan.baidu.com/s/1gd1its3#dir/path=%2F%E8%87%AA%E7%BC%96%E8%AF%91%E8%BD%AF%E4%BB%B6 and you can just copy-paste the unzipped content to LAVfilters/LAVfilters64, as you described.
So, we don't have to wait for a new MPC-HC nightly, only to use a new version of internal LAV nightly.
We can manually update MPC-HC ourselves.
Fun fact 2:
In the About box of MPC-HC, the nightly build version of LAV filters is recognized properly with the new version number, after the manual update.
Gravitator
18th January 2015, 12:28
Привет,
girl's day - darling.hevc.1080p.60fps.mp4 (https://yadi.sk/d/qE_vlYMNc8y2q) (direct download (https://zima108g.storage.yandex.net/rdisk/99477aa7fff1035ace0695744638214a/54bba3d1/ce78-FXJXXMKmTzBgI1VmNl9gHbjCxBkw_fgT2mObIhdu56-yuzwZm4gUTU37g4nj-DfXcv7H7tGoAb3vVMg_w==?uid=0&filename=girl%27s%20day%20-%20darling.hevc.1080p.60fps.mp4&disposition=attachment&hash=NGMKIfxsNJAXJiIO/JjqU7nOuyuXZLnEDmGUOJXvtWQ%3D&limit=0&content_type=video%2Fmp4&fsize=272151390&hid=a0a54b1bebc53cd2447da67f9fbf394c&media_type=video&rtoken=cc71142ba7d4e86abe013c146898df9d&rtimestamp=54bb6b91&force_default=no)) > HEVC 8bit played better after DXVA2 native (through cuda sound out of sync).
MPC-HCx32 v1.7.7, LAV v0.63.0.48, madVR v0.87.4, Win7x64, Core2Duo E6600 3.45GHz, GTX 750 d344.11, DDR3 8GB.
mindbomb
18th January 2015, 23:21
Is hardware decoding of VP8 even useful? I mean, I've done pure software decoding of 720p 30fps VP8 on the likes of a 1.6GHz first gen single core Intel Atom, a 2GHz Pentium 4 Northwood, and a 1.7GHz Athlon XP Thoroughbred.
I've found it problematic actually, with a low clocked athlon x2, and playing the video through chrome's html5. That might have been more an issue with chrome's decoder though.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.