View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
filler56789
21st October 2013, 14:35
Testing the latest build by roytam1, here go my initial findings, re..... H.265/HEVC:
the TS demuxer connects fine with the ( ¿infamous? :) ) Lentoid decoder;
however, LAV Source Filter refuses connecting not only to the Lentoid decoder, but also to MPC's Matroska Muxer and to M$'s Avi Mux :confused:
also, the HEVC Source Filter from Strongene cannot connect to the FFmpeg-based decoder...
so the question is,
¿ who is right and who is wrong ? :confused:
nevcairiel
21st October 2013, 14:42
Don't even start muxing HEVC in AVI, its just going to end badly. :P
filler56789
21st October 2013, 14:52
So I guess the right answer is, *both are wrong* :p
clsid
21st October 2013, 15:48
This HEVC sample shows corruption after seeking:
http://www.elecard.com/assets/files/other/clips/bbb_360p_c.ts
Raw streams play fine here, even with "rawvideo" disabled. Of course seeking doesn't work due to absence of duration metadata.
filler56789
21st October 2013, 16:03
so the question is,
¿ who is right and who is wrong ?
Just in order to make things as clear as possible:
the output pin of LAV Source says:
subtype = {43564548-0000-0010-8000-00AA00389B71}
formattype = FORMAT_MPEG2_VIDEO
and the output pin of the Strongene HEVC Source Filter says:
subtype = {30314D48-0000-0010-8000-00AA00389B71}
formattype = FORMAT_VideoInfo
wanezhiling
21st October 2013, 16:24
http://pan.baidu.com/s/1GHmUT
http://i1.tietuku.com/14hzpktcy.png
Google Chrome works fine.:)
nevcairiel
21st October 2013, 17:02
Please use another file host, i'm not waiting 1 hour to download a 5mb file. baidu is just horrible.
wanezhiling
21st October 2013, 17:08
:o Sorry..
http://www.sendspace.com/file/u1lece
Carpo
21st October 2013, 20:30
Has anyone managed to build lavfilters with VS 2013?
leeperry
22nd October 2013, 13:29
Hi nev, sorry to bother but is it me or there's no way of getting hardware deinterlacing with an AMD GPU on XP using LAV?
:thanks:
nevcairiel
22nd October 2013, 13:30
Use VMR-9, that'll give you hardware deinterlacing on XP.
And while there are ways to implement hardware deinterlacing before the renderer, last i tried it was extremely slow on AMD (< 10 fps), because of their architecture - not to mention that XP wouldn't even support it since its DXVA2.
leeperry
22nd October 2013, 13:38
Thanks for the swift reply.
Yeah, apparently upgrading to W7/W8 still wouldn't provide me with hardware deinterlacing using LAV. This said, I should be able to use DXVA2 copyback for H264/VC1/MPEG2 decoding, is it as flawless as CUVID or would that be a hit & miss?
And sorry for asking again but are all deinterlacers equal when running in double frame rate mode? LAV with CUVID made it so easy that I never tried to document myself and if YADIF or CUVID look the same in 50/60p then I'll be fine.
nevcairiel
22nd October 2013, 13:39
Deinterlacers can be quite different depending on their algorithm.
In my experience, DXVA2 Copy-Back usually works better then CUVID even.
leeperry
22nd October 2013, 14:04
I was hoping that differences would only be obvious in identical frame rate mode but not nearly as visible in dual frame rate mode.....so I guess nvidia do make for a better choice within a HTPC environment after all.
OK, sounds good! At least upgrading my OS would provide me with hardware decoding and I got this 2GB HD7850 for so cheap that I can't complain :)
wanezhiling
22nd October 2013, 15:05
And while there are ways to implement hardware deinterlacing before the renderer, last i tried it was extremely slow on AMD (< 10 fps), because of their architecture
:eek::eek::eek:
Which card? GCN HD7750?
leeperry
22nd October 2013, 19:22
so anyway, while that 8800GS is still fit in my HTPC I just compared a 720*576@25i DVD movie deinterlaced to 50p@50Hz with CUVID & YADIF, using those settings: http://thumbnails108.imagebam.com/28333/246bb4283324159.jpg (http://www.imagebam.com/image/246bb4283324159)
It's pretty hard to catch identical frames but I got one(mVR's dithering was disabled):
CUVID: http://thumbnails107.imagebam.com/28333/49017e283324947.jpg (http://www.imagebam.com/image/49017e283324947)
YADIF: http://thumbnails101.imagebam.com/28333/560bda283324213.jpg (http://www.imagebam.com/image/560bda283324213)
I might very well have not set LAV optimally or maybe CUVID works better on 29.97fps video content but still, I can't really say that -subjectively speaking- one looks better than the other while watching the movie. Neither of them looks like genuine 25p for that matter as they both suffer from jaggies, if anything I think I prefer the "softer" look of YADIF :o
No remorse moving to the red side of the force :devil:
madshi
22nd October 2013, 19:42
Both look bad to me. Why don't you simply force madVR into film mode for such content? Unless it's native video content? But if it's a movie, then that's unlikely...
leeperry
22nd October 2013, 20:05
Good point, I forgot that mVR can also deinterlace but that would take place after Reclock so inverse-palspeedup to 24/48p might be problematic and that was with a worst case scenario 50i DVD movie when CUVID usually looks great on 29.97@59.94 video content...I'm not sure if mVR can do double frame rate, more test to run I guess but still no remorse getting a HD7850 which was the original intent of all my questions :)
madshi
22nd October 2013, 20:46
You don't want double frame rate for movies. For 60i content that would just burn the 3:2 pulldown judder in. Of course native video content is a totally different topic. For native video content comparing YADIF vs. hardware deinterlacing makes much more sense.
DragonQ
22nd October 2013, 20:49
so anyway, while that 8800GS is still fit in my HTPC I just compared a 720*576@50i DVD movie deinterlaced to 50p@50Hz with CUVID & YADIF, using those settings: http://thumbnails108.imagebam.com/28333/246bb4283324159.jpg (http://www.imagebam.com/image/246bb4283324159)
It's pretty hard to catch identical frames but I got one(mVR's dithering was disabled):
CUVID: http://thumbnails107.imagebam.com/28333/49017e283324947.jpg (http://www.imagebam.com/image/49017e283324947)
YADIF: http://thumbnails101.imagebam.com/28333/560bda283324213.jpg (http://www.imagebam.com/image/560bda283324213)
I might very well have not set LAV optimally or maybe CUVID works better on 29.97fps video content but still, I can't really say that -subjectively speaking- one looks better than the other while watching the movie. Neither of them looks like genuine 25p for that matter as they both suffer from jaggies, if anything I think I prefer the "softer" look of YADIF :o
No remorse moving to the red side of the force :devil:
Do you have a sample? The 8800GS is pretty old so the deinterlacing algorithm may not be the best. My GT 430 detects "fake interlaced" content (25p encoded as 25i, as is often the case with broadcast TV) and deinterlaces properly (weave) even when set to 50p/60p mode. I never have to force film mode for PAL-region content.
Also, do you have High Quality Processing disabled on purpose? That might be related, no idea.
leeperry
22nd October 2013, 23:51
Sure: sample.mkv (https://mega.co.nz/#!z9532ACJ!bwoLsiiPZOEklijxDOceAV1LGThodQX6MjBxGEM6RIU)
If you could make a screenshots comparison of those blinking rooftops around 10" between mVR, YADIF and CUVID that'd be fantastic :cool:
Oh yah, I forgot about that option but it gives me instant BSOD's on XP...I guess that would help on any newer OS but 29.97@59.94 looks great, nothing like this jaggies feast.
The only real-world cases when I need deinterlacing are PAL DVD movies and 29.97@59.94 video content that magically turns in 60 actual fps, too good to be true :)
THX-UltraII
23rd October 2013, 07:20
Guys,
Just switched from a Intel HD2000 Graphics to the AMD HD7950. I see that I have 2 option for hardware decoding, NATIVE or COPY-BACK.
What is the difference between them?
Devrim
23rd October 2013, 08:54
Anyone here who makes daily LAV Filters builds with updated ffmpeg?
sneaker_ger
23rd October 2013, 09:21
I'm trying to play HEVC-in-MP4 using MPC-HC but LAV Splitter Source can't find a suitable connector for HVC1. If I manually build the graph in GraphEdit it works just fine. Anything I should look out for?
nevcairiel
23rd October 2013, 09:24
Make sure you re-register LAV Video, only then DirectShow learns about new types being added for automatic connection.
sneaker_ger
23rd October 2013, 09:27
Thx, that did the trick.
MokrySedeS
23rd October 2013, 10:44
Sure: sample.mkv (https://mega.co.nz/#!z9532ACJ!bwoLsiiPZOEklijxDOceAV1LGThodQX6MjBxGEM6RIU)
If you could make a screenshots comparison of those blinking rooftops around 10" between mVR, YADIF and CUVID that'd be fantastic :cool:
I can do that for you:
DXVA2 (copy-back) + YADIF 50p/60p (Video)
http://thumbnails108.imagebam.com/28342/9f7f35283411152.jpg (http://www.imagebam.com/image/9f7f35283411152) & http://thumbnails108.imagebam.com/28342/60ba1c283411214.jpg (http://www.imagebam.com/image/60ba1c283411214)
CUVID 50p/60p (Video)
http://thumbnails102.imagebam.com/28342/64ec6f283411280.jpg (http://www.imagebam.com/image/64ec6f283411280) & http://thumbnails101.imagebam.com/28342/851b98283411381.jpg (http://www.imagebam.com/image/851b98283411381)
DXVA2 (copy-back) + madVR (Video)
http://thumbnails104.imagebam.com/28342/e22d7a283411466.jpg (http://www.imagebam.com/image/e22d7a283411466) & http://thumbnails106.imagebam.com/28342/ae9e44283411531.jpg (http://www.imagebam.com/image/ae9e44283411531)
DXVA2 (copy-back) + madVR (Film)
http://thumbnails102.imagebam.com/28342/34e563283411639.jpg (http://www.imagebam.com/image/34e563283411639)
GTX 650 Ti
madshi
23rd October 2013, 11:09
Interesting sample. Seems NVidia's IVTC utterly fails on this one. Shame on NVidia. FWIW, my Intel HD4000 produces identical quality to madVR's forced film mode here, but of course without decimation.
You guys go have IVTC enabled in the NVidia control panel?
leeperry
23rd October 2013, 11:15
oh cool, :thanks:
mVR leads the way as usual, what a surprise.
I do have IVTC enabled in the nvidia drivers but LAV would appear to override it when you select 50/60p.
Now to try a video 29.97fps sample :devil:
nevcairiel
23rd October 2013, 11:17
Now madVR just needs to figure out film mode on its own, its pretty annoying if you have to activate it yourself... :)
madshi
23rd October 2013, 11:24
Now madVR just needs to figure out film mode on its own, its pretty annoying if you have to activate it yourself... :)
Yes, absolutely. It's one of the many many things on my to do list... :D One key problem is that the current algorithm runs on the CPU, but I'd really like it to run on the GPU. But that's not (efficiently) possible with pixel shaders. I'll need to use CUDA/OpenCL for that. And that's not easy, especially because accessing things like NV12 with CUDA/OpenCL is troublesome. E.g. AMD still doesn't support D3D9 / OpenCL interop at all. CUDA still doesn't support accessing NV12 D3D9 surfaces etc etc. Loads of problems, and I might have to write 3 different solutions for AMD, NVidia and Intel... :(
leeperry
23rd October 2013, 11:30
What's the big deal with running it on the CPU? You made clear that you're using PS as much as possible because it works on all graphic cards but if deinterlacing is the opposite, then be it? It's not like mVR is a CPU hog ;)
madshi
23rd October 2013, 11:38
The big deal is that there isn't just film mode vs video mode. There's also mixed content. And there's film mode with video mode overlays. The current film mode is just a "first try" algorithm. I plan to improve it, make it per block or pixel instead of per frame. And then add my own video mode deint algorithm as well. Doing all that via CPU is not impossible, but it would cost a lot of performance and a lot of time (writing SSE2 code is time consuming). For video mode deint I'd also need good scaling/interpolation algorithms (e.g. Jinc) and that simply wouldn't perform well on the CPU. Furthermore even the current simple film mode is limited in that it only supports certain pixel formats. Moving everything to the GPU makes more sense. But it does come with its own problems (see my previous post). I will look into the whole deinterlacing/IVTC topic again some time in the future, but there are several other things I plan to do first.
Anyway, this is OT here, so let's leave it as that for now.
THX-UltraII
23rd October 2013, 11:39
What's the big deal with running it on the CPU? You made clear that you're using PS as much as possible because it works on all graphic cards but if deinterlacing is the opposite, then be it? It's not like mVR is a CPU hog ;)
post deleted
MokrySedeS
23rd October 2013, 12:01
You guys go have IVTC enabled in the NVidia control panel?
Actually I had it disabled, sorry about that.
DXVA2 (copy-back) + madVR (Video) + "Use inverse telecine" enabled in drivers
2x http://thumbnails106.imagebam.com/28343/8ee632283421722.jpg (http://www.imagebam.com/image/8ee632283421722)
CUVID 50p/60p (Video) + "Use inverse telecine" enabled in drivers
2x http://thumbnails106.imagebam.com/28343/a6dd4f283421974.jpg (http://www.imagebam.com/image/a6dd4f283421974)
CUVID 25p/30p (Film) + "Use inverse telecine" enabled in drivers
1x http://thumbnails108.imagebam.com/28343/ee24dd283422622.jpg (http://www.imagebam.com/image/ee24dd283422622)
DragonQ
23rd October 2013, 12:03
Haven't got time to test on my nVidia cards but the Intel HD 4000 in my laptop does automatic IVTC correctly in Video Mode (http://www.aotplaza.com/Files/HTPC/Screengrabs/IVTC/Screenshot%202013-10-23%2011.57.41.png).
Note that if you seek, it'll sometimes be jaggy but when you start playing it (or step frames), it'll correctly IVTC. Probably the same for most cards.
Niyawa
23rd October 2013, 13:25
Can I ask you guys for some help? I've been trying to understand why this happens but search didn't give me anything useful (http://haruhichan.com/forum/showthread.php?7545-KCP-Kawaii-Codec-Pack&p=26106&viewfull=1#post26106).
Apparently, the audio in LAV Splitter is not being allocated as it should. He gets 2 LAV Splitter entries when playing a video, one with English, and other with french audio stream. At first I thought it was compatibility issue with codec pack but apparently it isn't either. Now I believe it might be an issue with the .mkv metadata but I can't confirm this. Has anyone seen anything similar? This is my first time dealing with anything like that. It's especially hard when I can't reproduce it either.
STaRGaZeR
23rd October 2013, 13:27
Comparing IVTC with deinterlacing and saying IVTC looks better is kinda pointless TBH.
nevcairiel
23rd October 2013, 14:04
Can I ask you guys for some help? I've been trying to understand why this happens but search didn't give me anything useful (http://haruhichan.com/forum/showthread.php?7545-KCP-Kawaii-Codec-Pack&p=26106&viewfull=1#post26106).
Apparently, the audio in LAV Splitter is not being allocated as it should. He gets 2 LAV Splitter entries when playing a video, one with English, and other with french audio stream. At first I thought it was compatibility issue with codec pack but apparently it isn't either. Now I believe it might be an issue with the .mkv metadata but I can't confirm this. Has anyone seen anything similar? This is my first time dealing with anything like that. It's especially hard when I can't reproduce it either.
If he has a second external audio file, it'll load a second source filter for it, thats just how its working.
JEEB
23rd October 2013, 14:14
Also, if the problem is that multiple audio tracks are sounding at the same time, welcome to the reason why MPC(-*) have something called the Audio Switcher ;) .
If such a thing is not in the middle of the chain, all active tracks get sent to the audio renderer and you get nice cacophony.
Niyawa
23rd October 2013, 14:27
If he has a second external audio file, it'll load a second source filter for it, thats just how its working.
Ohh. I admit I didn't know about that. But in that case why does it load "separately"? Can't LAV merge them together in the same window UI or is that a software limitation/design choice?
If such a thing is not in the middle of the chain, all active tracks get sent to the audio renderer and you get nice cacophony.
Haha! No problems with that. He only has issues when selecting an default audio stream, nothing else.
nevcairiel
23rd October 2013, 14:30
LAV does not load the second audio file, thats the player doing. LAV only ever loads one file, it doesn't combine multiple.
Niyawa
23rd October 2013, 14:32
LAV does not load the second audio file, thats the player doing. LAV only ever loads one file, it doesn't combine multiple.
Yes yes apologies for my bad wording. Thank you very much.
DragonQ
23rd October 2013, 16:37
Comparing IVTC with deinterlacing and saying IVTC looks better is kinda pointless TBH.
What? We were talking about whether IVTC correctly kicks in when the GPU is told to perform normal deinterlacing. Apparently it doesn't work on some GPUs (meaning you need to force film mode to get proper ITVC) but does on others.
Nothing to do with which looks better.
STaRGaZeR
23rd October 2013, 19:33
My bad, it looked like leeperry was comparing quality between the screenshots posted.
leeperry
23rd October 2013, 20:34
I don't have much NTSC DVD material but here's another nasty PAL sample: sample2.mkv (https://mega.co.nz/#!HtgAzZ7K!c8OIEjFDgv9qrU9L-MxM2XGvNug2tWbaExxIQ8LHEAg)
It's video 25i that magically turns into 50p but I can't run CUVID in HQ mode so if you guys wouldn't mind running tests again please? It needs a "double expanded" TV conversion in mVR.
From my limited testing, YADIF looks best on my system.
DragonQ
23rd October 2013, 22:17
I don't have much NTSC DVD material but here's another nasty PAL sample: sample2.mkv (https://mega.co.nz/#!HtgAzZ7K!c8OIEjFDgv9qrU9L-MxM2XGvNug2tWbaExxIQ8LHEAg)
It's video 25i that magically turns into 50p but I can't run CUVID in HQ mode so if you guys wouldn't mind running tests again please? It needs a "double expanded" TV conversion in mVR.
Hmm? All 25i material turns into 50p once properly deinterlaced, it certainly isn't magic. :p
leeperry
24th October 2013, 00:22
I'm always amazed by how video footage turns into 50/60 actual fps, it's all pure magic to me to get twice more fps at the cost of a few jaggies here & there :)
Some ppl claim that 72fps is the proven limit to completely fool the human brain and 29.97@59.94 sped up to 72 does look hell smooth to me.
Either way, from what I see using real-world content CUVID deinterlacing would appear to be entirely replaceable.
MokrySedeS
24th October 2013, 00:33
I don't have much NTSC DVD material but here's another nasty PAL sample: sample2.mkv (https://mega.co.nz/#!HtgAzZ7K!c8OIEjFDgv9qrU9L-MxM2XGvNug2tWbaExxIQ8LHEAg)
It's video 25i that magically turns into 50p but I can't run CUVID in HQ mode so if you guys wouldn't mind running tests again please? It needs a "double expanded" TV conversion in mVR.
From my limited testing, YADIF looks best on my system.
DXVA2 (copy-back) + YADIF 50p/60p (Video)
http://thumbnails104.imagebam.com/28352/1bbdec283517292.jpg (http://www.imagebam.com/image/1bbdec283517292)
CUVID 50p/60p (Video)
http://thumbnails102.imagebam.com/28352/4c3bed283517351.jpg (http://www.imagebam.com/image/4c3bed283517351)
DXVA2 (copy-back) + madVR (Video)
http://thumbnails108.imagebam.com/28352/9c8092283517394.jpg (http://www.imagebam.com/image/9c8092283517394)
GTX 650 Ti
Deinterlacing in madVR results in a slight stretching and detail loss... Is it a bug?
wanezhiling
24th October 2013, 04:58
http://www.sendspace.com/file/tegmfo
broken image with sw decoding (http://i1.tietuku.com/s1y8ydpc3.png), works fine in dxva mode.
Edit: Its FFmpeg's bug.:)
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.