View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
mindbomb
19th October 2012, 22:32
alright, thanks for clearing that up.
asasadad_1
20th October 2012, 05:31
LAV Audio Decoder don't decode AAC-LD,ffdshow audio decoder(libfaad2) ok.
sample (http://streams.videolan.org/issues/3157/AAC-LD_inMP4.mp4)
nevcairiel
20th October 2012, 06:02
LAV Audio Decoder don't decode AAC-LD
AAC-LD is simply not supported at this time, and since i know nothing about AAC itself, i won't be implementing it. Maybe one day someone contributes to ffmpeg to allow it to decode AAC-LD.
Since VLC uses the same decoding library, re-posting samples from their bug reports is really only a waste of my time.
asasadad_1
20th October 2012, 07:29
AAC-LD is simply not supported at this time, and since i know nothing about AAC itself, i won't be implementing it. Maybe one day someone contributes to ffmpeg to allow it to decode AAC-LD.
Since VLC uses the same decoding library, re-posting samples from their bug reports is really only a waste of my time.
FFmpeg can make use of the Fraunhofer AAC library for AAC.
http://sourceforge.net/projects/opencore-amr/
VFR maniac
20th October 2012, 09:53
FFmpeg can make use of the Fraunhofer AAC library for AAC.
http://sourceforge.net/projects/opencore-amr/
According to SFLC, fdk-aac's license is incompatible with GPL.
So, someone would think LAVAudio with fdk-aac should be undistributable.
nevcairiel
20th October 2012, 09:59
LAV Filters 0.52
LAV Splitter
- Improved IO performance on network sources
- Added an option to configure the maximum memory usage of the frame queues
- Support ALAC in MKV
- Support SRT subtitles in AVI
- Improved raw video support in combination with LAV Video
LAV Video
- Support for DVD Video decoding
- Slight GPU memory usage reduction with DXVA2 Native
- Fixed video corruption after seeks with VP3/Theora
- Fixed decoding of "old" H.264 4:4:4 lossless files
- More strict handling of output pixel formats, only enabled formats are allowed for output
- QuickSync: Improved compatibility with new driver series
- Improved support for VC-1 with the SageTV MpegDemux
LAV Audio
- Fixed a few issues with audio mixing
- Some channels would occasionally be mixed twice, causing incorrect audio levels
- Downmixing 8ch to stereo could crash on some systems
- Increased maximum LFE coefficient to 3.0 and fixed scale to be consistent with surround/center coefficients
- Added downmixing to Mono
- Clipping protection is no longer reset on seeks
- Added support for Opus
- Fixed excessive memory allocations when decoding MPEG4-ALS
Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.52.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.52.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.52-x64.zip)
DVD Video
This release adds the ability to decode DVD video with LAV Video. The complicated part about this feature was that the video decoder needs to handle the DVD menu, which is a bit tricky.
The Menu seems to be working OK most of the time, however not 100% perfect yet on some discs.
Limitations:
- QuickSync does not yet support DVD video playback, and will fallback to software decoding
- DXVA2-Native will decode the DVD video content, however you will not be able to see subtitles or menu overlays due to the nature of how DXVA works (image stays in the GPU)
I've primarily tested DVD playback on Windows 7, with the standard Microsoft DVD Navigator, and EVR, so this combination is the most tested and works quite well.
madVR was also tested a bit, however madVR still has some issues with menu rendering on still-frame menus - in some cases the menu highlights won't update properly, but not to worry, you can still simply click the menu and the movie will start.
If you find it too unstable and are in dire need of DVD watching, there is also a switch on LAV Video's "Format" tab that allows you to turn off DVD support for the time being.
Please report any serious issues you have, though!
... and everything else
Most of the time spent on 0.52 was for DVD support, but of course there is also a long list of other fixes and improvements. Most notable audio mixing was fixed quite a bit to no longer screw up mixing in some situations and give a much more predictable and correct result.
LAV Audio also got support for the Opus codec, which seems to be a new rising star on the speech codec front, but is also pretty good at encoding any content at low bitrates.
As always, please report any regressions as soon as possible, and with as many details as possible - and of course any other bugs which are not regressions you can also report. ;)
Have fun!
wanezhiling
20th October 2012, 10:06
:p First
DragonQ
20th October 2012, 10:06
More stricter? :p
nevcairiel
20th October 2012, 10:10
More stricter? :p
I hate to choose, so i combined both forms. Win-win?
Sebastiii
20th October 2012, 10:41
Thanks Nevcairiel :)
Plutotype
20th October 2012, 11:02
Thanks, huge work behind this release. Will test the features right now.
fastplayer
20th October 2012, 11:03
Thanks for 0.52, nev! Have a nice weekend! :)
andybkma
20th October 2012, 11:04
Thanks, this new version .52 fixes the looping (repeat) problem I was having with .flv files encoded with VP6 or Sorenson Spark
nussman
20th October 2012, 11:37
Thanks for 0.52!
- DXVA2-Native will decode the DVD video content, however you will not be able to see subtitles or menu overlays due to the nature of how DXVA works (image stays in the GPU)
In FFDShow DXVA there is an option "post processing - surface overlay" to support subtitles and DXVA.
Subtitel works fine with LAV Splitter and FFDShow DXVA.
Is this not possible for LAV-Video?
nevcairiel
20th October 2012, 11:42
In FFDShow DXVA there is an option "post processing - surface overlay" to support subtitles and DXVA.
Subtitel works fine with LAV Splitter and FFDShow DXVA.
That depends on your definition of "fine". If you are happy with the image corruption this causes, sure. :p
You can't modify the surfaces because they are still used as reference frames (it should be most obvious with H264, not so strong with vc1/mpeg2)
There may be ways to solve this (make the GPU copy the surface instead) but all in due time.
madshi
20th October 2012, 12:13
Thank you, I especially like "only enabled formats are allowed for output". That will be helpful, maybe for users, but definitely for development testing.
Is there a chance that you could make PDB files available as a separate 7zip/rar/zip download for official builds? I'm asking because I've seen rare crashes in LAV Splitter related to IAMStreamSelect. Without PDB files I can't provide a proper bug report / crash stack trace. If I had PDB files, I could provide you with much more helpful information about where the crash occurred exactly. That said, the LAV version I was using was relatively old, so maybe the issue is already gone in v0.52. Still, it wouldn't harm to be able to get proper stack traces for LAV, in cases I run into any crashes (or freezes) in the future.
nevcairiel
20th October 2012, 12:36
Is there a chance that you could make PDB files available as a separate 7zip/rar/zip download for official builds?
Sure.
I will try to remember to do that (i should probably create a script to package everything into its individual zips).
Here it is for 0.52 official:
x86: http://files.1f0.de/lavf/LAVFilters-0.52-symbols.zip
x64: http://files.1f0.de/lavf/LAVFilters-0.52-x64-symbols.zip
Also added them to the first post.
Because ffmpeg is build with gcc, i sadly do not have debug symbols for those libs.
In the future it may be possible to build debug versions of the libs with MSVC, however at this time the MSVC builds are still significantly slower so for release builds its not viable yet. But if one specific crash is reproducable and happens in one of the libs, such a build could be used to try to pinpoint it. :)
DragonQ
20th October 2012, 12:51
0.52 breaks watching TV using DXVA2 Native in MediaPortal for me. Both MPEG2 SD and H.264 HD channels are really jerky and the EVR graph is all over the place. Reverting to 0.51.3 fixed it. Using latest nVidia drivers by the way.
madshi
20th October 2012, 13:00
Here it is for 0.52 official:
x86: http://files.1f0.de/lavf/LAVFilters-0.52-symbols.zip
x64: http://files.1f0.de/lavf/LAVFilters-0.52-x64-symbols.zip
Also added them to the first post.
Because ffmpeg is build with gcc, i sadly do not have debug symbols for those libs.
Thanks! PDB files for LAV itself should be good enough for now.
nevcairiel
20th October 2012, 13:21
0.52 breaks watching TV using DXVA2 Native in MediaPortal for me. Both MPEG2 SD and H.264 HD channels are really jerky and the EVR graph is all over the place. Reverting to 0.51.3 fixed it. Using latest nVidia drivers by the way.
Works just fine for me.
In general, there really haven't been much changes to how the decoder works.
Edit:
Actually, it fails to use LAV for H.264 content with MediaPortal for me, the media type seems royally screwed up. Nothing i can do.
DragonQ
20th October 2012, 13:45
It was definitely using LAV for video, according to the stats overlay. The graph didn't ever show a flat line.
nevcairiel
20th October 2012, 13:46
Considering it fails to even properly set a H.264 media type here, i'll jsut call it a media portal bug and call it a day. Who knows what else it screws up?
DragonQ
20th October 2012, 13:54
Do you have LAV set for everything in MediaPortal Configuration?
nevcairiel
20th October 2012, 14:03
Of course.
I can see it trying to use LAV for H264, but LAV fails because the media type is just broken and initialization fails.
On mpeg2 channels, the EVR graph looks fine, well at least the green one, the red one is odd because my screen is 60hz and tv is 25fps.
Edit: After relaxing some checks in LAV, it acceps the H264, and it still decodes just smooth.
I can't fix things without reproducing them :(
jwvdbosch
20th October 2012, 14:03
several Video formats are playing upsidedown using mpc-hc 1.6.3.4992 from xvidvideo.ru with lav filters 0.52 so i reverted back to LAVFilters 0.51.3 can you please fix this
nevcairiel
20th October 2012, 14:24
several Video formats are playing upsidedown using mpc-hc 1.6.3.4992 from xvidvideo.ru with lav filters 0.52 so i reverted back to LAVFilters 0.51.3 can you please fix this
Everything works just fine here. Sounds like you have a broken post-processor.
In any case, you should say something more about your setup (what renderer, if there are any post-processing filters), and provide a sample file if it only happens with some files.
NekoKoneko
20th October 2012, 14:50
0.52 crashes MPC-HC when trying to open avi with h264 content.
i5-3550, Windows 7 x64, video driver 9.17.10.2843, LAV Filters 0.52 x64, MPC-HC 1.6.4.6052 x64
Sample video: http://www.speedyshare.com/h8xR6/Akazukin-Chacha-OP1-Eps-1-30-Creditless-7AA0FBDB.avi
LAV Video Configuration: http://tinypic.com/r/eqs1hk/6
nevcairiel
20th October 2012, 15:03
0.52 crashes MPC-HC when trying to open avi with h264 content.
i5-3550, Windows 7 x64, video driver 9.17.10.2843, LAV Filters 0.52 x64, MPC-HC 1.6.4.6052 x64
Sample video: http://www.speedyshare.com/h8xR6/Akazukin-Chacha-OP1-Eps-1-30-Creditless-7AA0FBDB.avi
LAV Video Configuration: http://tinypic.com/r/eqs1hk/6
Works fine for me. Only difference is the video driver. Isn't that a Windows 8 driver? Does it still crash with software decoding?
NekoKoneko
20th October 2012, 15:18
Rolled back to 8.15.10.2761, now everything is OK. Strange, 9.17.10.2843 is recommended by Gigabyte for my board and W7.
Thanks nevcairiel, sorry for false alarm! :)
nevcairiel
20th October 2012, 15:19
Rolled back to 8.15.10.2761, now everything is OK. Strange, 9.17.10.2843 is recommended by Gigabyte for my board and W7.
Thanks nevcairiel, sorry for false alarm! :)
If they recommend this driver, you may want to report this problem to Eric in his own thread:
http://forum.doom9.org/showthread.php?t=162442
At the very least, he has contacts to the driver developers and can forward it.
Pat357
20th October 2012, 15:32
FFmpeg can make use of the Fraunhofer AAC library for AAC.
http://sourceforge.net/projects/opencore-amr/
FFmpeg compiled with opencore-amr also fails to decode it :
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'K:\downloads\AAC-LD_inMP4.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isom
Duration: 00:00:16.71, start: 0.000000, bitrate: 133 kb/s
Stream #0:0(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, 2 channels, s16, 127 kb/s
Metadata:
handler_name : soun
[aac @ 04a39820] Audio object type 23 is not supported.
It seems Mplayer compiled with "FAAD" can decode this.
mindbomb
20th October 2012, 15:56
idk what happened, but occasionally, dvd subtitles are misaligned, going toward the right edge of the window.
using madvr and dslibdvdnav
might have been a freak occurence, cause i can't get it to happen again.
nevcairiel
20th October 2012, 18:13
0.52 breaks watching TV using DXVA2 Native in MediaPortal for me. Both MPEG2 SD and H.264 HD channels are really jerky and the EVR graph is all over the place. Reverting to 0.51.3 fixed it. Using latest nVidia drivers by the way.
Can you maybe try this version?
I somewhat doubt that it really does anything, but its the only change directly tied to DXVA2
Only replace the LAVVideo.ax with this:
http://files.1f0.de/lavf/LAVVideo-0.52-mplivetv.zip
Also, are you sure it actually used DXVA2 for H.264 in previous versions? Depending on the screwed up media type, it may not have, and caused a fallback to software (i relaxed some checks since)
Anyway, i'll be setting up a better debug version soon with logging and everything, so maybe we can find something out then.
glorp
20th October 2012, 18:40
nev, I have a question about the new dvd support with dxva HA mode. I normally use DXVA-native for playing everyhting and through MPC. The exception is DVDs of course because I need subs and menus. Since in the past LAV didn't really work anyway for menu support I used a second copy of MPC configured to allow the DVD Navigator and MPC internal video codec as the preferred codecs and then essentially disabled LAV for that player copy. That works fine because it handles DVD menus and/or subs and all I really need to do is launch a different copy of MPC exclusively for DVDs.
So I thought I could just do that same trick now for LAV-0.52 but then realized that since the DXVA-CB is a *global* setting there's no way to change the video codec mode in the different MPC copies.
So any thoughts about maybe a way to selectively choose a video decoding mode for different situations or is that just wishful thinking?
AndreaMG
20th October 2012, 19:03
Hi Nev,
Thanks for the dvd support, unfortunately for me with MadVR (EVR is OK) it doesn't work, MPCHC tries to load the dvd but the screen remains black...The funny thing is that I usually play dvds with MadVR with no problem (without any hack in qdvd.dlls) by simply enabling Cyberlink Video/SP decoder (PDVD10) in the external filters. Here is my setup:
Win764 - i72630QM - GTX460M - Latest Nvidia drivers - MPCHC (x86) - Lav filters - FFdshow raw video filter - Avysynth (SVP) - Reclock - AnydvdHD
In MPCHC both internal source and transform filter are all unchecked, external filters merit list:
- Lav Splitter
- Lav Video Decoder
- Cyberlink Video/SP decoder (PDVD10)
- FFdshow raw video filter
- Lav Audo decoder
- dvd navigator
If I check under Lav video decoder/Formats/Enable dvd video decoder with MadVR render it brakes the chain and Cberlink video decoder is not triggered any more...:(
Nev, I think you should say in the notes of the new release that in order for the new feature to work you have to "refresh" the externl filters under MPCHC ;) Thanks a lot for your work!!
blackjack12
20th October 2012, 19:05
Nev,
Recognize the unstable builds, but want to note that I have seen the same thing.
Crashes in both MPC-HC and MPC-BE:
Windows 8 RTM
AMD Radeon 6570
Driver ver. 12.8
LAV 51.3-53
Crashes always seen when using LAV Video Decoder for VC1 content. If uncheck the VC1 decoding in LAV and use internal filters or "native" WMVideo Decoder DMO the media players do not crash.
See no issue with another system with Radeon 4890 and Windows 7.
With NVidia you can use the native NVidia capability and there does not seem to be a problem.
Hope this may be helpful in your future updates.
Keep up the great work ...
Nev,
I know you are not worried about Windows 8 yet but the public release is this week and I will confirm again and with 0.52 that there is a problem with VC-1 playback with LAV with MPC-HC and MPC-BE.
LAV crashes with both MPC-HC and MPC-BE when playing VC-1 content with LAV and AMD Radeon processors. the only way to play correctly for me has been to disable VC-1 video decoding with LAV and use internal filters with MPC-HC and MPC-BE.
This is when using the formats, vc1 checked and "Use Microsoft WMV9 DMO decoder for WMV3 and VC-1".
Uncheck vc1 and allow the internal filters and it works fine.
With NVidia CUVID and not checking "Use Microsoft WMV9 DMO..." and it works fine.
Just something to note when you actually look at a Windows 8 setup.
I am using the latest and fully updated RTM of Windows 8. It has been solid as a rock for me during weeks of testing. People can argue or decide on the newer methods to interface but the underlying stuff is pretty darn good.
SamuriHL
20th October 2012, 19:18
Nev my development env is completely screwed up. I'm getting this:
>c:\dev\projects\lavfilters\ffmpeg\libavutil/common.h(39): fatal error C1083: C
nnot open include file: 'libavutil/avconfig.h': No such file or directory
Any ideas as to what the hell I've screwed up? Thanks!
mkanet
20th October 2012, 19:40
Nev, you did it! I just tried it, for the first time EVER SageTV client on Windows is able to decode VC1 without stuttering; and, very, very little CPU utilization. I really appreciate it. I'll go ahead and share this release with the SageTV community!
LAV Filters 0.52
[CODE]
LAV Video
- Improved support for VC-1 with the SageTV MpegDemux
nevcairiel
20th October 2012, 19:53
So any thoughts about maybe a way to selectively choose a video decoding mode for different situations or is that just wishful thinking?
Not going to happen any time soon. You could just turn off DVD support in LAV if that solves your issues for now.
Thanks for the dvd support, unfortunately for me with MadVR (EVR is OK) it doesn't work, MPCHC tries to load the dvd but the screen remains black...
You should simplify your setup to limit which component could be causing the issues.
Turn off ffdshow raw/SVP, and see if anything changes.
LAV crashes with both MPC-HC and MPC-BE when playing VC-1 content with LAV and AMD Radeon processors. the only way to play correctly for me has been to disable VC-1 video decoding with LAV and use internal filters with MPC-HC and MPC-BE.
This is when using the formats, vc1 checked and "Use Microsoft WMV9 DMO decoder for WMV3 and VC-1".
I tested this in a VM running Windows 8 RTM, and it does work just fine for me. As long as you dont activate any hardware acceleration, which GPU you use should not have any influence on the matter.
Just to make sure, you had hardware acceleration turned off, right?
In any case, MPC-HC has this debug dump feature, which saves crash dumps. Download the LAV debug symbols and put them into the LAV directory, cause it to crash, upload the dump file for me?
You can get the symbols in the first post in this thread.
Nev my development env is completely screwed up. I'm getting this:
That error means you didnt compile ffmpeg. Note that i replaced the scripts to do that.
Dodgexander
20th October 2012, 20:01
I am using MPC to play back .wtv files recorded in windows media center. The files contain mpeg2 pal video and 192kbps 48khz stereo. I have disabled the stream buffer source and enabled .wtv in lav splitter. The lav splitter is being used, but for some reason occasionally there is an audio stutter via spdif, in some programmes more heard more often than others. Its kind of a flickering sound. I haven't heard this until recently, so I wondered if it could be induced by something that has changed in a recent update.
My hardware is a Xonar HDAV and I have reclock as the renderer. The Same occurs without reclock in the chain.
Any suggestions?
Could it be a discontinuity in the recording? I would advise running recordings through TS-Doctor but WTV is a proprietary format so you'd need to convert them to TS first.
I downloaded ts doctor, converted a test file using video re-do to .ts (just stream copied) and ran it through doctor. No errors were found and the "fixed" file from doctor still exhibits the same problem. Bizarre how this has only started happening.
AndreaMG
20th October 2012, 20:06
You should simplify your setup to limit which component could be causing the issues.
Turn off ffdshow raw/SVP, and see if anything changes.
Disabling FFdshow (and SVP consequently) does not change it:( No dvd playback and block in video decoders with lowest merit
nevcairiel
20th October 2012, 20:08
Disabling FFdshow (and SVP consequently) does not change it:( No dvd playback and block in video decoders with lowest merit
Do you have any special LAV configuration? Maybe only RGB output active?
DVDs are typically interlaced, and madVR doesn't deal with interlaced RGB, so usually you end up with a black screen.
To solve this, you may need to deinterlace it before with YADIF - or enable the Y'CbCr output modes in LAV (specifically NV12 for DVDs)
glorp
20th October 2012, 20:33
Not going to happen any time soon. You could just turn off DVD support in LAV if that solves your issues for now.
Actually that works brilliantly now. Disabling DVD support allows the MS DVD navigator to split and handle menus and the MPC internal non-DXVA MPEG2 codec to handle decoding so it gets subs + menus. But LAV still handles DXVA-native decoding of MPEG2 in non-DVD streams plus the same DXVA-native for h.264 & VC1/EVR-CP. Lets me play everything with one MPC configuration.
Thanks nev for another outstanding update.
AndreaMG
20th October 2012, 20:34
Do you have any special LAV configuration? Maybe only RGB output active?
Thanks Nev, I tried also "untouched", but nothing...
Here the screenshots of my lav settings: Thanks again :)
nevcairiel
20th October 2012, 20:36
Thanks Nev, I tried also "untouched", but nothing...
Here the screenshots of my lav settings: Thanks again :)
Attachments take a while to be approved here, please upload the video.png to an image hosting site, or it'll take quite a bit until i can see them.
AndreaMG
20th October 2012, 20:52
Attachments take a while to be approved here, please upload the video.png to an image hosting site, or it'll take quite a bit until i can see them.
Sorry:p
http://imageshack.us/a/img560/6391/videorme.pnghttp://imageshack.us/a/img201/4296/audioh.pnghttp://imageshack.us/a/img197/8516/splitterc.png
DragonQ
20th October 2012, 20:54
Can you maybe try this version?
I somewhat doubt that it really does anything, but its the only change directly tied to DXVA2
Only replace the LAVVideo.ax with this:
http://files.1f0.de/lavf/LAVVideo-0.52-mplivetv.zip
Also, are you sure it actually used DXVA2 for H.264 in previous versions? Depending on the screwed up media type, it may not have, and caused a fallback to software (i relaxed some checks since)
Anyway, i'll be setting up a better debug version soon with logging and everything, so maybe we can find something out then.
Thanks, I'll try this later (might not get a chance for a few days though). There's no actual way of knowing what mode LAV is using in MediaPortal but I recorded a drop in power usage when switching from CUVID to DXVA2 Native so surely it was using it? I'm pretty sure GPU usage changes when switching from None to DXVA2 Native too, but I can check this again.
nevcairiel
20th October 2012, 20:55
Thanks Nev, I tried also "untouched", but nothing...
Here the screenshots of my lav settings: Thanks again :)
The settings look fine. I tried the exact same settings, and playback is flawless for me.
There's no actual way of knowing what mode LAV is using in MediaPortal but I recorded a drop in power usage when switching from CUVID to DXVA2 Native so surely it was using it? I'm pretty sure GPU usage changes when switching from None to DXVA2 Native too, but I can check this again.
Since CUVID causes the GPU to enter its full performance mode, its certainly possible for CPU decoding to use less power. :o
AndreaMG
20th October 2012, 21:01
[QUOTE=nevcairiel;1596733]The settings look fine. I tried the exact same settings, and playback is flawless for me.
Well, thanks anyway, I will wait for Madshi support directly via MadvR (it should be in his to do list) and for now I will stick with Cyberlink video decoder with MadVR and dvds.
Thanks again for your time:)
Sebastiii
20th October 2012, 21:07
Thanks, I'll try this later (might not get a chance for a few days though). There's no actual way of knowing what mode LAV is using in MediaPortal but I recorded a drop in power usage when switching from CUVID to DXVA2 Native so surely it was using it? I'm pretty sure GPU usage changes when switching from None to DXVA2 Native too, but I can check this again.
The only way will be to set ffdshow video as post-process and then you can get filter setting when MP is running but the fact to add ffdshow will turn off dxva.
I will try live tv tonight on H264 + Latest LAV filter. (but i use latest GIT MP too so maybe thing was fixed on MP Side)
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.