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

madshi
14th July 2011, 09:15
I didn't know the streams are encrypted. Does that even happen if the DVD is already unprotected/decrypted?

nevcairiel
14th July 2011, 09:20
Not sure, probably not.
But it always sends the data in a special packed format, namely as MEDIATYPE_DVD_ENCRYPTED_PACK, which is a special packing form for single PES units, either encrypted or not.

I borrowed the code to handle this from MPC-HC, after understanding it in theory and testing some discs, i just called it a day and didn't investigate to deeply how it really behaves. ;)

madshi
14th July 2011, 09:30
Bah, why does it all have to be so complicated? <sigh>

clsid
14th July 2011, 11:20
The Macrovision error is just a simple renderer check afaik. Use a guid from one of the MS renderers and a custom renderer wil work.

I wonder if it would be possible to create some kind of wrapper for the MS DVD navigation filter. Then the data/info it gets could be modified to fool it.

madshi
14th July 2011, 11:41
The Macrovision error is just a simple renderer check afaik. Use a guid from one of the MS renderers and a custom renderer wil work.
Hmmmm... That sounds like a good idea, will give that a try sooner or later. Thanks!

I wonder if it would be possible to create some kind of wrapper for the MS DVD navigation filter. Then the data/info it gets could be modified to fool it.
That would be quite cool, of course.

clsid
14th July 2011, 11:46
Replacing one of the MS decoders might not be safe though and could result in funky problems. Some other filters also check which renderer is used to adjust their behavior. For example ffdshow.

madshi
14th July 2011, 11:52
Well, I could try to make only the MS Navigator think I'm EVR. Not sure if that's possible. At least it's something to play with...

starla
16th July 2011, 20:34
What does the decoder have to do with the menu navigation? I thought the menu navigation would be a separate subtitle pin in the *navigation* filter? I don't really know, though, just wondering...

MPEG2 decoder in DVD graph is responsible for decoding the sub picture stream - navigator doesnt do that (or correct directly to the video renderer).

As attachement there is a MediaPortal's directshow graph with MS DVD Navigator.

- tourettes

madshi
16th July 2011, 21:06
Attachments sometimes take ages to be approved in this forum, unfortunately.

lych_necross
21st July 2011, 06:53
I am having trouble playing this file with LAV CUVID Decoder 0.9.

http://www.mediafire.com/?yv750rqhfot2htq

This is a clip I made from my encode of Star Trek (2009). Here is the MediaInfo data is available here (http://pastebin.com/p7Sh6VYh).


This clip plays fine with DiAVC and ffdshow, but not with LAV CUVID Decoder. I'm not sure if it is a problem with my file or with Nvidia's drivers (I use version 275.50).

nevcairiel
21st July 2011, 17:55
I'm just assuming here you're using madVR 0.67 - which is actually causing this problem.

In any case, i've applied a small fix which should make LAV CUVID more resistant against this problem in the future.

lych_necross
22nd July 2011, 06:35
I'm just assuming here you're using madVR 0.67 - which is actually causing this problem.

In any case, i've applied a small fix which should make LAV CUVID more resistant against this problem in the future.
:thanks:
Yes I was using madVR 0.67. I downgraded to madVR 0.66 and all is well.

mindbomb
26th July 2011, 00:41
http://www.megaupload.com/?d=LAJVY9EO

this file(33mb) doesnt play in cuvid .9, but plays with dxva filters.

Virtual_ManPL
27th July 2011, 13:41
Aspect ratio bug
Looks identical like in CoreAVC - http://forum.doom9.org/showthread.php?p=1390600#post1390600

nevcairiel
27th July 2011, 14:06
Aspect ratio bug
Looks identical like in CoreAVC - http://forum.doom9.org/showthread.php?p=1390600#post1390600

This is not a bug.

Disable "Use Stream AR" in LAV CUVID settings.
Those encodes are just broken, having a wrong AR encoded in the bitstream. Haali manually overwrites that AR, so CoreAVC didn't have to offer this option in the decoder.

Virtual_ManPL
27th July 2011, 14:09
Ahhh, didn't try it at first.
Now works fine, thank you.

mark0077
29th July 2011, 00:44
quick question guys if anyone knows the answer it would be great. Does the output colorspaces option in lavcuvid have an impact when lavcuvid does hardware de-interlacing?

I'm outputting from lavcuvid into avisynth, which doesn't take nv12 as input, but I'm afraid that selecting yv12 in lavcuvid will have a negative impact on my de-interlacing quality but am not sure if this is just the final output colorspace, or a colorspace used internally for deinterlacing..

Edit:btw this is using nvidia gpu which obviously has better deinterlacing when fed nv12 afaik

pankov
29th July 2011, 00:52
I think the quality will not be affected if you change from nv12 to yv12 but I'm not 100% sure

nevcairiel
29th July 2011, 07:08
The decoder internally always works with NV12, its the only format it natively supports at this point. If you request YV12 output, it'll be converted manually (eg. by LAV CUVID, not by the NVIDIA driver) afterwards.
There is no quality difference between NV12 or YV12 output - both formats are 100% identical (except their different memory layout, of course)

dandyjun
29th July 2011, 11:25
I thank for your decoder codec.

But I have one problem for divx/xvid format on my laptop with Nvidia optimus system.

My GT540m is VP, C feature.

0.7 version can decode for divx/xvid with Nvidia optimus system.
But 0.8 and 0.9 version can't decode that.

I think that you don't consider Nvidia optimus system.

betaking
29th July 2011, 11:54
I thank for your decoder codec.

But I have one problem for divx/xvid format on my laptop with Nvidia optimus system.

My GT540m is VP, C feature.

0.7 version can decode for divx/xvid with Nvidia optimus system.
But 0.8 and 0.9 version can't decode that.

I think that you don't consider Nvidia optimus system.

Nvidia VDPAU Feature Sets
Feature Set C Complete acceleration for MPEG-1, MPEG-2, MPEG-4 Part 2 (a.k.a MPEG-4 ASP), VC-1/WMV9 and H.264. Global motion compensation and Data Partitioning are not supported for MPEG-4 Part 2.

nevcairiel
29th July 2011, 12:27
But I have one problem for divx/xvid format on my laptop with Nvidia optimus system.

My GT540m is VP, C feature.

0.7 version can decode for divx/xvid with Nvidia optimus system.
But 0.8 and 0.9 version can't decode that

Without owning a Optimus capable device, there isn't much i can do. I don't know how the devices are reported to the system.

XVID/DIVX is really not the most complicated format, and i don't think it hurts anyone if its falsely detected as not supported.

Xaurus
30th July 2011, 17:18
Nev,

I've gone back to LAVcuvid for 1080i since there are no other options out there that can match the deinterlacing quality.
While not perfect, it's still better than anything I could do with FFDSHOW + YADIF.

I've done much reading here:
http://www.avsforum.com/avs-vb/showthread.php?t=1157287

Also, those videos provided there might prove useful to anyone that wants to check the deinterlacing capability of their setup. And of Nev to fine-tune LAVcuvid. :)

Download - Format (MPEG-2 TS - 1920*1080):

NTSC interlaced:
1080i - 29.97 fps - VBR, 20 mbps - (42 MB) (http://dl.dropbox.com/u/8424544/Slices/Video/Slices_MPEG2_NTSC_1080i_29.97.zip)
NTSC progressive:
1080p - 29.97 fps - VBR, 16 mbps - (29 MB) (http://dl.dropbox.com/u/8424544/Slices/Video/Slices_NTSC_1080p_29.97.zip)

PAL interlaced:
1080i - 25 fps - VBR, 20 mbps - (50 MB) (http://dl.dropbox.com/u/8424544/Slices/Video/Slices_MPEG2_PAL_1080i-25.zip)
PAL progressive:
1080p - 25 fps - VBR, 16 mbps - (35 MB) (http://dl.dropbox.com/u/8424544/Slices/Video/Slices_PAL_1080p-25.zip)

The progressive versions may be good e.g. to watch the perfect structures and movements without any deinterlacing disortion.


Download - Format (H.264 - 1920*1080):
NTSC interlaced:
H.264 - 1080i - 29.97 fps - (36 MB) (http://dl.dropbox.com/u/8424544/Slices/Video/Slices_H.264_NTSC_1080i-29.97.ts)
PAL interlaced:
H.264 - 1080i - 25 fps - (33 MB) (http://dl.dropbox.com/u/8424544/Slices/Video/Slices_H.264_PAL_1080i-25.zip)


Download - Format (VC-1 - 1920*1080):
NTSC interlaced:
TS (26MB) NTSC 1920x1080 interlaced 29.97fps (http://dl.dropbox.com/u/8424544/Slices/Video/Slices_VC-1_NTSC_1080i-29.97_ts.zip)
NTSC interlaced:
MKV (27MB) NTSC 1920x1080 interlaced 29.97fps (http://dl.dropbox.com/u/8424544/Slices/Video/Slices_VC-1_NTSC_1080i-29.97_mkv.zip)

nevcairiel
30th July 2011, 17:22
The Cheese Slices video is a common testing video, already knew it. :p

Also, i don't think speaking of "percect" when talking about deinterlacing is really realistic. You have a video with only half the information, and you have to interpolate the missing information. There is clearly still some artifacting going on with the hardware deinterlaces - however this is a very artificial sample, on real world samples, i consider the GPUs already pretty damn good.

pankov
31st July 2011, 01:08
nev,
today I tried an old MPEG2 .ts TV stream and it didn't play correctly with LAV CUVID while LAV Video, FFDShow and madVR's Decoders played it fine. From madVR's OSD I noticed that it was a 4:2:2 so I guess that my (if any) video card doesn't support it in hardware. Is this correct?
Is there anything I can do to have LAV CUVID as my preferred decoder but still use another one for such unsupported streams?
If you need I can provide a sample, but I think you already have such streams.

CruNcher
31st July 2011, 03:55
The Cheese Slices video is a common testing video, already knew it. :p

Also, i don't think speaking of "percect" when talking about deinterlacing is really realistic. You have a video with only half the information, and you have to interpolate the missing information. There is clearly still some artifacting going on with the hardware deinterlaces - however this is a very artificial sample, on real world samples, i consider the GPUs already pretty damn good.

Don't let Didee hear that ;)

nev,
today I tried an old MPEG2 .ts TV stream and it didn't play correctly with LAV CUVID while LAV Video, FFDShow and madVR's Decoders played it fine. From madVR's OSD I noticed that it was a 4:2:2 so I guess that my (if any) video card doesn't support it in hardware. Is this correct?
Is there anything I can do to have LAV CUVID as my preferred decoder but still use another one for such unsupported streams?
If you need I can provide a sample, but I think you already have such streams.

Nope not yet also no Player yet is eventually designed to be as smart, a few advanced DXVA Decoder though fallback already automatically to their Software Decoders if Studio Profile is detected but not many support Studio Profile @ all to begin with. ;)

nevcairiel
31st July 2011, 08:32
All hardware decoders are currently limited to 4:2:0.

I already have the code to probe the MPEG-2 media type if its 4:2:2 or 4:2:0, and refuse connection in this case. I just need to get around to adding it.

CruNcher
31st July 2011, 10:56
Yep Finally Lav Cuvid would be able then to fallback to any preferred Software Studio Profile Decoder as Lav Video, MPCs Video Decoder, Mainconcept, Nero ect :) the same then needs to be done for H.264 and those different non "consumer" hardware decoder supported profiles.

sneaker_ger
31st July 2011, 14:22
the same then needs to be done for H.264 and those different non "consumer" hardware decoder supported profiles.

Which would be? nevcairiel seems to be blocking every not supported type he knows of already, so if you know even more, spit it out.

magic144
1st August 2011, 22:46
Hi - hope someone can help...
Can anybody explain the following:-

I'm testing with a 1080i retail music video BD, output to my LCD monitor via DVI, 1920x1200@60Hz
NVIDIA GeForce 9500GT

CUVID Settings:-
Frame Rate - 50p/60p (Video)
Use Stream Aspect Ratio (yes)
Use HQ DXVA processing (yes)
Field Order (Auto)
Output Format (Auto)

If I set Deinterlacing to "Adaptive", the video seems to play back half-speed compared to the audio and falls horribly out of sync. The renderer properties (EVR) are showing 59+ fps...
However if I choose either of the other None/Bob settings, EVR shows same fps but Video plays at correct speed...

Thanks in advance if anyone can explain this!

m

nevcairiel
1st August 2011, 22:53
Your GPU is probably too slow. You can increase your success on a low-performance GPU like the 9500 by changing the frame rate to 25/30p, and turning off HQ DXVA processing.

Why EVR doesnt show the proper stats, i dont know.

magic144
1st August 2011, 23:32
thanks - the HQ DXVA turned off improves things somewhat, but yeah I have to drop back to 25/30 to achieve total success

I had read somewhere that you probably need at least a GT440 with GDDR5 to avoid issues here - does that sound about right to you guys here?
I think it was this thread...
http://www.avsforum.com/avs-vb/showthread.php?t=1342476&page=2

thanks again,
m

Alexey1975
3rd August 2011, 09:57
Thank you Nevcairiel for your Great and Valuable Job!
Just only one request for your LAV CUVID Decoder: It desperately lacks of "Always Do Deinterlace" option!
Please, add it.

Hera
4th August 2011, 08:43
Any plans for Haali Renderer support?
EDIT: Or am I doing something wrong?

BetA13
4th August 2011, 12:09
hy nevcairiel,

first of all..Thanks so much for ur work..lav cuvid and co. does work very very well and have great value...
Im very happy with my video setup now..Its just one little thing that i dont like...
Is it possible to integrate a contrast and Brightnes controll..?
sometimes the picture is way too dark, xvid mostly..and there im missing a controll to edit them..like 2 little sliders to controll that a bit..

I really would be happy if this would find the way into ur decoder...

anyway..THX a lot for ur work here..im really impressed...I also did make a thread over @ Guru3d about ur filters and codecs and keep it always up to date..The people loving it...


Greetz BetA@Guru3D

rahzel
7th August 2011, 05:13
I'm planning on picking up a GT430 to replace my Radeon 5570 so that I can use the Cuvid decoder with madVR. I haven't had an Nvidia card for a while, so I'm not quite clear on what I need. If I want to use CUDA and bitstream HD audio, is every driver I need included with the display drivers (HDMI driver + CUDA driver?). I seem to remember a while ago that they were separate.
Also, are there any other Nvidia HDMI drivers like there is with AMD? AMD has the Realtek ones (which I preferred) and the official AMD ones that were included with the Software suite.

nevcairiel
7th August 2011, 06:42
Everything you need is included in the main driver package. Just get the latest directly from nvidia.

rahzel
7th August 2011, 07:04
Thank you.

Something else has recently got me to be hesitant of purchasing an Nvidia card. I see a lot of people fiddling around custom resolutions/refresh rates to get proper/smooth playback for 23.976 videos (ie, most film/movies) on a 24Hz capable display. What's the issue here? Is it that 23Hz is slightly too low (I see people saying ~23.967Hz) and 24Hz is slightly too high? Wouldn't Reclock fix this? I know right now, I have my Radeon 5570 set to 23Hz and IIRC, the actual refresh rate is 23.975. I have ReClock and movies seem buttery smooth to me... no frame drops at all.

nevcairiel
7th August 2011, 08:44
Reclock can fix that, however if you can get alot closer to the target by simply changing some settings, why not do it? Makes reclocks job alot easier, and in theory provides better audio (less resampling)

CruNcher
7th August 2011, 15:17
I changed now to VP4 from VP2 in the face of the 460 GTX and now i can playback 4 Girls @ 60 FPS in DXVA :) compared to the max of 52 FPS with the VP2 with the 9800 GT http://forum.doom9.org/showpost.php?p=1490026&postcount=67 gonna update with the VP4 results also im curios if my Lav Cuvid 60 FPS problems are now history http://forum.doom9.org/showthread.php?p=1488268&highlight=Cyberlink#post1488268 but im confident that's the case (thx to the Hardware improved Memory Copy) :)

MadVR Benchmark 4 Girls + Scaling (Highest Quality)

9800 GT 512 MB (G92,VP2) = 170 FPS
460 GTX 1 GB (G104,VP4) = 250 FPS

9800 GT (G92,VP2)

http://img541.imageshack.us/img541/6451/cudabandwith.png

460 GTX (G104,VP4)

http://img215.imageshack.us/img215/245/460gtxcudaz.png

9800 GT (G92,VP2)

http://img52.imageshack.us/img52/8686/disabledisplayout.png

460 GTX (G104,VP4)

http://img146.imageshack.us/img146/1184/460gtxvp4disabledisplay.png

Though i really wonder if it might be that the Bios of the 9800 GT (G92,VP2) is wrong optimized @ all and if 60 fps aren't possible with some optimization

PS: Yep the 60 FPS issues after X seconds http://forum.doom9.org/showthread.php?p=1488268&highlight=Cyberlink#post1488268 are history with Lav Cuvid and also any DXVA decoder so that Cyberlinks DXVA Decoder worked even on the 9800 GT with those (the only Decoder capable of flawless DXVA playback with those test samples on the 9800 GT (G92,VP2)) becomes more impressive ;)

Yes finally Full GPU offload Encoding works with Nvcuvenc (higher end bitrate though) reduces CPU use from 50% (partial) to 13% (full offload + cabac) :)

nautilus7
7th August 2011, 17:16
I noticed image corruption when decoding Conan the Barbarian BD.

http://thumbnails42.imagebam.com/14393/38ff40143925496.jpg (http://www.imagebam.com/image/38ff40143925496)

Sample: http://www.sendspace.com/file/98q7dn

Same happens with ffmpeg based decoders.

yesgrey
7th August 2011, 18:56
I'm planning on picking up a GT430 to replace my Radeon 5570 so that I can use the Cuvid decoder with madVR.
I wouldn't go with that one. The GT430 use DDR3 memory, which is very slow. If you're looking for a budget go with the GT440 DDR5. If you plan to use it for double rate deinterlacing, then you should not consider less than a GTS 450.

madshi
7th August 2011, 20:03
I noticed image corruption when decoding Conan the Barbarian BD.

Same happens with ffmpeg based decoders.
Same happens with CoreAVC, DivX and Intel decoders. So it looks very much like a broken video stream.

kamineko
9th August 2011, 10:21
For Hardware Support, Wikipedia to the rescue. You need at least VDPAU Feature Set A for H264 decoding, B for VC-1 and MPEG2, and C for MPEG4-ASP.
http://en.wikipedia.org/wiki/Nvidia_PureVideo#Table_of_PureVideo_.28HD.29_GPUs

The 9600GT is a "A" Feature Set, so at least you get H264 decoding out of it.
I am in the market for a new graphics card - could you recommend a minimum (is GT 430 ok - Zotac has a nice passive one with DisplayPort)?

CPU should be sufficient to drive it, if there's a minimum recommendation as well, I gladly take it.

pankov
9th August 2011, 11:02
kamineko,
use the search function or at least read a few posts above - the same was asked and answered a few days ago

SamuriHL
9th August 2011, 14:31
Sweet. Thanks!

CruNcher
10th August 2011, 08:04
@nev sorry for oftopic
could you help me here
http://forum.doom9.org/showthread.php?t=162182

kamineko
10th August 2011, 14:51
kamineko,
use the search function or at least read a few posts above - the same was asked and answered a few days ago
Sorry about that - I'm searching now more than three days for information, and I lost track where I already searched and jumped right in here.

And I posted in the wrong thread - the one I had open for exactly the search, and not the one in the AVSForum where I intended to post.

Reading the last 10 pages really makes me look like an idiot here... :blush:

CruNcher
12th August 2011, 07:21
@Nev any progress on the Mpeg-2 Studio Profile fallback ? (4:2:2) http://forum.doom9.org/showpost.php?p=1518850&postcount=17995

http://www.mediafire.com/download.php?t3k31t4iulsz41q <-Field Order Auto Detection fails (works with CoreAVC Cuda)

Aegwyn11
13th August 2011, 20:33
I apologize if I'm posting in the wrong place...really struggling to solve this one and not 100% sure where to start.

When playing back 1080i VC-1 material (Human Planet to be exact), I get jerky playback. The "jerk" happens about once every second with LAV CUVID/madVR/MPC-HC. I'm using a GTS 450. If I change to a different renderer, the symptom is less apparent because the video just isn't as smooth to begin with. If I change LAV CUVID to 30p (instead of 60p), the symptom is slightly less apparent because again, the video just isn't as smooth to begin with. If I try the clip in WMP, the symptom is less apparent (see above) and much more random. I tried Reclock and it didn't help.

Its most apparent on scrolling credits. It almost appears that its displaying a frame out of order (the credits seem to jump up, then back to the right spot).

I noticed this problem previously on another VC-1 1080i video (US version of Life). At the time I had a GT430 and assumed it was due to bandwith limitations on that card.

The VAST majority of my HD library is 24p and I never see this problem on that content. It also seems that 480i content (Mpeg-2) doesn't have this problem. Not sure about 1080i h.264...don't have any to test.


Thoughts? Suggestions?