View Full Version : LAV CUVID Decoder - High Quality Hardware decoding for NVIDIA
nevcairiel
18th April 2011, 19:57
So, i did the tests with the GraphStudio Decoder Performance thing instead of timeCodec, and man, what day and night results!
Either timeCodec is flawed, or i dunno. Since this is more what i expected, i'll go with timeCodec is flawed.
Here is my complete bench again with GraphStudio (of course against Null Renderer), average of 3 passes
One obvious difference is of course that GraphStudio uses LAV Splitter (which gets the timestamps right), and timeCodec forces Haali, but if that makes a difference now?
GTX570, 270.61, Win7 x64, Core i7 2600K
LAV CUVID 0.4 - Weave
Test_clip_avc.1080i59.94.ac3.5.1 - fps: 67.0
Test_clip_wvc1.1080i59.94.flac.5.1 - fps: 71.9
LAV CUVID 0.4 - Adaptive
Test_clip_avc.1080i59.94.ac3.5.1 - fps: 66.9
Test_clip_wvc1.1080i59.94.flac.5.1 - fps: 71.9
LAV CUVID 0.4 - frame doubling - Adaptive
Test_clip_avc.1080i59.94.ac3.5.1 - fps: 134.0
Test_clip_wvc1.1080i59.94.flac.5.1 - fps: 143.7
LAV CUVID 0.4 DXVA - Adaptive
Test_clip_avc.1080i59.94.ac3.5.1 - fps: 64.2
Test_clip_wvc1.1080i59.94.flac.5.1 - fps: 70.2
LAV CUVID 0.4 DXVA - frame doubling - Adaptive
Test_clip_avc.1080i59.94.ac3.5.1 - fps: 128.6
Test_clip_wvc1.1080i59.94.flac.5.1 - fps: 140.4
GTS450, 270.51, Win7 x64, AMD Phenom II X4 955
LAV CUVID 0.4 - Weave
Test_clip_avc.1080i59.94.ac3.5.1 - fps: 66.7
Test_clip_wvc1.1080i59.94.flac.5.1 - fps: 71.6
LAV CUVID 0.4 - Adaptive
Test_clip_avc.1080i59.94.ac3.5.1 - fps: 66.6
Test_clip_wvc1.1080i59.94.flac.5.1 - fps: 71.6
LAV CUVID 0.4 - frame doubling - Adaptive
Test_clip_avc.1080i59.94.ac3.5.1 - fps: 132.7
Test_clip_wvc1.1080i59.94.flac.5.1 - fps: 142.4
LAV CUVID 0.4 DXVA - Adaptive
Test_clip_avc.1080i59.94.ac3.5.1 - fps: 62.0
Test_clip_wvc1.1080i59.94.flac.5.1 - fps: 67.6
LAV CUVID 0.4 DXVA - frame doubling - Adaptive
Test_clip_avc.1080i59.94.ac3.5.1 - fps: 108.9
Test_clip_wvc1.1080i59.94.flac.5.1 - fps: 120.7
This is more what i expected from double framerate mode. The deinterlacing and copying into system memory should be really fast on these cards.
Its also interesting how the GTS 450 seems to reach its performance limit when doing full quality deinterlacing in DXVA mode.
PS:
On my HTPC (second data batch), the test sometimes bugged out on me showing 0 fps if i tried to run the a test of the same file twice right after each other, alternating between AVC1 and VC-1 seemed to fix it .. don't ask me wtf that was about.
SamuriHL
18th April 2011, 20:17
Did you do a clean install of the driver? I am doing so and will set up custom resolutions. This should be fun. :D
CruNcher
18th April 2011, 20:20
PS:
On my HTPC (second data batch), the test sometimes bugged out on me showing 0 fps if i tried to run the a test of the same file twice right after each other, alternating between AVC1 and VC-1 seemed to fix it .. don't ask me wtf that was about.
Look above what i wrote about the blackscreen on load im sure it is related, also this happened for me with timecodec 2nd run or so and suddenly i got no results anymore i was like hmm strange restarted timecodec made some tests and boom again stoped working and then the black screen issues everything indicates something is wrong with the stability since some updates in 0.3 as all 0.2 builds where still acting stable on load/close reload conditions 0.4 isn't stable anymore ;).
I guess nobody realized really the silent change of the thread name and in your sign but that fits much better then "accelerated" though for VP2 as mine there is still some partial acceleration but overall it's Hardware Decode and for Vp3 and above there is 0 partial anymore :)
Btw it seems by now on every Next Generation Video Hardware from the top GPU Manufactures we have now own APIs that can be used apart from DXVA to gain access to the DSP output and also it's PostPro via Shaders and pretty much all of those are available to every developer without an NDA that need to be signed, great progress :)
Intel = Intel Media SDK (though only Vista/7 since 2.0) (the second one)
AMD/ATI = APP OVD (the last one)
NVIDIA = NVCUVID (the first one) also the pioneer in opening up their Video Encoder research (NVCUVENC)
And Nvidias is still the most used in the Wild as they where the first opening it up to the mass of Developers and pioneering here was Donald Graft and the Doom9 Community who helped to fix a lot of Nvcuvid bugs in the beginning for the Ecosystem and made this experience as stable as it is today for Millions of users Worldwide in it's 4th Generation :)
pankov
18th April 2011, 22:18
Did you do a clean install of the driver? I am doing so and will set up custom resolutions. This should be fun. :D
SamuriHL,
please, do share with us if they fixed the custom resolutions creation/editing/usage, cause I've just managed to trick it to work with 270.51 last night and I'm very reluctant to fight with the drivers again if the result is not certain.
nevcairiel
18th April 2011, 22:20
SamuriHL,
please, do share with us if they fixed the custom resolutions creation/editing/usage, cause I've just managed to trick it to work with 270.51 last night and I'm very reluctant to fight with the drivers again if the result is not certain.
I just installed a 260-series driver, setup the resolutions, and upgraded to 270.51 - worked just perfectly. No idea how they broke configuring them in 270 again. Didn't try with 270.61, didnt feel like breaking them.
SamuriHL
18th April 2011, 22:20
When I looked, 24 wasn't an option in the new driver. It's showing 23. And this is with a clean install. Sooooo, yea, I don't really know. Haven't had a chance to test sync yet. Stuck in a work meeting. Soon, though.
nevcairiel
18th April 2011, 22:21
23 is usually what you want, anyway. :p
CruNcher
18th April 2011, 22:32
Btw as thought Drivers before Cuda 3.2 so for example 258.96 (Cuda 3.1.1) wont work with LAV CUVID (filter wont register missing dependencies) though they work with CoreAVC Cuda :)
SamuriHL
18th April 2011, 22:38
23 is usually what you want, anyway. :p
Indeed. :) I just did a quick test with her Glee disc using MPC-HC, LAVF Splitter, LAV CUVID, madVR 0.57 with res changer....seemed to be in sync. Only thing I could ask for is title selection. HINT HINT. :) Then I would be in absolute heaven. But so far, yea, new driver and default profiles are working great. Maybe they finally figured out that "24" should really be "23" and removed it. :)
nevcairiel
18th April 2011, 22:41
Btw as thought Drivers before Cuda 3.2 so for example 258.96 (Cuda 3.1.1) wont work with LAV CUVID (filter wont register missing calls) though they work with CoreAVC Cuda :)
260 series drivers have been out so long, i really dont care about people stuck in a backwards world.
Rather work on new features then trying to support ancient drivers.
CruNcher
18th April 2011, 22:53
Yep understandable also 270.61 WHQL seems to be the default stable now GeForce 6, 7, 8, 9, 100, 200, 300, 400 and 500 so CUDA 4 SDK all the way to go for every Windows OS :D
That's what you just can love about Nvidias Dev environment it's just a pleasure to work in and the good UDA didn't died as they all feared when Vista came out :)
And already the 275 drivers are announced http://blogs.nvidia.com/2011/04/release-270-whql-certified-drivers-are-available-for-download/
Such a stable and efficient Driver Team will AMD/ATI still take some time to buildup :P
Though with all these External Update stuff coming into Windows Microsoft should slowly think of a API to bundle 3rd Party updates into 1 Place fast, there are so many update engines running on a Windows PC by now it's crazy every Software has their own way just a big pile of useless unmanaged code on the system (especially as we go again into the direction of 1000 different services running this time just for 3rd party updates) :D
yesgrey
18th April 2011, 23:02
SamuriHL,
please, do share with us if they fixed the custom resolutions creation/editing/usage, cause I've just managed to trick it to work with 270.51 last night and I'm very reluctant to fight with the drivers again if the result is not certain.
They're working again.
SamuriHL
18th April 2011, 23:34
Yes indeed. I didn't make custom ones because the default profiles are actually frighteningly useful now. Using madVR 0.57 and the auto res changer, I got perfect sync on my wife's Glee discs, so, I'm quite pleased. I haven't tried TMT5 to see if that's in sync. But so far so good.
pankov
18th April 2011, 23:57
SamuriHL,
do you mean that NVIDIA finally changed the default color mode to RGB FULL for HDMI connections or added an option for the user to select it, 'cause at the moment the only way to have the correct levels (0-255, not 16-235) was to use custom resolutions.
... or you guys know some other trick to do it ?!?!
I'm still new (only 2 weeks) to all this NVIDIA stuff so, please, bear with me
SamuriHL
19th April 2011, 00:02
Ah, that's a good question! I have that set to let the application deal with it at the moment. I have not had a chance to run through my black levels tests yet so I honestly don't know if they have that right or not.
mark0077
19th April 2011, 00:33
PankOv you can get full range rgb without custom
Resolutions. See quote below from Manuel g on nvidia forums.
Try the following:
Run the driver installation file to the point where the file contents are extracted. Then cancel the rest of the installation.
Go to the folder where the files contents were extracted to.
Search for the file nv_disp.inf and open it.
Search for the section [nv_miscBase_addreg__01]
Under this section add the registry value:
HKR,,SetDefaultFullRGBRangeOnHDMI,%REG_DWORD%,1
Repeat this step for [nv_miscBase_addreg__02] and [nv_miscBase_addreg__03] and so on until all [nv_miscBase_addreg__xx" have the above registry value.
Save this .inf with the changes.
Run the setup.exe file in this folder to install the driver with the modified .inf. Each time you reload a driver, you will need to repeat this process.
Also, the registry key above only address Vista and Windows 7 drivers.
yesgrey
19th April 2011, 01:08
Here are my results using GraphStudio:
NVidia GeForce GT 240 - 270.61 drivers - Win7 x64 SP1
LAV CUVID v0.4 - Weave
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 65.7
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 68.5
LAV CUVID v0.4 - Adaptive
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 66.2
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 68.5
LAV CUVID v0.4 - frame doubling - Adaptive
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 131.3
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 136.6
LAV CUVID v0.4 DXVA - Adaptive
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 45.7
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 49.4
LAV CUVID v0.4 DXVA - frame doubling - Adaptive
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 56.5
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 58.9
I also have a big difference on the frame doubling tests. Now it seems that with a 10% overclock I might be able to use my GPU with the DXVA mode... Nice! :)
I will try and post the results...
One obvious difference is of course that GraphStudio uses LAV Splitter (which gets the timestamps right), and timeCodec forces Haali, but if that makes a difference now?
I think that's the difference. With LAV Splitter the frame rate is set correctly at 59.94, so graphstudio should be using that value as the reference, while timeCodec using Haali might be using the 29.97 as the frame reference, hence the difference. There is a 2:1 difference between both results. I got 28.4dfps and 29.7dfps with timeCodec for DXVA - frame doubling - Adaptive.
CruNcher
19th April 2011, 04:17
Hmm yet another issue with LAV CUVID + MadVR 0.57 i don't get that Video playback stable on VP2 http://bit.ly/faoAKb after @ 1:17 it starts to become so stuttery it's just painfull (dropping massively frames), doesn't look like a MadVR issue as with other input it works ok :(
Damnit it seems to be the same issue as the 12 second ok after extreme frame drops issue with most Decoder and VMR9 Renderless with 60 fps input only that it happens after 1:17 on this Video http://forum.doom9.org/showpost.php?p=1488268&postcount=6181 and again only Cyberlink DXVA shows no issues.
nevcairiel
19th April 2011, 06:43
VP2 hardware is just not fast enough for reliable 60p playback, deal with it. :p
Yes indeed. I didn't make custom ones because the default profiles are actually frighteningly useful now. Using madVR 0.57 and the auto res changer, I got perfect sync on my wife's Glee discs, so, I'm quite pleased. I haven't tried TMT5 to see if that's in sync. But so far so good.
Which actual refresh rate do you get at 24p? Mine would always be like 23.970 when using the built-in 23Hz setting, and with a custom resolution i can get 23.9764, which is so much closer to the perfect 23.9760.
Not that it matters that much, i don't bitstream and reclock can fix those issues for me. But i just like it as close to perfect as i can get... :D
I think that's the difference. With LAV Splitter the frame rate is set correctly at 59.94, so graphstudio should be using that value as the reference, while timeCodec using Haali might be using the 29.97 as the frame reference, hence the difference. There is a 2:1 difference between both results. I got 28.4dfps and 29.7dfps with timeCodec for DXVA - frame doubling - Adaptive.
Actually, the version of LAV Splitter that i use sets the frame rate to 29.97, the value defined in the Container, like Haali. I wouldn't think that a performance tool would look a the media type at all, just measure how many frames are coming out of the decoder.
It would be easy enough to test the same with Haali in GraphStudio, but shrug. These values just make more sense - deinterlacing is running in the 3D core, which is just super fast on my GTX570, so it would seem odd that double framerate would not give any increase at all. There is double the frames to deliver, without any extra decoding work (which does seem to be the limiting factor for me, on your card the full adaptive deinterlacing seems to be too much for the 3D engine)
jj666
19th April 2011, 07:06
LAV Filters / LAV CUVID / MADVR combination is certainly working fine with VP2 for regular untouched video Blu-ray remux playback (.TS container). Just tried some of my highest bitrate AVC/VC-1/MPEG-2 stuff and it is working without issues :-)
Given the graphics card is a couple of years old (9800GX2), quite happy with the performance here :-)
Cheers,
-jj-
SamuriHL
19th April 2011, 13:16
Which actual refresh rate do you get at 24p? Mine would always be like 23.970 when using the built-in 23Hz setting, and with a custom resolution i can get 23.9764, which is so much closer to the perfect 23.9760.
Not that it matters that much, i don't bitstream and reclock can fix those issues for me. But i just like it as close to perfect as i can get... :D
madVR tells me it's doing 23.971, so, yea it's off a bit. Maybe I'll try another custom res and see if I can get it as close as you have it. I DO bitstream so I really need it to be as close as possible. I guess I can mess with it tonight after I get home from work.
CruNcher
19th April 2011, 13:40
VP2 hardware is just not fast enough for reliable 60p playback, deal with it. :p
I can't deal with it though i guess you right slowly i think this problem is a combination of things including the missing faster Hardware memcopy in G92 and so CUDA is limited in it's Performance, though it's also not 100% logic as Cyberlinks DXVA works with these streams it must be a bottleneck in the decoders and applications that Cyberlinks Decoder just handles better in this situation :)
Might be though moving to 7 and WDM 1.1 all these issues will be history through the better GPU transfer Performance anyways.
But you really have to acknowledge what Cyberlink achieved here on XP, still wonder if this was by accident or coded for these cases but seeing how powerful their Transport Stream Demuxer is this is surely no accidental thing either but skill also seeing that no other ISV even the bests can cope with this (CoreCodec,Mainconcept), in this specific setup makes it even more awesome :)
Im pretty sure they had a user report about this and found a workaround maybe they do another way of memory copy that is more efficient.
nevcairiel
19th April 2011, 13:58
DXVA doesn't have to do memory copys, the decoded frame stays in the GPU and gets send to your screen from there, thats why DXVA will always be slightly more efficient, at the grand cost of flexibility.
As a quick note for the future: 60p reports for VP2 will just be ignored. It does not work, it will not work, its a done deal. The Hardware can barely keep up, and you will get dropped frames, so as a result, 60p on VP2 is not on the list of supported features.
Oh, btw, i'm really getting sick of your constant Cyberlink praises. Go buy their player, go use their stuff, just leave me alone with it. Thanks. They invest alot of money, and alot of developers in their stuff, and have done so for many years - the comparisons and expectations you show here are really getting annoying.
Good day.
yesgrey
19th April 2011, 14:24
I wouldn't think that a performance tool would look a the media type at all, just measure how many frames are coming out of the decoder.
OK. So, the only other option would be measuring differently the frames that are coming out of the decoder.
In LAV CUVID you only change the frame rate, or do you also mark each frame as a frame? Is there any internal variable that states if a frame is a frame or a field? If there is, maybe you will also have to change that variable and mark everything as frames?...
on your card the full adaptive deinterlacing seems to be too much for the 3D engine
Yes. I've tried the 10% overclocking and the numbers are better:
LAV CUVID v0.4 DXVA - frame doubling - Adaptive - 10% overclock
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 60.5
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 62.7
With madVR I still have jerky playback. Obviously, because madVR is also consuming GPU resources, and with the overclocking the GPU would be able to just handle the decoding.
However, when I tried with EVR it worked! So, until I upgrade my GPU, I will have to use EVR for watching my 60i media. But it only works with the overclock. Without it, the video and audio simply lose sync. It seems that EVR never drops any frames, so if the decoder cannot feed him fast enough, the video simply starts lagging relative to audio.
Another interesting thing, is that when we activate the DXVA interop it actually connects with the renderers via DXVA.
nevcairiel
19th April 2011, 14:27
In LAV CUVID you only change the frame rate, or do you also mark each frame as a frame? Is there any internal variable that states if a frame is a frame or a field? If there is, maybe you will also have to change that variable and mark everything as frames?...
I just don't mark any outgoing frames as anything, which means they are all frames, not fields. I have not found a way to output single fields, the closest to original fields i can do is outputting a weaved frame. But then, i don't think there is any use for that anymore (and i really haven't looked that hard).
Another interesting thing, is that when we activate the DXVA interop it actually connects with the renderers via DXVA.
No it doesn't - well not in a way that i would call "connect". Its a plain NV12 connection, exactly the same as without DXVA mode.
For some reason MPC-HC shows the DXVA flag, but i'm not even sure how that one is being detected - its some dark magic that hooks into some code - possibly detecting any calls into the DXVA video renderer service. Sadly, there is no simple flag that just says "Hey, we're using DXVA"
CruNcher
19th April 2011, 15:17
DXVA doesn't have to do memory copys, the decoded frame stays in the GPU and gets send to your screen from there, thats why DXVA will always be slightly more efficient, at the grand cost of flexibility.
As a quick note for the future: 60p reports for VP2 will just be ignored. It does not work, it will not work, its a done deal. The Hardware can barely keep up, and you will get dropped frames, so as a result, 60p on VP2 is not on the list of supported features.
Oh, btw, i'm really getting sick of your constant Cyberlink praises. Go buy their player, go use their stuff, just leave me alone with it. Thanks. They invest alot of money, and alot of developers in their stuff, and have done so for many years - the comparisons and expectations you show here are really getting annoying.
Good day.
Yes but maybe they do the buffering handling different that was also one thing i suspected @ first though i hope CoreCodec is able to find the answer why Cyberlinks Decoder survives this well see :)
And im using Cyberllinks Products especially for Satellite Transmission DVB since years and made it also due to all those tests on VP2 my preferred H.264 Hardware Decoder and whenever possible i use their VC-1 Hardware Decoder in partial accelerated mode for VP2, i did a lot of testing on those parts.
60p works the clips i posted are not the 4 Girls clip that one indeed overloads the VP2 here but the Sony Wipeout Clip and now this Battelfield 3 Trailer (done with some Apple Encoder) surely doesn't they are relatively low in complexity. So the issue is to be searched somewhere else but i see you not interested in this and that's fine with me wont bother you anymore as i found a working solution for flawless playback of these streams without leaving the VP2 :)
yesgrey
19th April 2011, 15:40
For some reason MPC-HC shows the DXVA flag, but i'm not even sure how that one is being detected - its some dark magic that hooks into some code - possibly detecting any calls into the DXVA video renderer service.
That's why I have said that it was connecting through DXVA. Both ERV custom and EVR sync show [DXVA].
CruNcher
19th April 2011, 15:50
Yep and that boost performance heavily and that on every renderer but on XP at least creates heavy problems artifacts as seen in my post, though they also can change depending on the splitter so i guess somehow the bitstream is wrongly rendered out (wrong frame order that creates heavy problems,whyever) :(
jj666
19th April 2011, 19:21
Nev, you can add 1080p50 to the list of non working stuff on VP2 also, was testing some stuff on the C-200 today as part of beta testing there. Tried the following (Panasonic HDC-SD900 camcorder) footage:
General
ID : 0 (0x0)
Complete name : F:\michael\original.MTS
Format : BDAV
Format/Info : Blu-ray Video
File size : 133 MiB
Duration : 45s 791ms
Overall bit rate : 24.3 Mbps
Maximum Overall bit rate : 28.0 Mbps
Video
ID : 4113 (0x1011)
Menu ID : 1 (0x1)
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.2
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Format settings, GOP : M=3, N=24
Codec ID : 27
Duration : 45s 240ms
Bit rate mode : Variable
Bit rate : 23.0 Mbps
Maximum bit rate : 26.0 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 50.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.221
Stream size : 124 MiB (93%)
Audio
ID : 4352 (0x1100)
Menu ID : 1 (0x1)
Format : AC-3
Format/Info : Audio Coding 3
Mode extension : CM (complete main)
Codec ID : 129
Duration : 45s 280ms
Bit rate mode : Constant
Bit rate : 384 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Compression mode : Lossy
Delay relative to video : -40ms
Stream size : 2.07 MiB (2%)
Played back choppy as hell :-)
I might consider upgrading the graphics card soon, so will keep the clip hanging around.
Cheers,
-jj-
nevcairiel
19th April 2011, 19:54
50p depends on the file really. A low complexity file might just work, but yeah to guarantee smooth playback of 50p, a VP3 is required, for 60p its more or less VP4
This is also how NVIDIA classifys the performance of the decoder blocks.
CruNcher
19th April 2011, 20:06
50p depends on the file really. A low complexity file might just work, but yeah to guarantee smooth playback of 50p, a VP3 is required, for 60p its more or less VP4
This is also how NVIDIA classifys the performance of the decoder blocks.
And from where comes that information now ? and i would disagree it depends generally on complexity i can playback 60p as well as 50p on VMR7/9 windowed and Overlay Mixer fine only MadVR is problematic the more complexity you add the more problematic it gets and on some renderer many decoder entirely fail with 50p 60p on VP2. On Vmr9 Renderless (most flexible compared to MadVR) its really problematic their almost any Decoder fails with 60p H.264 content on the VP2 including LAV CUVID,CoreAVC CUDA, CUDA Video Decoder so basicly all Nvcuvid based decoder and only "name is forbidden to be mentioned here" works with 60p content in DXVA mode on VMR9 Renderless flawless.
Though this is only valid for XP
So generally Overlay based Renderer work ok (with every Decoder) only if you go into the direction of having Subtitle support and Shader so VMR9 Renderless (on a 3D surfface) it gets very problematic with VP2 and Higher complexity as VP2 cards are most of the time also Cards (except the IGPs) that doesn't have the Hardware Memory Copy improvements of the newer Generation Cards.
Not sure what for a Improvement Vista/7 bring here subjectively as well as measureably with its WDDM 1.0/1.1 though it could compensate this being entirely optimized for copying data from the GPU->Host and vice versa as Aero (Direct3D) needs it majorly and more and more General Purpose Apps moving over currently see the Browser Move (1 of the heaviest currently trying to get everything Html5 related GPU accelerated/decoded with best Performance possible).
And the 4 Girls Clip is a perfect clip to test Video Decoding Performance (especially comparing different VPx) as @ both nearest Hardware levels on VP2 and XP you can get up to 52 fps (Nvcuvid as well as DXVA windowed/overlaymixer) the absolute maximum i measured here which is -7.x fps what is needed to reach Realtime Playback and hell that stream is complex (though it still adheres to the max ref for DXVA "H.264 Level 4.1 spec" so no glitches @ playback).
jj666
19th April 2011, 21:08
Well both the 50p sample I mentioned and the 60p sample you posted Cruncher failed miserably, so would assume that's a VP2 limitation. It's not an issue at all here, as I'm setting up the system predominantly for watching untouched Blu-ray remuxes and it's played back all of the tested ones fine.
My mediaplayer failed recently, so needed a fall back solution for which all of Nev's new tools have worked magnificently for. It's been a huge benefit to be able to remove all codec packs and the bug ridden Haali splitter from the system -- everything here is now working fine without having to fiddle or mess around with anything.
Cheers,
-jj-
CruNcher
19th April 2011, 21:30
If you mean the Sony Wipeout Clip then your only chance would be LAV CUVID + Overlay Mixer if that cant play it then most probably nothing at least that i know of will (Hardware Decoded) and if you need VMR9 Renderless or even MadVR forget it @ least under XP though with Cyberlinks Decoder you can have luck on VMR9 Renderless but only if @ least Lav Cuvid works without playback issues on Overlay Mixer ;).
If you are on Vista or 7 though forget everything i say :)
Aleksoid1978
20th April 2011, 05:30
Some .avi(xvid) need to set Frame Time Correction is ON, but some - don't need. It's not good.
And other bug: VC-1 interlace - if start MPC-HC and open file play fine, but if already play any video and open file with VC-1 interlace video stream - playback is broken, black screen and no DXVA in MPC-HC stat.
nevcairiel
20th April 2011, 06:50
Some .avi(xvid) need to set Frame Time Correction is ON, but some - don't need. It's not good.
.avi has just unreliable and practically non-existent timestamps, there is nothing to be done.
And other bug: VC-1 interlace - if start MPC-HC and open file play fine, but if already play any video and open file with VC-1 interlace video stream - playback is broken, black screen and no DXVA in MPC-HC stat.
Known bug, i've been trying to track it down.
ranpha
20th April 2011, 07:33
.avi has just unreliable and practically non-existent timestamps, there is nothing to be done.
This can probably be mitigated if you can enable the 'Generate missing timestamps' in LAV splitter to .avi container too. Doing so to an .mkv video that has such problematic XviD files makes playback much better.
nevcairiel
20th April 2011, 08:33
This can probably be mitigated if you can enable the 'Generate missing timestamps' in LAV splitter to .avi container too. Doing so to an .mkv video that has such problematic XviD files makes playback much better.
That option will not work for .avi, mostly because .avi itself does not carry any useful timestamps to extrapolate the missing timestamps from.
But this is nothing the decoder should every worry about, and therefor OT for this thread.
roozhou
20th April 2011, 09:05
That option will not work for .avi, mostly because .avi itself does not carry any useful timestamps to extrapolate the missing timestamps from.
But this is nothing the decoder should every worry about, and therefor OT for this thread.
Timestamps in avi are actually reordered PTS if no packet-bframe hacking is used. All ffmpeg based decoders can handle them correctly.
nevcairiel
20th April 2011, 09:08
I have no influence on how the timestamps are handled, the hardware decoder processes and reorders them - blame them if it doesn't work properly. Personally, i don't care that much about AVI - it does not contain HD material (and if it does, it deserves to not work), and if you're having those issues, just turn off the MPEG4-ASP decoder and let your CPU do it - i don't think they still build CPUs too slow to decode a typical XVID AVI file. :p
Besides, it works fine for the AVI files i tried, so those files seem to be messed up in the first place.
kieranrk
21st April 2011, 00:57
Oh, btw, i'm really getting sick of your constant Cyberlink praises. Go buy their player, go use their stuff, just leave me alone with it. Thanks. They invest alot of money, and alot of developers in their stuff, and have done so for many years - the comparisons and expectations you show here are really getting annoying.
Good day.
Just ignore him. He spouts junk out all day every day.
mindbomb
21st April 2011, 02:41
question: my 9400m can't use double framerate with 1080p 30 fps interlaced material without dropped frames. Is this due to a limitation in shader power, or a limitation in vp3?
nevcairiel
21st April 2011, 07:05
If non-double framerate works fine, then the decoder is fast enough.
Double Framerate only requires 3D power and memory bandwidth, the decoder is not involved. I think even VP2 is fast enough to do 60i decoding (60 fields are about the same work as 30 full frames), the deinterlacing is then done by the 3D engine, and independent of the video decoder block.
n3w813
21st April 2011, 21:55
I'm having issues getting CUVID to load when playing a h264 mkv. I'm using MPC-HC 1.5.2.3045 and only LAVFSplitter 0.23, LAV CUVID 0.4, ffdshow audio decoder, and MadVR are in the external filters list.
When I try to play a mkv, it says it can't find a filter to connect to. If I add CoreAVC 2.0 to the external list, it works with CoreAVC 2.0 w/CUDA enabled.
I'm running Windows 7 64bit SP1, but everything else in the video chain are 32bit; MPC-HC, lavfsplitter, cuvid, ffdshow, etc.
The video card I'm using is a Quadro FX 3800 with the latest 270.61 drivers.
Any help would be greatly appreciated!!! :)
nevcairiel
21st April 2011, 22:13
Maybe something about Quadro cards is different that needs special handling. Sadly i do not have such a card, nor access to one, so that doesn't make things easier...
SamuriHL
21st April 2011, 22:15
I do. :) Built into my work laptop. What can I do that'd be useful? I don't have anything at all set up on my work laptop but I could if it'd help.
spartan711
21st April 2011, 22:26
Is there any benefit in using this combo on windows 7 vs XP?
LAVsplitter + CUVID + Arcsoft HD Audio + MadVR? (including reclock)
I know this isn't the forum for madVR, I will be posting in the madshi forum as well. The goal in this is that its a lot easier to make a stripped down install for xp than it is for 7. I envision a perfect playback system that I can take on my flash drive.
I got a Quadro card (with Fermi chip), I do not have any problems with LAV CUVID (except those that are listed as known issues, but they are not card specific).
nevcairiel
21st April 2011, 23:00
Adding it to the list never hurts, and as soon as you install other source filters, it'll be kinda required.
namaiki
22nd April 2011, 01:41
n3w813, could you please post a text copy of what cannot be connected on your computer? (might be similar to what I have posted below)
I'm having issues getting CUVID to load when playing a h264 mkv. I'm using MPC-HC 1.5.2.3045 and only LAVFSplitter 0.23, LAV CUVID 0.4, ffdshow audio decoder, and MadVR are in the external filters list.
When I try to play a mkv, it says it can't find a filter to connect to. If I add CoreAVC 2.0 to the external list, it works with CoreAVC 2.0 w/CUDA enabled.
I'm running Windows 7 64bit SP1, but everything else in the video chain are 32bit; MPC-HC, lavfsplitter, cuvid, ffdshow, etc.
The video card I'm using is a Quadro FX 3800 with the latest 270.61 drivers.
Any help would be greatly appreciated!!! :)
Are you sure that you are using lavfsplitter and not Haali Media Splitter with it's option for custom media type for H.264? (unless LAV CUVID already supports 'CCV1' which I admittedly cannot test)
Media Type 0:
--------------------------
Video: CCV1 1280x720 23.98fps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: Unknown GUID Name {31564343-0000-0010-8000-00AA00389B71}
formattype: FORMAT_MPEG2_VIDEO {E06D80E3-DB46-11CF-B4D1-00805F6CBBEA}
bFixedSizeSamples: 0
bTemporalCompression: 0
lSampleSize: 1
cbFormat: 172
VIDEOINFOHEADER:
rcSource: (0,0)-(0,0)
rcTarget: (0,0)-(0,0)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 417083
VIDEOINFOHEADER2:
dwInterlaceFlags: 0x00000000
dwCopyProtectFlags: 0x00000000
dwPictAspectRatioX: 1280
dwPictAspectRatioY: 720
dwControlFlags: 0x00000000
dwReserved2: 0x00000000
MPEG2VIDEOINFO:
dwStartTimeCode: 0
cbSequenceHeader: 40
dwProfile: 0x00000064
dwLevel: 0x00000033
dwFlags: 0x00000004
BITMAPINFOHEADER:
biSize: 40
biWidth: 1280
biHeight: 720
biPlanes: 1
biBitCount: 24
biCompression: CCV1
biSizeImage: 0
biXPelsPerMeter: 1
biYPelsPerMeter: 1
biClrUsed: 0
biClrImportant: 0
pbFormat:
0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0020: 00 00 00 00 00 00 00 00 3b 5d 06 00 00 00 00 00 ........;]......
0030: 00 00 00 00 00 00 00 00 00 05 00 00 d0 02 00 00 ............Ð...
0040: 00 00 00 00 00 00 00 00 28 00 00 00 00 05 00 00 ........(.......
0050: d0 02 00 00 01 00 18 00 43 43 56 31 00 00 00 00 Ð.......CCV1....
0060: 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 ................
0070: 00 00 00 00 28 00 00 00 64 00 00 00 33 00 00 00 ....(...d...3...
0080: 04 00 00 00|00 1e 67 64 00 33 ac 56 2c 05 00 5b ......gd.3¬V,..[
0090: bf f0 00 10 00 11 00 00 03 03 e9 00 00 bb 80 8f ¿ð........é..»€
00a0: 18 31 8b 80 00 06 68 e8 ae 1b 2c 8b .1‹€..hè®.,‹
mindbomb
22nd April 2011, 03:11
i just noticed something quite strange, my 9400m has 256mb of video ram, as well as my 8600gt. However, when running lav cuvid and madvr, it appears that my 8600gt runs out of ram while my 9400m runs them comfortably.
So the conclusion I've drawn is that VP3 and VP4 cards just need 256mb for madvr and lav cuvid, while vp2 cards require more than 256mb.
Has anyone else noticed something similiar?
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.