View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
NikosD
28th April 2016, 17:14
It's VLD because DXVA Checker says so and the CPU usage is almost 0% in Decode mode.
Also, the decoding speed is impressive even for 1080p MPEG2 clips.
Dodgexander
28th April 2016, 21:01
I am using MPC-HC and LAV filters to watch live TV. When using the Intel quicksync decoder in LAV Video the aspect ratio of mpeg2 channels are always read incorrectly as 4:3 rather than 16:9.
This can be resolved by setting LAV to ignore aspect ratio, to set LAV to not use hardware decoding for mpeg2 or by using any other decoder apart from quicksync.
I have tested this with EVR to make sure it wasn't MadVR causing the problem. The problem doesn't occur with h264 channels.
NikosD
29th April 2016, 13:41
The only weird thing I noticed about MS DS MPEG2 decoder is that it has IMC3 output.
I don't know if that helps anywhere.
nevcairiel
29th April 2016, 13:45
You could always check the DXVA device with DXVA Checker if it supports NV12 output, thats a requirement for LAV (and generally also the only format any other drivers/GPUs seem to output, short of P010 for 10-bit of course). There are no other rules that would block the Intel GPU from doing its job.
NikosD
29th April 2016, 13:53
Maybe it's one of those proprietary decoding devices that Intel supported in older HW
Aleksoid1978
29th April 2016, 14:37
As i remember - old Intel do DXVA 2.0 'IMC3' output. MPC-BE support it.
NikosD
29th April 2016, 15:31
You could always check the DXVA device with DXVA Checker if it supports NV12 output, thats a requirement for LAV (and generally also the only format any other drivers/GPUs seem to output, short of P010 for 10-bit of course). There are no other rules that would block the Intel GPU from doing its job.
It supports only IMC3, maybe that's the reason LAV doesn't support it.
As i remember - old Intel do DXVA 2.0 'IMC3' output. MPC-BE support it.
Right!
It works perfectly with both MPC-BE and standalone filters.
Update:
MPC-Be standalone filters use output NV12 and the acceleration works perfectly.
So, I don't know what's going on with LAV!
Aleksoid1978
30th April 2016, 07:31
LAV support only NV12/P010 for DXVA.
Use MadVR with LAV. MadVR does a very good HDR to SDR conversion using the metadata provided by LAV, with many options to get the best possible result on your non HDR display.
May I ask which options work best? I could only see "hdr luminance option" for now.
HDR video on regular displays look brighter. I guess there is little we could about this without affecting the video quality of non-HDR videos
I tried madVR but it doesn't still look good compared to the non-HDR version =/
rseiler
2nd May 2016, 23:52
Any idea what might be happning here? In order to get HEVC support in all players (not just VLC, for example), I switched from CoreAVC to LAV (this is in Win10, which doesn't actually have built-in support unless you have select few video cards).
All was well, until I noticed new behavior: mkv's (x264 or HEVC) all have a glitch, for lack of a better word, exactly two minutes before the end. It amounts to only a few seconds of the video essentially being skipped (video and audio), but it is annoying. It doesn't happen with mp4 files.
It's not a problem with the videos since the problem doesn't show up in VLC or MPC-HC or WMP. In fact, so far I've only been able to reproduce it in Bsplayer, but it most definitely did not have that problem when using CoreAVC, so it's something to do with LAV in conjunction with at least Bsplayer.
mel2000
3rd May 2016, 03:31
Windows 10 Home/x64
Avisynth+ (x86/x64)
VirtualDub 1.10.4 (x86/x64)
Just installed Avisynth+ (x86/x64) and VirtualDub 32 or 64 bit.
Afterwards VirtualDub threw an error with my DirectShowSource scripts until I installed LAV filters. I didn't touch any LAV configurations. However although I hear audio, I only see a partially blackened video screen.
Before PLAY button
http://i.imgur.com/1XdDhbt.jpg
After PLAY button
http://i.imgur.com/GEAkImj.jpg
Can someone recommend any configuration settings that might help? Thanks.
Afterwards VirtualDub threw an error with my DirectShowSource scripts...
Which error exactly?
Which scripts exactly?
MediaInfo analysis of the source files to be loaded?
Why DirectShowSource, despite repetitive recommendations during the last years to avoid it in favour of native AviSynth source filters (like L-SMASH Works, FFMS2, DGDec*) and use it only in cases where all native source filters fail?
Groucho2004
3rd May 2016, 08:55
Which error exactly?
Which scripts exactly?
MediaInfo analysis of the source files to be loaded?
Why DirectShowSource, despite repetitive recommendations during the last years to avoid it in favour of native AviSynth source filters (like L-SMASH Works, FFMS2, DGDec*) and use it only in cases where all native source filters fail?
Some context here (http://forum.doom9.org/showthread.php?t=173462).
mel2000
4th May 2016, 11:39
Thanks for your response LigH. I recommend that you refer to the link Groucho2004 supplied for more backstory details. Most of my Avisynth scripts are written using DirectShowSource and I would rather find out why it's no longer working than change all my scripts. I know DirectShowSource has its critics but I'm not one of them.
mel2000
4th May 2016, 21:04
This issue has been resolved with the guidance of posters in the previously mentioned thread.
I used CodecTweakTool to set the Preferred Splitters and Preferred Codecs to their default and recommended options. DirectShowSource is now working as expected in Avisynth+ and VirtualDub x86/x64. Thanks to all to replied with assistance on this issue.
nevcairiel
5th May 2016, 11:28
LAV Filters 0.68.1
LAV Splitter
- NEW: Support for reading metadata tags from MKV files (including the "3d-plane" MVC 3D tag from MakeMKV 1.9.10 and newer)
- Fixed: Improved handling of QuickTime codecs in MKV files
- Fixed: S302M audio streams with non-pcm content did not work anymore (requires an external decoder)
LAV Video
- Changed: Flags for BT.2020 are exported in DXVA2_ExtendedFormat (previously only reported to madVR, since the Windows SDK did not specify them)
- Changed: Prevent connections to the "AVI Decompressor" filter which could result in a broken image or crashes otherwise
- Fixed: Some progressive files could report the wrong FPS when software deinterlacing was turned on
- Fixed: MPEG-2 streams using "intra refresh" did not decode properly
LAV Audio
- Fixed: Decoding MPEG Audio streams from the Microsoft MPEG-1 Splitter could result in playback starting with an audible glitch
Download: Installer (both x86/x64) (https://files.1f0.de/lavf/LAVFilters-0.68.1.exe) -- Zips: 32-bit (https://files.1f0.de/lavf/LAVFilters-0.68.1.zip) & 64-bit (https://files.1f0.de/lavf/LAVFilters-0.68.1-x64.zip)
This is mostly a minor bugfix release on top of 0.68, check its release notes (http://forum.doom9.org/showthread.php?p=1759920#post1759920) if you have not done so already!
andyvt
5th May 2016, 12:59
LAV Filters 0.68.1
LAV Splitter
- NEW: Support for reading metadata tags from MKV files (including the "3d-plane" MVC 3D tag from MakeMKV 1.9.10 and newer)
- Fixed: Improved handling of QuickTime codecs in MKV files
- Fixed: S302M audio streams with non-pcm content did not work anymore (requires an external decoder)
LAV Video
- Changed: Flags for BT.2020 are exported in DXVA2_ExtendedFormat (previously only reported to madVR, since the Windows SDK did not specify them)
- Changed: Prevent connections to the "AVI Decompressor" filter which could result in a broken image or crashes otherwise
- Fixed: Some progressive files could report the wrong FPS when software deinterlacing was turned on
- Fixed: MPEG-2 streams using "intra refresh" did not decode properly
LAV Audio
- Fixed: Decoding MPEG Audio streams from the Microsoft MPEG-1 Splitter could result in playback starting with an audible glitch
Download: Installer (both x86/x64) (https://files.1f0.de/lavf/LAVFilters-0.68.1.exe) -- Zips: 32-bit (https://files.1f0.de/lavf/LAVFilters-0.68.1.zip) & 64-bit (https://files.1f0.de/lavf/LAVFilters-0.68.1-x64.zip)
This is mostly a minor bugfix release on top of 0.68, check its release notes (http://forum.doom9.org/showthread.php?p=1759920#post1759920) if you have not done so already!
Does LAV splitter support self-signed HTTPS urls?
Thanks
nevcairiel
5th May 2016, 13:46
Does LAV splitter support self-signed HTTPS urls?
Due to lack of a clear way to interact with the user to confirm verification of certificates etc, LAV does currently not verify certificates, so any HTTPS cert will work, instead of failing on untrusted certs with no way for the user to override on a case-by-case basis.
So in short, yes, it works.
andyvt
5th May 2016, 15:02
Due to lack of a clear way to interact with the user to confirm verification of certificates etc, LAV does currently not verify certificates, so any HTTPS cert will work, instead of failing on untrusted certs with no way for the user to override on a case-by-case basis.
So in short, yes, it works.
Thanks!
sdancer75
8th May 2016, 14:31
Hi
I use lav filters successfully in my direct show chain using a mfc/c++ application. I would like to give me some directions of what COM Interfaces should I use to change the audio track inside my player.
Each audio track represent a specific language.
Best regards
aufkrawall
11th May 2016, 21:20
Just for the record, as I talked about the video processor in AMD's Hawaii GPU before:
A few days ago I had a random blue screen of death while watching a Youtube 360° H.264 video in Firefox. Some years ago, AMD also had blue screen trouble with just plain 4k H.264 video (they simply turned it off in the drivers). I'm having the strong feeling that they forgot to turn off DXVA2 accel for 360° video or they didn't check it/aren't aware that this kind of video is affected as well. :devil:
As a consequence, I turned off DXVA2 video decoding in Firefox via about:config.
Btw: If Polaris 10 supports VP9 decoding in the drivers, will it automatically work without changes in LAV?
nevcairiel
11th May 2016, 21:41
Btw: If Polaris 10 supports VP9 decoding in the drivers, will it automatically work without changes in LAV?
If they support the standard VP9 DXVA2 specification from Microsoft, then it should. Assuming there are no bugs in the implementation that didn't have an impact on Intel or NVIDIA.
http://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=110383
https://aomedia.googlesource.com/aom/
strumf666
13th May 2016, 05:02
Is this codec supported by LAV?
Format: CineForm
Codec ID: V_MS/VFW/FOURCC / CFHD
Codec ID/Info: CineForm 10-bit Visually Perfect HD (Wavelet)
Duration: 48mn 22s
Width: 4 096 pixels
Height: 2 304 pixels
Display aspect ratio: 16:9
Frame rate mode: Constant
Frame rate: 23.976 fps
Scan type: Progressive
Default: Yes
Forced: No
CineForm is a proprietary codec (used by GoPro cameras) but "closed-source", which means that the developers did not release source code. Reverse engineering would be required to support it by libavcodec based software. In the current full help of a fresh "non-free" ffmpeg build created using media-autobuild_suite, there is no appearance of "CineForm"; but the Wikipedia article about libavcodec (https://en.wikipedia.org/wiki/Libavcodec) lists CineForm as supported for decoding (if that is true, then LAV Filters could support it as well, if enabled). I wonder if support for this codec requires an additional explicit option while compiling ffmpeg.
__
The matching ticket in their issue tracker (https://trac.ffmpeg.org/ticket/1087) is still open, so I believe the reverse engineering is not yet complete...
__
P.P.S.: "ffmpeg -codecs" lists support for CineForm HD. This list was not part of the "full help". That means that LAV Filters may support CFHD if it uses a current libavcodec base.
strumf666
16th May 2016, 16:32
Ok, thanks for answering.
mandarynek82
23rd May 2016, 11:19
Why hardware accelerator is not active? Win 10 x64, geforce gtx 580.
http://s6d7.turboimg.net/t/27537384_Snap1.jpg (http://www.turboimagehost.com/p/27537384/Snap1.jpg.html) http://s6d7.turboimg.net/t/27537385_Snap2.jpg (http://www.turboimagehost.com/p/27537385/Snap2.jpg.html)
not all files can be hardware decoded.
what file are you trying to play?
kolak
23rd May 2016, 12:52
CineForm is a proprietary codec (used by GoPro cameras) but "closed-source", which means that the developers did not release source code. Reverse engineering would be required to support it by libavcodec based software. In the current full help of a fresh "non-free" ffmpeg build created using media-autobuild_suite, there is no appearance of "CineForm"; but the Wikipedia article about libavcodec (https://en.wikipedia.org/wiki/Libavcodec) lists CineForm as supported for decoding (if that is true, then LAV Filters could support it as well, if enabled). I wonder if support for this codec requires an additional explicit option while compiling ffmpeg.
__
The matching ticket in their issue tracker (https://trac.ffmpeg.org/ticket/1087) is still open, so I believe the reverse engineering is not yet complete...
__
P.P.S.: "ffmpeg -codecs" lists support for CineForm HD. This list was not part of the "full help". That means that LAV Filters may support CFHD if it uses a current libavcodec base.
Decoding has been "cracked" and there is support in lastest ffmpeg (since 3 months or so): 10bit YUV as well as 12bit RGBA.
sdancer75
23rd May 2016, 18:12
The following error happens VFW_E_CANNOT_CONNECT (0x080040217) on a machine with XP Service Pack 3 when I try to manually connect LavSplitter output with LavVideo input. I tested this directly using graphstudionext_0_7_0_430 and with no any media players software.
I DECLARE from the beggining that I have done a brand new DirectX 9 installation and I restarted the machine. So advices like missing directx files are not correct. Do I NEED to install an extra codecs like for mp4, mkv ie to make it work ?
Can LavFilters create log files to debug such kind of errors ? I tried with older LAV filters version ie .60 as well as with the newest one 0.68.1.
http://forum.doom9.org/attachment.php?attachmentid=15408&stc=1&d=1464023368
15408
filler56789
23rd May 2016, 19:04
The following error happens VFW_E_CANNOT_CONNECT (0x080040217) on a machine with XP Service Pack 3 when I try to manually connect LavSplitter output with LavVideo input. I tested this directly using graphstudionext_0_7_0_430 and with no any media players software.
Possibly the actual problem is in GraphStudioNext itself, and not in LAV Filters... I have just seen that GsNEXT has 2 problems, one with the Time Measure filter + CLCVD.AX from PDVD-14, and another with LAV Splitter + MainConcept's VC-1 Decoder. This latter issue does not happen when I use the original Graphstudio.
FWIW — OS = Windows 7 x64.
sdancer75
23rd May 2016, 19:15
Possibly the actual problem is in GraphStudioNext itself, and not in LAV Filters... I have just seen that GsNEXT has 2 problems, one with the Time Measure filter + CLCVD.AX from PDVD-14, and another with LAV Splitter + MainConcept's VC-1 Decoder. This latter issue does not happen when I use the original Graphstudio.
FWIW — OS = Windows 7 x64.
Hi,
Thanks for your answer. This is not true. I am using this DShow filter chain in my C++ app and it has the same problem. I just use graphedit to simplify and isolate the problem. I wanted to be sure that the problem is not caused from my app.
Regards,
PS: I am pretty sure that if I install a banch of codecs like CCCP the problem will be solved but I dont want to do this since I can not force the user the install codecs that maybe will not use. I just need to find the root of the problem.
mandarynek82
23rd May 2016, 19:29
not all files can be hardware decoded.
what file are you trying to play?
Any file, vob, mkv, mp4, mpeg etc.
Only in DXVA copy-back mode I'am able to select hardware device and acceleration is active.
sneaker_ger
23rd May 2016, 19:33
DXVA native requires a direct connection to a DXVA compatible renderer like EVR or madVR. "Direct" means no filters like vsfilter/DirectVobSub between LAV Video and renderer. CUVID on Windows 10 is known to be problematic. (https://github.com/Nevcairiel/LAVFilters/issues/69)
Just use DXVA copy-back or software decoding unless you have a good reason not to.
mandarynek82
23rd May 2016, 21:10
DXVA native requires a direct connection to a DXVA compatible renderer like EVR or madVR. "Direct" means no filters like vsfilter/DirectVobSub between LAV Video and renderer. CUVID on Windows 10 is known to be problematic. (https://github.com/Nevcairiel/LAVFilters/issues/69)
Just use DXVA copy-back or software decoding unless you have a good reason not to.
I don't have vsfilter/DirectVobSub between LAV Video and renderer. I use MPC HC and madvr, nothing more.
clsid
23rd May 2016, 21:49
Only in DXVA copy-back mode I'am able to select hardware device and acceleration is active.That is normal. DXVA2 native always uses the primary device. Do you have multiple devices?
DXVA2 copy-back is the better choice anyway if you use madVR. The copy-back implementation of LAV is faster than the internal one of madVR.
sdancer75
24th May 2016, 15:18
The following error happens VFW_E_CANNOT_CONNECT (0x080040217) on a machine with XP Service Pack 3 when I try to manually connect LavSplitter output with LavVideo input. I tested this directly using graphstudionext_0_7_0_430 and with no any media players software.
I DECLARE from the beggining that I have done a brand new DirectX 9 installation and I restarted the machine. So advices like missing directx files are not correct. Do I NEED to install an extra codecs like for mp4, mkv ie to make it work ?
Can LavFilters create log files to debug such kind of errors ? I tried with older LAV filters version ie .60 as well as with the newest one 0.68.1.
http://forum.doom9.org/attachment.php?attachmentid=15408&stc=1&d=1464023368
15408
Any recommendation ? I can not use LAVfilters in XP machines.
Regards,
Any recommendation ? I can not use LAVfilters in XP machines.
Try to disable HWA for video decoding in LAV Video (set it to 'none'). LAV doesn't support DXVA1 and XP doesn't support DXVA2.
sdancer75
24th May 2016, 19:44
Try to disable HWA for video decoding in LAV Video (set it to 'none'). LAV doesn't support DXVA1 and XP doesn't support DXVA2.
Thanks, I will try it tommorow in the office, but I think default is none right ?
PS 1:I will try to play with the LavVideo Options
PS 2:I see a tab in Lav Filters with the name DbgLog. I can not make it to work. Can someone help on this ?
Regards,
mandarynek82
24th May 2016, 20:39
That is normal. DXVA2 native always uses the primary device. Do you have multiple devices?
DXVA2 copy-back is the better choice anyway if you use madVR. The copy-back implementation of LAV is faster than the internal one of madVR.
Multiple devices? That's mean GPU in CPU and PCI-E GPU? Yes. But I can't select hardware device in LAV. Only in DXV2 mode (copy-back) I am able to select GeForce.
sdancer75
25th May 2016, 15:37
The following error happens VFW_E_CANNOT_CONNECT (0x080040217) on a machine with XP Service Pack 3 when I try to manually connect LavSplitter output with LavVideo input. I tested this directly using graphstudionext_0_7_0_430 and with no any media players software.
I DECLARE from the beggining that I have done a brand new DirectX 9 installation and I restarted the machine. So advices like missing directx files are not correct. Do I NEED to install an extra codecs like for mp4, mkv ie to make it work ?
Can LavFilters create log files to debug such kind of errors ? I tried with older LAV filters version ie .60 as well as with the newest one 0.68.1.
http://forum.doom9.org/attachment.php?attachmentid=15408&stc=1&d=1464023368
15408
Hi,
Problem solved. I had to check, all the video formats in the tab "Formats" of the Lav Video Decoder Properties. So, now I have to do this programmatically under my C++ application and not manually using the properties tab.
Another issue it was the logging of ALL Lav filters that someone can find inside the tab "DbgLog". As I read in the documentation, this is enabled only in debug compilation of the filters, so it will not work in the release compilation that everyone is using in their system.
Regards,
filler56789
25th May 2016, 20:52
Problem solved. I had to check all the video formats in the tab "Formats" of the Lav Video Decoder Properties.
http://forum.videohelp.com/attachments/2671-1279232225/uglylol.gif
Another issue it was the logging of ALL Lav filters that someone can find inside the tab "DbgLog". As I read in the documentation, this is enabled only in debug compilation of the filters
Obviously :)
sdancer75
27th May 2016, 13:06
http://forum.videohelp.com/attachments/2671-1279232225/uglylol.gif
Obviously :)
Thanks to Qaq which gave me the idea to search for adjustments inside the LavFilter. I have been searched for general system issues like missing libraries .....:)
How do the software deinterlacing algorithms compare to the CUVID one quality wise? (I'm guessing Weston complex is the best?)
I'm forced to use SW deinterlacing because the HW deinterlacer wouldn't work with software decoding. (And these days my gpu decoding is slower than my cpu, and it's too much of a nuisance changing to and back for interlaced video)
your video renderer should be able to run hardware deinterlancing.
DragonQ
30th May 2016, 18:08
How do the software deinterlacing algorithms compare to the CUVID one quality wise? (I'm guessing Weston complex is the best?)
I'm forced to use SW deinterlacing because the HW deinterlacer wouldn't work with software decoding. (And these days my gpu decoding is slower than my cpu, and it's too much of a nuisance changing to and back for interlaced video)
Based on my tests, hardware > YADIF > Weston.
SamuelMaki
1st June 2016, 15:54
Based on my tests, hardware > YADIF > Weston.
Which manufacturer (AMD, Intel or nVidia)? I myself find YADIF x2 to be the best, but Weston Complex gets so close I just use it due to being more lightweight.
DragonQ
1st June 2016, 16:41
Which manufacturer (AMD, Intel or nVidia)? I myself find YADIF x2 to be the best, but Weston Complex gets so close I just use it due to being more lightweight.
Depends which machine I'm using but my HTPC uses nVidia and that is slightly better than YADIF for my test material (sports). The difference between YADIF and Weston is larger IMO.
Kotik
3rd June 2016, 04:26
Hi Nev,
Any chance on adding support for demuxing MVC muxed into a .m2ts
Since all my collection is muxed with tsmuxer into .m2ts and that includes 3D movies aswell.
Previously Lav splitter was demuxing only the H.264 stream and i was able to watch the movie in 2D but i would also like to test the newly added 3D capabilities of MADVR and remuxing my whole movie collection into .mkv will take ages.
mandarynek82
3rd June 2016, 21:12
Multiple devices? That's mean GPU in CPU and PCI-E GPU? Yes. But I can't select hardware device in LAV. Only in DXV2 mode (copy-back) I am able to select GeForce.
Can somebody tell me why I'm able to use my GeForce for hardware acceleration only in DXVA2 copy-back mode?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.