Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
|
![]() |
|
Thread Tools | Search this Thread | Display Modes |
![]() |
#1 | Link |
Registered Developer
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,375
|
LAV CUVID Decoder - High Quality Hardware decoding for NVIDIA
LAV CUVID is DEAD. All of its functionality has been merged into LAV Video. LAV CUVID will not be developed any further.
------------------------------------------------------------------------------------------------------ Hi folks, i would like to introduce my LAV CUVID Decoder. It is a DirectShow Video Decoder utilizing the NVIDIA hardware decoder engine through the CUDA Video Decoding API ("CUVID"). Its still in its early stages, but its already been tested thoroughly and supports all major formats that the NVIDIA hardware can decode, which are right now H264, VC-1, MPEG2 and MPEG4-ASP (DivX/Xvid). Both progressive and interlaced types are supported. As a bonus, when decoding interlaced content, it can do full adaptive deinterlacing, the best your GPU has to offer. So, without further introduction, here it is! Features - Decoding of H264, VC-1, MPEG2 and MPEG4-ASP (each given appropriate hardware support) - Full Adaptive Deinterlacing, including Frame Doubling (perfect smooth playback of 1080i/60 content!) - Usable with all renderers! Including madVR, which is recommended for the best playback quality! - NV12/YV12 output Download Source Code is available from my Git repository Binarys are available here: Version 0.13: Installer (32/64-bit, CUDA 4.0+) - 32-bit (CUDA 4.0+) - 64-bit (CUDA 4.0+) -- 32-bit (Older CUDA) A note on the different versions: The CUDA 4.0 builds require a 270 series driver (or newer). The "Old CUDA" build should in theory work with much older drivers, in case you cannot upgrade. Changelog -- Full changelog -- Release Notes 0.13 - 2011/09/13 - Improved resource release behavior - Improved VC-1 in EVO with pulldown flags
__________________
LAV Filters - open source ffmpeg based media splitter and decoders Last edited by nevcairiel; 3rd February 2012 at 07:53. |
![]() |
![]() |
![]() |
#2 | Link |
Registered Developer
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,375
|
This is a decoder for NVIDIA GPUs, it does not work with ATI/AMD or Intel, and it never will!
Requirements/Recommendations - NVIDIA PureVideo HD capable graphics card (VDPAU Feature Set A or better - see list here) - At least 256MB of Video RAM, 512MB recommended - Recent NVIDIA Drivers - CUDA 4.0 compatible driver recommended (270 series), older drivers may work with the "Old CUDA" build. - Vista/7 recommended due to much improved driver handling, but XP SP3 "should work" (see hints below) Performance - 1080p60 decoding is only supported on VP4 hardware (VDPAU Feature Set C) - When encountering performance issues, turning off the "HQ DXVA processing" option will yield the best gain in performance, at a minimal loss of quality. - Using the latest driver (275.33 at the time of writing), can greatly improve the performance. Hints - When running on Windows XP, its recommended to turn the "Use HQ DXVA processing" setting off, its not fully supported on XP and might cause image corruption. Known Issues - The decoder will try to decode all video streams, and not refuse formats that are not supported. - VC-1/MPEG4-ASP VFR content will most likely not play properly. reserved for FAQ, etc.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders Last edited by nevcairiel; 17th August 2011 at 11:55. |
![]() |
![]() |
![]() |
#3 | Link |
Registered Developer
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,375
|
To say a few words about 0.1:
First: This is a very early test version, it can quite possibly blow up. It comes without any configuration, and its only tested on VP4 (Fermi) hardware. In the future, you will be able to configure things like: - Use Stream Aspect Ratio (currently always on) - Which Codecs should be active - Should Deinterlacing be performed (currently always in "adaptive" mode) - And whatever i can think of. Also, it only supports NV12 output. This might change in the future, but any conversion of course gives you a performance penality, and NV12 is the native format of the decoder. Oh, and if you're using it together with LAV Splitter on interlaced VC-1, make sure to disable the VC1 timestamp correction in the LAV Splitter settings. The next version of LAV Splitter will have this decoder added to the auto-detect mode. BTW, if anyone is good with assembler, i could need some asm function which changes the stride of a NV12 image. My C implementation is probably quite slow.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders Last edited by nevcairiel; 25th March 2011 at 23:48. |
![]() |
![]() |
![]() |
#4 | Link |
Registered User
Join Date: Oct 2009
Location: France
Posts: 616
|
Amazing
![]() Can't register filter, maybe need minimum driver version or hardware (9600GT) ? Thanks.
__________________
HTPC : i7 920 6Go Win10(x64) / Nvidia 1050Ti / P6T Deluxe / Harman-Kardon AVR-355. Last edited by Sebastiii; 25th March 2011 at 23:50. |
![]() |
![]() |
![]() |
#5 | Link |
Registered User
Join Date: Dec 2003
Posts: 179
|
Hi nev,
I'm unfortunately unable to utilize this decoder due to my laptop being equipped with an ATI card, but I suggest writing as clear as possible why ATI can't be supported, at least for the foreseeable future. I suppose it won't be long before this question starts popping up. |
![]() |
![]() |
![]() |
#6 | Link |
Registered User
Join Date: Oct 2008
Location: Portugal
Posts: 161
|
When I use your LAV CUVID Decoder to play a 1280x688 movie at a 1920x1080 resolution in MPC-HC, what is doing the upsample? My GPU? The MPC-HC?
When I used ffdshow I had an Avisynth script to spline36resize my videos to 1920x1080, but when using CUVID I no longer know if it is being done by the graphics card (would this be a good thing, quality-wise?) or being done by what I have selected at the MPC-HC Resizer's drop-down box. Nuno
__________________
Win 11 x64, Geforce RTX 4060 Ti 16GB, TV Sony KD-55X8509C HDMI, Denon AVR-X2700H, Core i7-9700K, 32GB DDR4, Creative Labs Gigaworks S750 7.1 speakers MPC Home-Cinema madVR LAV Filters |
![]() |
![]() |
![]() |
#7 | Link | |
Registered Developer
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,375
|
The decoder does not do any upscaling, so it'll be the renderer MPC-HC uses.
Quote:
The CUDA SDK 3.2 is relatively new (Jan. 2011), could be that you need at least a 260 series driver. I can probably use a bit older SDK, and switch to dynamically loading the dlls, so such issues can be avoided. 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_..._.28HD.29_GPUs The 9600GT is a "A" Feature Set, so at least you get H264 decoding out of it.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders Last edited by nevcairiel; 26th March 2011 at 00:00. |
|
![]() |
![]() |
![]() |
#8 | Link |
Registered User
Join Date: May 2004
Posts: 5,467
|
Oh sure. This gets released while I was just forcing my bedroom machine to use software decoding temporarily while I waited.
![]()
__________________
HTPC: Windows 11, AMD 5900X, RTX 3080, Pioneer Elite VSX-LX303, LG G2 77" OLED |
![]() |
![]() |
![]() |
#9 | Link |
Registered User
Join Date: Oct 2008
Location: Portugal
Posts: 161
|
I am getting dropped frames every 5 seconds approximately when playing 1920x1080 movies, either AVC or VC-1.
I get smooth playing on 720p movies or others. My specs are in my signature. At the moment of playing my GPU is at 20% usage at most, measured by EVGA Precision. I've tried EVR Custom and EVR Sync, and every option in MPC-HC, and all kind of combinations don't make a difference. BUT, maVR is flawless. No dropped frames at all. In fact it solved my dropped frames problem with madVR when using ffdshow. But, why is EVR Custom and Sync dropping frames? How can I help you debug this? Nuno
__________________
Win 11 x64, Geforce RTX 4060 Ti 16GB, TV Sony KD-55X8509C HDMI, Denon AVR-X2700H, Core i7-9700K, 32GB DDR4, Creative Labs Gigaworks S750 7.1 speakers MPC Home-Cinema madVR LAV Filters |
![]() |
![]() |
![]() |
#10 | Link |
Registered User
Join Date: Apr 2010
Posts: 163
|
@nevcairel
This really is impressive work. Just testing it with my bluray collection - awesome performance with 1080p VC-1,AVC and MPEG2. No issues on a GT430 just simply amazing PQ via MadVR. Also tested on some MPEG2 576P/50i material - works a treat. ![]() ![]() |
![]() |
![]() |
![]() |
#11 | Link | |
Registered Developer
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,375
|
Quote:
My movies play just fine in EVR Custom as well as madVR.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders |
|
![]() |
![]() |
![]() |
#12 | Link |
Registered User
Join Date: May 2004
Posts: 5,467
|
Ok, initial impressions. WOW! This is AWESOME! My "problem" MKV that nothing does well is Golden Compass. It's a blu-ray rip and is VC-1. Nothing really plays it well, including DXVA, at 24Hz. Before I came out and saw you had released this, I had set up ArcSoft video decoder to handle VC-1 decoding. It pegged the CPU but was decent enough to watch. With your decoder, CPU utilization went down to about 25% or so, which for that machine, is VERY good. Had no problems with subtitles or video. Next up was an AVC MKV blu-ray rip. CPU was again good, but, unfortunately, when skipping around in the video to test certain parts I got a very odd thing going on. It gives me a green block overlay in the middle of the screen. It comes and goes quite a bit. I haven't tried other AVC movies to see if that's reproducible or not. Don't forget that my goal here is to pump this out to madVR in MPC-HC, so, that's how I'm testing this. I didn't see these issues with CoreAVC on that same video.
__________________
HTPC: Windows 11, AMD 5900X, RTX 3080, Pioneer Elite VSX-LX303, LG G2 77" OLED |
![]() |
![]() |
![]() |
#13 | Link | |
Registered User
Join Date: Oct 2008
Location: Portugal
Posts: 161
|
Quote:
The graph is a mess, even playing at 24Hz I used to have a perfect straight green line, but with CUVID it is a mess, full of spikes. I've found that disabling Wait For Flushes stops the dropping frames but now I get noticeable tearing and stuttering. But like I said, madVR is almost perfect. Any ideas? Nuno
__________________
Win 11 x64, Geforce RTX 4060 Ti 16GB, TV Sony KD-55X8509C HDMI, Denon AVR-X2700H, Core i7-9700K, 32GB DDR4, Creative Labs Gigaworks S750 7.1 speakers MPC Home-Cinema madVR LAV Filters |
|
![]() |
![]() |
![]() |
#14 | Link |
Registered User
Join Date: Dec 2002
Posts: 5,565
|
Thank you.
I did a short test with a 9200M GS (VP3 feature set B) and it will attempt to open ASP, which is bound to fail of course: the screen stays black. H.264 and VC1 worked fine in a short test. It will also attempt to decode H.264 with the resolutions not supported by VP3 which will also result in a black screen. |
![]() |
![]() |
![]() |
#15 | Link | |
Registered User
Join Date: Dec 2002
Posts: 5,565
|
Quote:
|
|
![]() |
![]() |
![]() |
#16 | Link |
Registered User
Join Date: Oct 2008
Location: Portugal
Posts: 161
|
More feedback.
I've done testing and testing and got to a conclusion: When playing an AVC/H.264/x264 1920x1080 MKV the audio doesn't match/sync with lips after seeking. This happened on all my AVC movies. This only happens with 1920x1080 AVC videos, with 1920x800 or lower then I can't reproduce it... With VC-1 movies the audio matches/syncs perfectly with lips and I've randomly seeked and couldn't make it unsync. Nuno PS: Tested it with madVR, with Aero on and off
__________________
Win 11 x64, Geforce RTX 4060 Ti 16GB, TV Sony KD-55X8509C HDMI, Denon AVR-X2700H, Core i7-9700K, 32GB DDR4, Creative Labs Gigaworks S750 7.1 speakers MPC Home-Cinema madVR LAV Filters |
![]() |
![]() |
![]() |
#17 | Link |
Registered User
Join Date: Sep 2004
Posts: 1,295
|
nevcairiel,
I just want to say a big thanks! I was hoping that someone would bring something like this, so that I could be able to watch those WVC1 interlaced music concerts with hardware deinterlacing. It's working very good with me. ![]() |
![]() |
![]() |
![]() |
#18 | Link | |
Registered User
Join Date: Oct 2009
Location: France
Posts: 616
|
Quote:
![]() I think it's nev answer me need recent driver and surely more recent video card ![]() Thanks, will update this soon ![]()
__________________
HTPC : i7 920 6Go Win10(x64) / Nvidia 1050Ti / P6T Deluxe / Harman-Kardon AVR-355. |
|
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|