Log in

View Full Version : LAV CUVID Decoder - High Quality Hardware decoding for NVIDIA


Pages : 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

Tom Keller
1st May 2011, 09:16
I just wanna ask again:

Would it be possible to add an option to the configuration dialog for forcing one specific output format manually (like a selection between "Auto/NV12/YV12")? Pleeaase :o !? For me most video renderers have performance issues with the NV12 colorspace (and i simply don't know the reason :confused: ) - so this would solve the problem.

:thanks: in advance!

nevcairiel
1st May 2011, 09:20
That would be possible, but would require me rewriting quite alot of code. :(
I'll probably do it someday..

Tom Keller
1st May 2011, 10:44
A definitely "maybe" is more than i'd hoped for :) . Thanks anyway!

ney2x
1st May 2011, 11:18
Please ask clsid to add support for LAV CUVID and LAV Splitter/Audio in his Win7DSFilterTweaker. Many thanks!

PeQuE
1st May 2011, 16:06
Anyone here tried LAV CUVID under MediaPortal? I gave it a try yesterday. All went well, smooth, good performance, but I can't play any file with AVC video stream inside... MediaPortal tells me there's no dshow filter available for this kind of content... On the other hand, HDTV (which video stream in fact is also H264) is working well (I'd say better than any other filter tried by me, included MS DTV and last PDVD11). Also I've tried to play that same file with Graphstudio and using LAV CUVID as video filter, no problem at all.

Thanks a lot!
Ok. LAV CUVID 0.6 is working! :)

Thanks a lot.

CruNcher
1st May 2011, 18:05
A small compare for XP SP3 and VP2 VMR9 renderless :)

http://mirror05.x264.nl/CruNcher/pperf/#cyberlink <- Cyberlink DXVA
http://mirror05.x264.nl/CruNcher/pperf/#lavcuvid <- LAV CUVID
http://mirror05.x264.nl/CruNcher/pperf/#both <- Both head start for LAV CUVID, just for fun it overloads the VP2 ;)

Recording was done directly into X264, glitches come from the screen capture demands (also Process explorer fast updating causes some drops 0.5ms dont try that @ home ;) ) not the encoding or VP2 problems, except for LAV CUVID and many other Decoder their it's uknown why Cyberlink handles that (seperate encodings) ;)
This actually shows this http://forum.doom9.org/showpost.php?p=1493989&postcount=369 problem as you can see upto 0:12 LAV CUVID stays stable ;)

thuan
2nd May 2011, 06:49
@Cruncher: I've just bought a GTS450, for now all problems I had with hardware H264 playback are gone and I can play 1080p/60fps just fine. I think it's time to let go of your VP2 card if you want something more. Man I hate nvidia for this.

nevcairiel
2nd May 2011, 06:54
You hate NVIDIA because their first real hardware decoder block isn't super fast?
Thats like saying you hate NVIDIA because you cannot play Crysis on your Geforce2. :p

Besides, the GTS 450 isn't exactly pricy, and the card is great.

thuan
2nd May 2011, 08:32
Well I was bitter about the fact that I have to buy something new although it's not ultimately necessary, I don't game much. Also I had some problem with hardware playback on my previous 9800GT that Cruncher don't have. I was thinking it has something to do with Gigabyte pre-oc the card, but I can put them all to rest, now. I only had to spend 35USD for the new card as I'm selling my old stuffs, so it's not too bad I guess :D.

CruNcher
2nd May 2011, 12:45
The VP2 is still fine as you can see with most normal 1080 60p content it's just problematic with what i would call "over the top content" (most bad encoded x264) like the 4 Girl clip those get problematic and still it's not yet proven that VP2 Playback maybe becomes a tad more efficient under DXVA2 on Vista/7 (less bottlenecks, better driver gpu optimization) so it might be able to reach the 60 fps only their but that's still pure speculation as no one showed any result of that :)
And yeah i thought about a GT450 for a long time as it's the only Card with a 1 Power Plug though now also the GTX 550 joins that (but the small performance improvement and resulting higher power consumption seems not worth the price really) :)
Also seeing that Nvidia is going to release Synergy for free to Motherboard makers is something which also let me belive it's the right time to switch over to Vista/7 now ;) especially with all these wasted GPU and partly CPU compute power that can be ready on demand and currently just gets lost on a XP Desktop.

nevcairiel
2nd May 2011, 12:51
All the time you use to complain and whine about stuff being broken with your ancient card (VP2 was released in early 2007, thats 4 years ago, thats like 2 centurys in computer years), you could've spent working, and earning enough money to buy a card easily twice as fast as yours. :p

You would be surprised how much better recent hardware and a recent OS works. :p

CruNcher
2nd May 2011, 13:14
Im a guy who still learned to Never touch a running system except when it comes to security related issues (also doesn't exclude optimization and exploitation of it ;) ), and to utilize a given product till the end i generally don't update as often as most do though yeah 4 years is a pretty good amortizing time (Software had time to mature, especially in the GPU context), i just recently made the switch to Sandy Bridge (which also gave me a heavy GPU boost, based on the memory bandwith perf impact see http://www.realworldtech.com/page.cfm?ArticleID=RWT042611035931) and yeah i see myself that i lose efficiency fast now still being on XP, though it doesn't change anything about the fact that Cyberlink is doing something more efficient where others fail currently ;)
Twice as fast in Games sure nev but Video im not sure if i could agree with 2x as fast here ;)

thuan
2nd May 2011, 13:42
Well I wasn't able to play 1080p/24fps smoothly on my system and I got other problems with madVR, so I'd say 35$ well spent. The thing I hate is how specific computer caused problem (mine) and cruncher's system didn't. I have been using computer from middle school, went to university in computer science, graduated and now working there as junior researcher and I still hate how certain aspects of computer aren't just work.

CruNcher
2nd May 2011, 13:46
Yes the madVR issue might be explainable by the improved memory copy hardware wise MadVR also gives me the kicks though i wait for Madshi to implement DXVA and see how that turns out :)

Btw what for Madnv12test results you now getting thuan compared to your 9800GT ?

SamuriHL
2nd May 2011, 14:39
First off, to say you bought a card when you really didn't need it isn't exactly accurate. ;) Now you have a card that's capable of doing everything you want to do with video. Trust me, I have a 450, and I'm well aware of what it can do, especially on a machine with an older CPU. Second, sticking with XP is foolish when it comes to modern video IMO. W7 has made quite a bit of improvements in architecture for video playback. Nonetheless, for those that insist on sticking with old hardware/software, then you are also forced to deal with the limits of such things. To say Cyberlink does it better so everyone should waste their time making their stuff work on ancient hardware for the 1/2% use case is entirely ridiculous. Nev has far better things to do. :) In any case, my advice is to upgrade. Barring that, live with whatever limitations come from not upgrading.

ashlar42
2nd May 2011, 15:37
Quick question: with a GTX 460 and a Core 2 Duo 3.6 GHz (Windows 7) should I be able to play back my BBC Life VC-1 1080i50 BD rips?

I tried everything in the past with no luck... and resorted to recompressing them to x264. But I'd like to have them in their original pristine form if at all possible, for HTPC use.

Thanks :)

nevcairiel
2nd May 2011, 15:38
I dunno about your rips, but i can play my original Blu-rays just perfectly with a GTS 450, so i figure the 460 can only do better.

ashlar42
2nd May 2011, 15:42
I dunno about your rips, but i can play my original Blu-rays just perfectly with a GTS 450, so i figure the 460 can only do better.You refer to BBC Life VC-1 interlaced content? :)

nevcairiel
2nd May 2011, 15:43
Well, BBC Earth, actually. "Wild China", "Galapagos", "Natures Great Events", and "South Pacific" - those play fine. All VC-1 interlaced.

ashlar42
2nd May 2011, 15:50
Well, BBC Earth, actually. "Wild China", "Galapagos", "Natures Great Events", and "South Pacific" - those play fine. All VC-1 interlaced.:eek:

Can't wait to try it first hand.
You're gonna be my new personal hero for a good while. Thank you!!!

nevcairiel
2nd May 2011, 15:53
Make sure to go for maximum quality settings, i think i made them default though. Adaptive Deinterlacing, Double Framerate, DXVA Interop mode

CruNcher
2nd May 2011, 15:55
First off, to say you bought a card when you really didn't need it isn't exactly accurate. ;) Now you have a card that's capable of doing everything you want to do with video. Trust me, I have a 450, and I'm well aware of what it can do, especially on a machine with an older CPU. Second, sticking with XP is foolish when it comes to modern video IMO. W7 has made quite a bit of improvements in architecture for video playback. Nonetheless, for those that insist on sticking with old hardware/software, then you are also forced to deal with the limits of such things. To say Cyberlink does it better so everyone should waste their time making their stuff work on ancient hardware for the 1/2% use case is entirely ridiculous. Nev has far better things to do. :) In any case, my advice is to upgrade. Barring that, live with whatever limitations come from not upgrading.

And exactly that isn't proven that it is a limitation and that Cyberlink found a clever workaround for it might be even a bug, that 99% of ISVs seems to share then, though seein that also currently all Nvcuvid based stuff shares the same problem makes it even more mysterious ;)

nevcairiel
2nd May 2011, 16:07
I still think they just cheat on 60p material and use the CPU to help.

Anyhow, this is not a thread about Cyberlink.
I will never spent alot of time on edge cases like that, like SamuriHL said, i have better things to do with my time. Rather have it working for 99% of the people, then trying to go for the last percent and not being able to work on anything else.

You are free to pay me full time however, and i'll code you whatever you want! (My usual consulting rates are 100€/hr, and thats in my professional capacity as Java Web Developer .. i'm sure i could squeeze some more out for video decoder development. :D)

SamuriHL
2nd May 2011, 16:09
And exactly that isn't proven that it is a limitation and that Cyberlink found a clever workaround for it might be even a bug, that 99% of ISVs seems to share then, though seein that also currently all Nvcuvid based stuff shares the same problem makes it even more mysterious ;)

Ok, let's say that's true and that Cyberlink found a clever workaround for a bug. The bug isn't in Nev's hands to fix. Nor should development resources be applied to a platform that's literally 4 years old at this point. Things don't move backwards in the computing world...only forward. Time shouldn't be spent on trying to recreate some workaround that a company with far more resources may or may not have found. :)

CruNcher
2nd May 2011, 16:10
I still think they just cheat on 60p material and use the CPU to help.

Anyhow, this is not a thread about Cyberlink.
I will never spent alot of time on edge cases like that, like SamuriHL said, i have better things to do with my time. Rather have it working for 99% of the people, then trying to go for the last percent and not being able to work on anything else.

You are free to pay me full time however, and i'll code you whatever you want! (My usual consulting rates are 100€/hr, and thats in my professional capacity as Java Web Developer .. i'm sure i could squeeze some more out for video decoder development. :D)

I can disprove that http://mirror05.x264.nl/CruNcher/pperf/#cyberlink if you think small amount of cpu cycle can fix this sure might be then ;)

I understand that no problem i just made you aware of it, so in the future if this should be coming up again you can give users this direction to look into and even show them a fix more or less (buying a new card, or using another decoder) ;)
Though i will keep you anyways updated when i moved to 7 what happened here with many of these issues, (im excited myself to find out) as you can guess ;)

SamuriHL
2nd May 2011, 16:10
I still think they just cheat on 60p material and use the CPU to help.

Anyhow, this is not a thread about Cyberlink.
I will never spent alot of time on edge cases like that, like SamuriHL said, i have better things to do with my time. Rather have it working for 99% of the people, then trying to go for the last percent and not being able to work on anything else.

You are free to pay me full time however, and i'll code you whatever you want! (My usual consulting rates are 100€/hr, and thats in my professional capacity as Java Web Developer .. i'm sure i could squeeze some more out for video decoder development. :D)

If I were going to pay you for your time, it sure as hell wouldn't be to develop for ancient hardware! It'd be to develop an AMD decoder. :D :p

nevcairiel
2nd May 2011, 16:15
If I were going to pay you for your time, it sure as hell wouldn't be to develop for ancient hardware! It'd be to develop an AMD decoder. :D :p

That really wouldn't be that hard, the OpenVideoDecode API that AMD invented is pretty straight forward. It is however limited to H264.

There is just one problem, i have no ATI/AMD hardware, and no intention to buy any. :p

Would probably be easier to write some smart filter that can download the frames from a D3D texture and sit between DXVA decoder and renderer, or hope for DXVA support in madVR .. one day.

SamuriHL
2nd May 2011, 16:19
That really wouldn't be that hard, the OpenVideoDecode API that AMD invented is pretty straight forward. It is however limited to H264.

There is just one problem, i have no ATI/AMD hardware, and no intention to buy any. :p

I really don't blame you. And the limitation to h.264 makes it useless anyway. VC-1 is where we really need a decoder. The ffmpeg mt decoder isn't bad for h.264. I've even been testing it on my laptop to see if it can handle it and so far yea. I need something to replace Cyberlink decoder at some point. It does do a decent job, but, the fact that it doesn't like to work with DirectVobSub kinda blows.

yesgrey
2nd May 2011, 16:19
now also the GTX 550 joins that (but the small performance improvement and resulting higher power consumption seems not worth the price really) :)
Well, you can always create some profiles to lower the clocks and save some power. The GTX550 is more powerful and efficient than the GTS 450, so you will be better served with it. You can create a special profile for video with clocks high enough to play your video smoothly, and simply increase the clocks if any new feature would require more power. That's what I will do if I ever buy one... ;)

nevcairiel
2nd May 2011, 16:20
DirectVobSub kinda blows.

You got that right. :)
Even simple text subtitles are rendered to inefficiently that it can cripple playback. Funny thing is, bitmap subtitles don't suffer from that problem, so PGS is fine. :p

SamuriHL
2nd May 2011, 16:22
You got that right. :)
Even simple text subtitles are rendered to inefficiently that it can cripple playback. Funny thing is, bitmap subtitles don't suffer from that problem, so PGS is fine. :p

ROFLMAO! I feel that perhaps some of my context might have been lost there. :D ffdshow sub renderer is ok I guess. It's what I'm using now and at least the forced sub stuff works with it now.

CruNcher
2nd May 2011, 16:33
Well, you can always create some profiles to lower the clocks and save some power. The GTX550 is more powerful and efficient than the GTS 450, so you will be better served with it. You can create a special profile for video with clocks high enough to play your video smoothly, and simply increase the clocks if any new feature would require more power. That's what I will do if I ever buy one... ;)

Yes but as soon as i moved to 7 i will look deeply into my Sandy Bridge capabilities and with Synergy then combine both and put the 550 into deep idle state anyways for most of the times and in that state it is also more efficient then the 450 ;)
Depending though on how Intel survives vs Nvidias algorithms ;)

PS: For those who dont want to use Cyberlinks HAM Decoder their is a solution for Vista/7 http://forum.doom9.org/showpost.php?p=1497175&postcount=6334 Potplayer has this special DXVA rendering mode which according to those that use it works quiet well with MadVR no idea though how this really works but seems PotPlayer is the only one implementing this currently, could be maybe a framegrabber mode on the Decoder side like roozhou experiments with.

ashlar42
2nd May 2011, 16:55
Make sure to go for maximum quality settings, i think i made them default though. Adaptive Deinterlacing, Double Framerate, DXVA Interop modeIs there an explanation of what exactly double framerate does? I'm afraid this sounds like a seriously noob question but it's referred directly to in the original post, with no further explanation.

nevcairiel
2nd May 2011, 16:58
Is there an explanation of what exactly double framerate does? I'm afraid this sounds like a seriously noob question but it's referred directly to in the original post, with no further explanation.

Interlaced video like this is usually actually filmed in 60i, but "normal" deinterlacing will produce 30 full pictures out of it. Activating double framerate will then properly generate all 60 full, progressive frames.

The name is not really that obvious to what it does, because it doesn't simply double the frame rate, but actually produce 60 distinct pictures (so not every picture twice or stuff like that), but i think thats how its called around knowledgeable people.


Potplayer has this special DXVA rendering mode which according to those that use it works quiet well with MadVR no idea though how this really works but seems PotPlayer is the only one implementing this currently, could be maybe a framegrabber mode on the Decoder side like roozhou experiments with.
Its nothing new, its the same way non-directshow players use DXVA, like VLC. Its also relatively easy to do, someone just has to. :p

SamuriHL
2nd May 2011, 17:00
I need to turn DXVA interop back on. I was getting some issues with performance and thought it might help. Turned out I still had the D3D11 mode turned on with that machine in madVR.

mark0077
2nd May 2011, 17:05
nev, I'm delighted to report performance is excellent in your newer versions of splitter / decoder. 0 dropped frames now. Just one question. I was experimenting with the de-interlacing feature in the decoder today, to see how it behaves on some of my PAL DVDs which are all badly marked as coming from interlaced sources. I was hoping to test whether the double frame rate de-interlacer would kick in or not as I would hope these particular DVDs to come out at 25p, rather than 50p.

I hit a snag though. mpeg-2 within mkv playes fine but when I play mpeg2 through video_ts.ifo, your splitter and renderer don't kick in. I get reverted back to mpc-hc's mpeg2 decoder. Is this expected or should your splitter / renderer kick in?

nevcairiel
2nd May 2011, 17:08
The splitter most definately not. IFO files are for a DVD navigator, and LAV Splitter will never support that.
In theory the decoder should get used, but in practice its not compatible with the DVD Navigator yet. Thats up for future endavours.

BTW, if you have "Double Framerate" checked, all interlaced material gets doubled, there is no way to detect if the content was filmed in 50i or interlaced from 25p...

For testing just open the .vob, that will use LAV Splitter. :)

madshi
2nd May 2011, 17:20
The name is not really that obvious to what it does, because it doesn't simply double the frame rate, but actually produce 60 distinct pictures (so not every picture twice or stuff like that), but i think thats how its called around knowledgeable people.
I don't think so. I've never heard of "double frame rate" outside of the HTPC world. IMHO the proper solution would be to offer a switch for "video mode" vs "film mode" deinterlacing. That's how it's usually called in the CE world, IIRC. Years ago some hardware deinterlacers advertized the ability to have a "film mode" for deinterlacing, while "video mode" deinterlacing was the default. Ideally deinterlacing should always produce either 60p or 24p. From a theoretical point of view I don't really see any sense in 30p deinterlacing output. However, for movies 30p is good enough and it saves rendering performance, so in contrast to what I just said, in practical life 30p deinterlacing output does make sense in the HTPC world to save rendering power (only for movies, of course).

So again in short: I'd suggest an option named "deinterlacing mode" with the values: "film mode" and "video mode". You could also add the frame rates to the option names, to make things clearer, e.g. "film mode (25p/30p)" and "video mode (50p/60p)". Default should be "video mode", I guess, because it also works acceptably for film sources, while the film mode does not work well for true video sources.

Alternatively it might make sense to not talk about film vs video because the option will not turn on/off IVTC, anyway, nor will it in any way influence what the NVidia hardware deinterlacer does. Practically it just changes the output framerate. So you could name the option "output frame rate" and offer the options "25p/30p" vs "50p/60p". Maybe you could add the content type, like "25p/30p (film)" vs "50p/60p (video)".

Not sure what's better...

nevcairiel
2nd May 2011, 17:22
I don't think so. I've never heard of "double frame rate" outside of the HTPC world. I

All i know about interlacing is in the context of HTPCs, i never really got into it before in CE devices. :)

I however like your suggested option, and will change it to that. It might one day be 24p/25p and 50/60, i dont think naming it film and video hurts anything..

CruNcher
2nd May 2011, 17:28
Interlaced video like this is usually actually filmed in 60i, but "normal" deinterlacing will produce 30 full pictures out of it. Activating double framerate will then properly generate all 60 full, progressive frames.

The name is not really that obvious to what it does, because it doesn't simply double the frame rate, but actually produce 60 distinct pictures (so not every picture twice or stuff like that), but i think thats how its called around knowledgeable people.



Its nothing new, its the same way non-directshow players use DXVA, like VLC. Its also relatively easy to do, someone just has to. :p

Sad though that it didn't found it's way yet upstream to MPC-HC but they guy doesn't seem to care about GPL anyways (his skin engine work though is nice OSD and a lot of the other changes very well executed)

madshi
2nd May 2011, 17:28
Well, a couple of years ago I wasn't using HTPCs at all and instead had a lot of knowledge about external deinterlacers / video processors. Owned several of them, various different iScan and Lumagen video processors.

mark0077
2nd May 2011, 17:48
The splitter most definately not. IFO files are for a DVD navigator, and LAV Splitter will never support that.
In theory the decoder should get used, but in practice its not compatible with the DVD Navigator yet. Thats up for future endavours.

BTW, if you have "Double Framerate" checked, all interlaced material gets doubled, there is no way to detect if the content was filmed in 50i or interlaced from 25p...

For testing just open the .vob, that will use LAV Splitter. :)

Great cheers. Well performance is great, keep up the good work, although the lav splitter shows up as using the most cpu % as anything else in the filter chain (using process explorer) during m2ts 1080p playback :) Using about 6-7 % of core i7 @3.7, maybe thats expected but I thought it was quite high. I'm off to play with the vobs.

HeadlessCow
2nd May 2011, 19:56
You got that right. :)
Even simple text subtitles are rendered to inefficiently that it can cripple playback. Funny thing is, bitmap subtitles don't suffer from that problem, so PGS is fine. :p

If you're gonna replace DirectVobSub, it would probably be best to start with something based on libass as it is more performant and nearly entirely compatible already.

As an example, see the AssRender filter for Avisynth.
http://forum.doom9.org/showthread.php?t=148926

HeadlessCow
2nd May 2011, 21:32
I really don't blame you. And the limitation to h.264 makes it useless anyway. VC-1 is where we really need a decoder. The ffmpeg mt decoder isn't bad for h.264. I've even been testing it on my laptop to see if it can handle it and so far yea. I need something to replace Cyberlink decoder at some point. It does do a decent job, but, the fact that it doesn't like to work with DirectVobSub kinda blows.

The intro claims that it only supports H264, but the actual documentation has flags for decoding all the H264 profiles as well as the 3 VC-1 profiles so unless they've just documented it for future support, it might support what you're looking for already :)

See: http://developer.amd.com/gpu/AMDAPPSDK/assets/OpenVideo_Decode_API.PDF

SamuriHL
2nd May 2011, 21:34
So Nev can code it blind and I'll do all the testing. Sounds good to me! :D

HeadlessCow
2nd May 2011, 21:55
If it weren't for the inconvenience of him being in Germany, I'd just mail him the extra card I have sitting around :)

nevcairiel
2nd May 2011, 21:57
If i ever get terribly bored, i might just buy a 5450 or some other very cheap model. But me getting bored, right, thats going to happen. :devil:

HeadlessCow
2nd May 2011, 22:03
So if SamuriHL stops testing your other filters you'll write the ATI one for him? :thanks:

SamuriHL
2nd May 2011, 22:06
ROFLMAO! I think I have a better chance of replacing my 5870 with a high end nVidia card than getting a new AMD video decoder. :D

mark0077
3rd May 2011, 19:28
nav Maybe if its possible, it might be a tweak to internally disable dxva interop mode if de-interlacing isn't needed for a particular clip. I'm sure that has been discussed already..