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


Pages : 1 [2]

Xaurus
14th August 2011, 00:55
I am also struggling with 1080i. Using a 570 GTX. The problems arise when there is "scrolling" in the film, for example a great test part is the 1080i version of the last episode of Game of Thrones, around 6-7 minutes when the Stark mother is in the woods and you can see lots of trees scrolling infront of her, from left to right. They are jerky and I have yet to find a proper way of making this smooth.

jmone
14th August 2011, 07:03
I have no issues with any of the interlaced formats with LAVCUVID including:
- VC1 1080-60i
- AVC 1080-60i
- AVC 1080-50i

More discussion and samples in this thread over at MC16 http://yabb.jriver.com/interact/index.php?topic=64782.msg441197#msg441197

Infact it is the one reason I swaped from ATI to an nvidia GPU as the LAVCUVID is the only one that can properly deinterlace VC1(i) !

CruNcher
14th August 2011, 08:40
there is more :) then just the 60i there are different methods :)

fieldinterlaced
frameinterlaced
then mixes of frame-field interlaced + progressive

I am also struggling with 1080i. Using a 570 GTX. The problems arise when there is "scrolling" in the film, for example a great test part is the 1080i version of the last episode of Game of Thrones, around 6-7 minutes when the Stark mother is in the woods and you can see lots of trees scrolling infront of her, from left to right. They are jerky and I have yet to find a proper way of making this smooth.

sample ?

Xaurus
14th August 2011, 13:41
sample ?

I have just the whole episode...

Aegwyn11
14th August 2011, 16:16
I chopped the credits off the end of an episode of Human Planet, but the file's still almost 80 MB. Where's the best place to upload such a file?

nevcairiel
14th August 2011, 16:18
www.mediafire.com

mindbomb
14th August 2011, 16:21
you guys, try using lav splitter with lav cuvid if you aren't already doing so.

nevcairiel
14th August 2011, 16:24
Especcially with VC-1 its certainly possible that other splitters are doing a sub-par job at timestamping it. It took me quite a while to get VC-1 "just right".

Aegwyn11
14th August 2011, 16:52
Let me know if this doesn't work:

http://www.megaupload.com/?d=WDG3KNY1

I also have more information. Using this sample, I did some testing using the latest versions of LAV Splitter and Haali and got some interesting results. Here's my findings:

LAV Splitter (VC-1 timestamp correction totally disabled) and Haali:
Exclusive mode - constant jerkiness
Windowed mode - smooth as can be, perfect

LAV Splitter (VC-1 timestamp correction partially enabled or fully enabled):
Exclusive mode - periodic jerks as described above
Windowed mode - same as exclusive mode

nevcairiel
14th August 2011, 17:03
The second mode is the mode its supposed to be played at with LAV CUVID, however you're right that there is an occasional glitch. It appears that the timestamps are not being processed perfectly, i am however not sure if thats the splitters fault or LAV CUVIDs fault. I'll do some investigation.

For the first mode, it works with windowed mode because madVR has some special logic in there to fix timestamps, however that doesnt work in exclusive mode anymore because all frames are immediately rendered.

nevcairiel
14th August 2011, 17:37
LAV CUVID Decoder 0.10

0.10 - 2011/08/14
- Refuse connection to MPEG-2 4:2:2 material
- Improved VC-1 interlaced timestamp handling

Download: Installer (32/64-bit, CUDA 4.0+) (http://files.1f0.de/cuvid/LAVCUVID-0.10.exe) - 32-bit (CUDA 4.0+) (http://files.1f0.de/cuvid/LAVCUVID-0.10.zip) - 64-bit (CUDA 4.0+) (http://files.1f0.de/cuvid/LAVCUVID-0.10-x64.zip) -- 32-bit (Older CUDA) (http://files.1f0.de/cuvid/LAVCUVID-0.10-LegacyCUDA.zip)

The timestamp fixes are rather temporary and might as well blow up in my face again, but it worked smoothly on all files i just tested on.
I'll be working on a much improved timestamp handling soon, so that it'll be future proof and also work better with Haali.

In the meantime, using LAV Splitter with "VC-1 timestamp correction" set to "auto" (half-checked), it should work smoothly.

madshi
14th August 2011, 17:42
I'll be working on a much improved timestamp handling soon, so that it'll be future proof and also work better with Haali.
I've been thinking about using the same logic for VC-1 which ffdshow uses for MPEG2, namely syncing to I-frames, only, and interpolating the timestamps for B- and P-frames. Shouldn't that work well for VC-1, too? I think it might make the decoder work smoothly for both types of splitter timestamps (PTS and DTS). Haven't tested it yet, though.

Thoughts?

nevcairiel
14th August 2011, 17:46
I've been thinking about using the same logic for VC-1 which ffdshow uses for MPEG2, namely syncing to I-frames, only, and interpolating the timestamps for B- and P-frames. Shouldn't that work well for VC-1, too? I think it might make the decoder work smoothly for both types of splitter timestamps (PTS and DTS). Haven't tested it yet, though.

Thoughts?

Sadly, thats won't really work. That theory would only work out 100% on frames where PTS=DTS, but thats not true for I-Frames if B-Frames are present. So it would produce different results with the two different demuxing modes. Sadly, i don't think there is a universal solution that works for all splitters equally.

What i do in LAV Video seems to work so far. I support both modes, and have to add all splitters that deliver PTS to a internal list. I know, its not the best way, i probably need to keep maintaining that list for ages, but the most commonly used splitters are covered (Haali, LAV and MPC-HC). Only other TS splitters will probably need to be added eventually.

My plan for LAV CUVID is quite simple, i'll switch LAV Splitter over to delivering DTS, and then just need to figure out how to assign the incoming timestamps back to the outgoing timestamps in LAV CUVID, because right now i do not know the delay (in frames) introduced by the decoder. But that should be doable. ;)
The good thing about this solution is that as a by-product it'll also fix the timestamp issues of MPEG-4 ASP. :)

madshi
14th August 2011, 18:32
Sadly, thats won't really work. That theory would only work out 100% on frames where PTS=DTS, but thats not true for I-Frames if B-Frames are present. So it would produce different results with the two different demuxing modes.
That's too bad.

My alternative idea was to simply monitor the incoming timestamps. It should be easy enough to automatically detect whether the incoming timestamps are DTS or PTS, and to adjust the decoder behaviour accordingly. For the first couple of frames the decoder might then use the wrong logic, but that shouldn't be too much of a problem. In theory the decoder could even store the detected logic to the registry, so the next time it will be right from the start. This way no manual list needs to be maintained.

Aegwyn11
14th August 2011, 18:44
Makes sense I think. I installed your new version of CUVID and it all seems happy now (at least with the one clip that I uploaded). I'll let you know if I notice any other goofyness with VC-1. Thanks!!

ranpha
14th August 2011, 21:23
The timestamp feature now makes this XviD clip (http://goo.gl/8I09y) watchable with LAV CUVID + madVR. Last time, I have to use EVR custom presenter + FTC for it to work smoothly. I hope that when the timestamp feature become final, these kind of files will still work in the future.

nevcairiel
14th August 2011, 23:02
I tried to figure out what to do about timestamps as a final solution, but i couldn't come up with something good yet.
The NVIDIA decoder doesn't make it easy on you to take over the timestamp management yourself. It doesn't let me know when it dropped a frame due to missing references (after seeks), or general corruption, not to mention the variable decoding delay due to the pipelining in the hardware, so its really not trivial to map incoming timestamps back onto the decoded frames.
I think i have to be creative about this. We'll see how this all works out.

The goal is of course to keep XviDs working, and for now the temporary fix seems to do its job.

CruNcher
14th August 2011, 23:17
@Nev sniff it doesn't fall back to Lav Video for Mpeg-2 4:2:2 it still tries to playback it :(

nevcairiel
14th August 2011, 23:18
@Nev sniff it doesn't fall back to Lav Video for Mpeg-2 4:2:2 .ts it still tries to playback it :(

Works for me. :)

CruNcher
14th August 2011, 23:22
Hmm strange i set both on prefered and Mpeg-2 is active and all 4:2:2 gets rendered with Lav Cuvid :(

http://img708.imageshack.us/img708/4932/lavcuvidtakesit.png

nevcairiel
14th August 2011, 23:31
It of course only works if the splitter provides a proper sequence header. The 422 mpeg2 ts I tested worked just fine with lav splitter.

CruNcher
14th August 2011, 23:51
Yep works now perfect :)

mkanet
15th August 2011, 01:04
Hi, I would love to be able to use this video decoder with my Nvidia card 8500GT. I currently use CoreAVC 2.5.5 for H.264 CUDA decoding (Verifying full Cuda compatibility).

I am currently trying to use LAV CUVID in graphedit to playback a VC1 m2ts file. Is there a reason why I HAVE to manually set "VC1" in the decoder's prop page in order to connect it to LAV splitter?

The filter graph is almost finished when I manually connect the respective filters, however, I cant get the LAV CUVID pinout to connect to ANY video renderer. I can't right-click and select render pin either. I get the error: "Sorry, the Filter Graph cannot render this pin.".

Is there something I need to do prior to regsvr32 installing the CUVID Decoder? I didnt use the Windows 32bit installer to install CUVID. I only extracted the zip file I downloaded in to a folder and double-click the install.bat file to register the filter. I'm pretty sure I must be missing something very basic.

OS: 32bit Windows Vista SP2

Thanks!

mindbomb
15th August 2011, 02:51
what nvidia drivers are you using?

mkanet
15th August 2011, 03:23
I have the current WHQL driver on Nvidia's website. Driver versions don't make any difference for me in the last several months; at least for CoreAVC (with full CUDA support).

what nvidia drivers are you using?

ranpha
15th August 2011, 04:06
Maybe it has something to do with the fact that your 8500GT GPU doesn't support VC-1 decoding.

mkanet
15th August 2011, 05:14
Same thing with H.264.

Maybe it has something to do with the fact that your 8500GT GPU doesn't support VC-1 decoding.

Superb
15th August 2011, 08:49
Then you didn't install it correctly. Did you run the install.bat as an administrator? Did you keep the .ax file in the same folder after you've installed it?
Simply use the installer provided in the first post of this thread.
8500GT doesn't do VC-1 CUDA decoding, but H.264 should work.

nevcairiel
15th August 2011, 08:50
You should actually get partial acceleration of VC-1 with the 8500GT.

The only thing you need for LAV CUVID to function is the proper hardware, and a renderer that accepts NV12 or YV12. (I believe Haalis renderer does not, but all default Windows renderers do)

Superb
15th August 2011, 09:00
Partial acceleration? w/ LAV CUVID? What does the rest of the decoding? Does CUDA use CPU for the rest? Does the filter itself?

nevcairiel
15th August 2011, 09:28
The NVIDIA decoder does the required parts on the CPU then, offloading IDCT and MC to the GPU.

mkanet
15th August 2011, 12:45
I dont do anything differently for this decoder than I do with other filters I install. The .ax file never changed folders from original time I regsvr32'ed it. Used administrator account (if I didn't, I dont think the filter would install or show up in graphedit.

I have no problems doing partial VC1 hardware decoding using other decoders such as WMVideo Decoder DMO and MPC HC Video. The same problem happens when trying to decode H.264. No video renderers want to connect to it.

I have a small clue possibly. I noticed that the settings in the filter prop page dont stay. If I click on various settings such as H.264, VC-1, etc, the next time I open the prop page, the settings are not there.

What could cause the filter not to retain it's settings? Is the filter sensitive to which folder location?

Then you didn't install it correctly. Did you run the install.bat as an administrator? Did you keep the .ax file in the same folder after you've installed it?
Simply use the installer provided in the first post of this thread.
8500GT doesn't do VC-1 CUDA decoding, but H.264 should work.

Gleb Egorych
15th August 2011, 19:33
nevcairiel, do you have any plans to implement forced deinterlacing for bad flagged material? There was some discussion about that a few months ago, I wonder if it's in your TODO list.

nevcairiel
15th August 2011, 19:35
Interlacing isnt "flagged", a frame either is progressive, or its interlaced. There is a clear difference in coding the image, you cannot mess that up in a bad encode. :p

e-t172
15th August 2011, 20:02
I frequently stumble upon files which seem to have been encoded after a "weave" filter… I know, it's disgusting, but it would be useful to have an option to do something about it.

Gleb Egorych
15th August 2011, 20:38
nevcairiel, I meaned interlaced material with wrong field order flag. Such streams appear rather often over DVB.

nevcairiel
15th August 2011, 20:40
nevcairiel, I meaned interlaced material with wrong field order flag. Such streams appear rather often over DVB.

You can already configure the field order.


I frequently stumble upon files which seem to have been encoded after a "weave" filter… I know, it's disgusting, but it would be useful to have an option to do something about it.
You wouldn't happen to have a sample of that at hand, so i can see if i can force it to deinterlace progressive material?

jazzysmooth
16th August 2011, 01:31
I dont do anything differently for this decoder than I do with other filters I install. The .ax file never changed folders from original time I regsvr32'ed it. Used administrator account (if I didn't, I dont think the filter would install or show up in graphedit.

I have no problems doing partial VC1 hardware decoding using other decoders such as WMVideo Decoder DMO and MPC HC Video. The same problem happens when trying to decode H.264. No video renderers want to connect to it.

I have a small clue possibly. I noticed that the settings in the filter prop page dont stay. If I click on various settings such as H.264, VC-1, etc, the next time I open the prop page, the settings are not there.

What could cause the filter not to retain it's settings? Is the filter sensitive to which folder location?

My only suggestion is to review my posts #589 (http://forum.doom9.org/showthread.php?p=1501577#post1501577) and #595 (http://forum.doom9.org/showthread.php?p=1501847#post1501847) - it was Nvidia driver related in my case. I have since went and purchased a GT430 and no problems since.

leeperry
16th August 2011, 03:41
As much as I wasn't lucky w/ your splitter on XPSP3, this decoder looks pretty darn amazing on my 96SP 8800GS http://forum.slysoft.com/images/smilies/agreed.gif

Why accepting the "XVID" FourCC and not "DX50/XviD/xvid"? Couldn't it also do DivX3 and so? I can't get it to decode any MPEG-4 so far tbh...not even "XVID".

And I thought VC1 was just a WMV9 profile? No chance of decoding WMV1/3/9 using backward compatibility? Anyway, seeking in VC-1 ended up in pixelated garbage when using the built-in ffdshow decoder, now it's flawless :cool:

Also, I had to make it output YV12 otherwise everything looked blue in NV12 when post-processing in ffdshow(using the 275.33 drivers): http://thumbnails46.imagebam.com/14527/059281145260832.jpg (http://www.imagebam.com/image/059281145260832) http://thumbnails43.imagebam.com/14527/4fb5f4145260834.jpg (http://www.imagebam.com/image/4fb5f4145260834)

same problem for h264 and vc1...I haven't tried w/o ffdshow, though.

:thanks:

betaking
16th August 2011, 07:34
As much as I wasn't lucky w/ your splitter on XPSP3, this decoder looks pretty darn amazing on my 96SP 8800GS http://forum.slysoft.com/images/smilies/agreed.gif

Why accepting the "XVID" FourCC and not "DX50/XviD/xvid"? Couldn't it also do DivX3 and so? I can't get it to decode any MPEG-4 so far tbh...not even "XVID".

And I thought VC1 was just a WMV9 profile? No chance of decoding WMV1/3/9 using backward compatibility? Anyway, seeking in VC-1 ended up in pixelated garbage when using the built-in ffdshow decoder, now it's flawless :cool:

Also, I had to make it output YV12 otherwise everything looked blue in NV12 when post-processing in ffdshow(using the 275.33 drivers): http://thumbnails46.imagebam.com/14527/059281145260832.jpg (http://www.imagebam.com/image/059281145260832) http://thumbnails43.imagebam.com/14527/4fb5f4145260834.jpg (http://www.imagebam.com/image/4fb5f4145260834)

same problem for h264 and vc1...I haven't tried w/o ffdshow, though.

:thanks:
GeForce 8800 GS, 8800 GT, 8800 GTS (512 MB/1 GB)

G92

VP2

A

October 2007
Feature Set A
Complete acceleration for H.264
Partial acceleration for MPEG-1, MPEG-2, VC-1/WMV9

nevcairiel
16th August 2011, 09:44
Why accepting the "XVID" FourCC and not "DX50/XviD/xvid"?

It accepts XVID, xvid, DIVX, divx, DX50, dx50, MP4V, mp4v, M4S2, m4s2, MP4S, mp4s.


Couldn't it also do DivX3 and so?

No, DivX3 is whats called "MS-MPEG4", its not ISO MPEG4-ASP. There is a significant difference, and the hardware doesn't support it.


I can't get it to decode any MPEG-4 so far tbh...not even "XVID".

Your hardware is not capable of decoding XVID. You need a VP4/VDPAU Level C card for that.


And I thought VC1 was just a WMV9 profile? No chance of decoding WMV1/3/9 using backward compatibility?

It is, but for some reason feeding it WMV3 content doesn't work. The NVIDIA decoder just refuses.


Also, I had to make it output YV12 otherwise everything looked blue in NV12 when post-processing in ffdshow(using the 275.33 drivers):
Yeah, thats a stupid ffdshow bug.


@Everyone:
I noticed a issue with my timestamp hack for VC-1. With 0.10, VC-1 in MKV will only properly work with LAV Splitter, any other splitter will probably make the image look absolutely non-smooth.
I'm working on a new way to deal with this. VC-1 in MPEG-TS should work with the MPC-HC splitter, with Haali its a hit-or-miss. :)

jmone
16th August 2011, 10:16
@Everyone:
I noticed a issue with my timestamp hack for VC-1. With 0.10, VC-1 in MKV will only properly work with LAV Splitter, any other splitter will probably make the image look absolutely non-smooth.
I'm working on a new way to deal with this. VC-1 in MPEG-TS should work with the MPC-HC splitter, with Haali its a hit-or-miss. :)

So what containers with VC-1 work well with LAVSplitter? I've been remuxing my HD-DVD (mostly VC-1) to:
- Movies: Blu-ray stucture
- TV Eps: M2TS files

nevcairiel
16th August 2011, 10:16
With LAV Splitter, any container is fine.

jmone
16th August 2011, 10:21
Of course :)

mkanet
16th August 2011, 13:30
From what I understand, CUVID works even an 9x00 Nvidia card using any recent Nvidia driver. I'm not sure on this, but I thought the Nvidia 8500GT should be very similar; if not identical to the 9400GT/9600GT in respect to GPU capabilities; at least it doesnt make any difference when using CoreAVC with full CUDA support for H.264 decoding.

I'm curious if CUVID is supposed to save it's settings when you make changes to it's settings (in the prop page). For me, in graphedit, as soon as I make the CUVID settings changes, if I go back in to verify the settings, they all disapear again; and, have to select the again. I wonder if this can be fixed with an updated CUVID decoder.

My only suggestion is to review my posts #589 (http://forum.doom9.org/showthread.php?p=1501577#post1501577) and #595 (http://forum.doom9.org/showthread.php?p=1501847#post1501847) - it was Nvidia driver related in my case. I have since went and purchased a GT430 and no problems since.

nevcairiel
16th August 2011, 15:02
@Everyone:
I noticed a issue with my timestamp hack for VC-1. With 0.10, VC-1 in MKV will only properly work with LAV Splitter, any other splitter will probably make the image look absolutely non-smooth.
I'm working on a new way to deal with this. VC-1 in MPEG-TS should work with the MPC-HC splitter, with Haali its a hit-or-miss. :)

Here is a new test build with a new way to calculate timestamps for VC-1 and MPEG4 ASP.

http://files.1f0.de/cuvid/LAVCUVID-0.10-timestamps.zip

In my limited testing, it worked quite good, with all splitters. But, its really an experimental feature, and i don't know how well it'll work out with all those weird and odd files out there.

If you're using LAV Splitter, i recommend to set the "VC-1 timestamp correction" to completely off. Thats the best way for LAV CUVID now, and the next version of LAV Splitter will have the "auto" mode changed according to that.

Gleb Egorych
16th August 2011, 17:49
You can already configure the field order.
It doesn't solve the problem. ffdshow has the same problem, but there is a workaround to force bob and TFF. Unfortunately the trick doesn't work in LAV CUVID Decoder.

Alexey1975
17th August 2011, 04:56
It doesn't solve the problem. ffdshow has the same problem, but there is a workaround to force bob and TFF. Unfortunately the trick doesn't work in LAV CUVID Decoder.

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.

Is it possible to do at all?

leeperry
17th August 2011, 10:00
Your hardware is not capable of decoding XVID. You need a VP4/VDPAU Level C card for that.

OK, thanks for the replies! I wonder if it'd be worth it to buy a newer graphic card in order to achieve a lower power consumption? I've got a wattmeter so I could also double-check and post figures.

OTOH, the GT520 with the newest VP5/D features only has 48SP, so it would suck for both games and mVR+LAV CUVID I think?

But apparently the VP4 boards provide a more thorough h264/VC1 hardware support, and XVID/DX50 support could help too. My 8800GS is VP2/A.

This said, I'm thrilled to see that your decoder can do hardware double frame rate on 29.97 material....I really don't like how YADIF looks plus it'd leave the CPU free, and I keep reading that the nvidia drivers rock at this :devil:

nevcairiel
17th August 2011, 10:04
The 520 is too slow for deinterlacing, and dont even think about gaming with it. :)

I don't think its actually saving that much power, if any at all.

leeperry
17th August 2011, 10:18
righty, I'm better off waiting for the forthcoming nextgen then :)

I'll check whether my VP2/A 96SP 8800GS can do hardware double frame rate w/ less combing than YADIF on pure NTSC DVD.

madshi
17th August 2011, 10:26
Yeah, wait for 28nm GPUs, much better performance per watt ratio.

nevcairiel
17th August 2011, 11:43
LAV CUVID Decoder 0.11

0.11 - 2011/08/17
- Improved timestamp smoothing for VC-1 and MPEG4 ASP

Download: Installer (32/64-bit, CUDA 4.0+) (http://files.1f0.de/cuvid/LAVCUVID-0.11.exe) - 32-bit (CUDA 4.0+) (http://files.1f0.de/cuvid/LAVCUVID-0.11.zip) - 64-bit (CUDA 4.0+) (http://files.1f0.de/cuvid/LAVCUVID-0.11-x64.zip) -- 32-bit (Older CUDA) (http://files.1f0.de/cuvid/LAVCUVID-0.11-LegacyCUDA.zip)

There we go, another way of calculating timestamps for VC-1.
It worked quite nicely on all discs that i tried so far, but i bet there will be the occasionally totally broken file out there that fails with it. However, VC-1 is not a codec typically used by people doing encodes themself, its mostly only from Blu-rays, so i am hopeful that it will work fine. ;)

I basically borrowed some ideas from LAV Audio, completely calculating the timestamps myself, and periodically checking that they don't drift off. Works quite beautifully with all splitters.
Note that it will most likely not work with VFR material. I've never seen VC-1 VFR, but i'm sure it exists for MPEG4. If you frequently watch VFR content, i recommend another decoder - like my upcoming LAV Video.

Anyway, if you encounter sync issues or constant stuttering during playback, please report it!

nm
17th August 2011, 12:42
I'll check whether my VP2/A 96SP 8800GS can do hardware double frame rate w/ less combing than YADIF on pure NTSC DVD.

Yadif shouldn't leave any combing when you use mode 1. The main artifacts from yadif are smearing of fine details and shimmering. Nvidia's temporal-spatial deinterlacing smears less but shimmers more.

Note that yadif only deinterlaces, it doesn't do IVTC/pullup for telecined NTSC sources or detect cadences.

nevcairiel
17th August 2011, 12:46
The hardware can at least perform IVTC (but no pullup), so any content you throw at it should be artifact free.

CruNcher
17th August 2011, 22:10
http://www.mediafire.com/download.php?cla9ncy0m1tb89w = Black Screen
CoreAVC Cuda works

nevcairiel
17th August 2011, 22:23
Thats a odd file. I didn't know a NAL Size marker of 3 bytes was valid.
Anyway, its fixed.

madshi
17th August 2011, 22:39
It's not valid, AFAIK. Only NAL sizes of 1, 2 and 4 are allowed, to my best knowledge.

nevcairiel
17th August 2011, 22:40
Thats what i thought, yet this file is encoded as such, and when i allow 3, it decodes perfectly fine.

madshi
17th August 2011, 22:49
IIRC some early mkvtoolnix version allowed muxing with 3 byte NAL, maybe some other software allows it, too. Still, I think it's not really legal. Anyway, adding support for it probably doesn't harm, so... (Just hope that we won't see 5 byte NALs next week).

nevcairiel
17th August 2011, 22:50
5 is impossible, the field used to store that info in the MP4 AVC header is just 2 bits (0-3 + 1, effectively 1-4). :)

rack04
18th August 2011, 00:29
Can someone explain how I can setup the MPC-HC external filters priority to play content supported by LAV CUVID (H264, VC-1, MPEG-2, and MPEG-4 ASP) and then fallback to LAV Video for everything else?

RedDwarf1
18th August 2011, 00:29
Thank you for your work on this nevcairiel.

I have been trying it with DVBViewer and I am experiencing a problem.

When I change channels, the window resizes to the correct size but video does not display. The video only shows after I rebuild the graph. This only happens when using this decoder, ffdshow works fine and I can change channels without any problems.

Do you have any idea why it is doing this?

pankov
18th August 2011, 09:44
RedDwarf1,
if you wait may be around 10seconds the video might show up. At least it does for me. You could also disable "Fast Channel Switching" in Options -> TV + Radio. Sadly this will slow the channel change but will work with LAV CUVID Decoder.
A while ago I reported it to nevcairiel and offered a way for him to test it locally on his machine but sadly the discussion died out before he could fix it.
Nev, my offer stands. If you can't replicate it with your DVB source I can help you connect to my DVB Rec Service and show my DVB-C streams which always show the problem.

RedDwarf1
18th August 2011, 15:46
RedDwarf1,
if you wait may be around 10seconds the video might show up. At least it does for me. You could also disable "Fast Channel Switching" in Options -> TV + Radio. Sadly this will slow the channel change but will work with LAV CUVID Decoder.
A while ago I reported it to nevcairiel and offered a way for him to test it locally on his machine but sadly the discussion died out before he could fix it.
Nev, my offer stands. If you can't replicate it with your DVB source I can help you connect to my DVB Rec Service and show my DVB-C streams which always show the problem.
Ok, thank you, I understand.

It's a pity because apart from this, which is a big issue, it works quite nicely.

Just testing it again and it does eventually show the video after 21 seconds :eek:Waiting 21 seconds is a bit ridiculous to watch a channel IMO and makes casual browsing impossible. It will help save the LNB but won't do anything for frustration.

As you say, turning off fast channel switching does work because it does exactly what I was doing, re-building the graph on every channel change which takes time. With this it's about 4 seconds. The strange thing is it does seem to detect a channel change, or something does, because the window does resize almost instantly. It's just the video display which is very delayed.

ffdshow takes about 1.5 to 2 seconds. So it looks like I will stick with ffdshow and only use LAV CUVID as the Video Output B device.

I will test updates occasionally in case things improve. I might try it in media players but without any video brightness adjustments, it seems like a work in progress ATM.

nevcairiel
18th August 2011, 15:50
I will test updates occasionally in case things improve. I might try it in media players but without any video brightness adjustments, it seems like a work in progress ATM.

Its not the decoders job to adjust brightness or contrast, your renderer or graphics driver needs to do that. LAV CUVID will never offer those options.
About the delay - the CUVID decoder will not output images until it is certain that it can decode them without *any* artifact. Depending on how the stream is setup that you're watching, this can take some time.

In the future, there might be an option that allows you to control the error resilience, so that it actually outputs images earlier, if you want that.
The main problem there is that the decoding process is done by the NVIDIA driver. I only have a limited number of options to change, and cannot influence everything. More importantly, i generally have no idea why it does what it does. Its a black box.

pankov
18th August 2011, 20:48
nevcairiel,
please do add such option because I love LAV CUVID decoder's Deinterlacing and I'd like to use it in my everyday TV viewing.
Can you elaborate on this "until it is certain that it can decode them without *any* artifact"? I've tried CoreAVC in CUDA mode and it shows the video stream almost instantly and I haven't noticed any errors with it ... except the major one with the wrong field order but it has it with standalone files so I don't count it.
If you are in a good mood can you also explain why it works so quickly if we rebuild the graph and not when we change the channel without rebuilding. Is there anything that we can request from the authors of DVBViewer?

nevcairiel
18th August 2011, 21:14
http://files.1f0.de/cuvid/LAVCUVID-0.11-errorThreshold.zip

This version has the error threshold set to the highest, which means it'll decode any frames, no matter what. You can test with it if it actually makes the decoding start sooner.
The only reason for decoding not to output anything for so long would be that the stream is missing a SPS/PPS, and those only come every X seconds.

pankov
18th August 2011, 21:44
:(
I see absolutely no difference with this build.
So does this mean it's not it?
Nev, do you experience the problem at your PC or is it only me and the other guy?

nevcairiel
18th August 2011, 21:46
channel switches did seem instant for me, but i really haven't tried for quite a while

pankov
18th August 2011, 21:49
If you want I can PM you a way to connect to my Recording Service so we can test with the same streams?

RedDwarf1
18th August 2011, 23:26
Its not the decoders job to adjust brightness or contrast, your renderer or graphics driver needs to do that. LAV CUVID will never offer those options.
The graphics driver is not something that I want to change the brightness on because I don't want it affecting all video output.

None of the renders have any options to alter the brightness, it's not available in DVBViewer so I doubt it's their job.

Many other codecs have the option for brightness adjustment and other adjustments, ffdshow has it and CoreAVC has had it for quite some time. I think people have already mentioned it so I'm not the first person to ask about it. Maybe ATM, there are more important things to do, however it might be worth considering as the final piece of the jigsaw when other things have been completed. Otherwise there will always be something missing.

About the delay - the CUVID decoder will not output images until it is certain that it can decode them without *any* artifact. Depending on how the stream is setup that you're watching, this can take some time.
Most of the channels are Mpeg2 which shouldn't take up to 21 seconds to obtain enough information to display a picture without artifacts. I might expect H.264 video to take longer, but even then not 21 seconds, certainly not for Mpeg2.

In the future, there might be an option that allows you to control the error resilience, so that it actually outputs images earlier, if you want that.
ffdshow and CoreAVC both output video with video artifacts near the start of H.264 video before they have sufficient video to decode it correctly. Therefore, having the option would be a good thing to have available.

I have just tried the new build with the error change but it made no difference for me either.

The main problem there is that the decoding process is done by the NVIDIA driver. I only have a limited number of options to change, and cannot influence everything. More importantly, i generally have no idea why it does what it does. Its a black box.
I suggest you contact nVidia if there is anything that you need information on, because they can be very helpful, if Donald Graft's correspondence is anything to go by. Have a look at the notes for DGDecodeNV on his site for an example ;) You seem to have done well on your own so far but why make it hard for yourself if help is available? It could improve the decoder and you might learn something useful. ;) I read through the very long notes myself and found it quite informative.
http://neuron2.net/dgdecnv/cuda/cuda.html

nevcairiel
18th August 2011, 23:36
I suggest you contact nVidia if there is anything that you need information on, because they can be very helpful, if Donald Graft's correspondence is anything to go by. Have a look at the notes for DGDecodeNV on his site for an example ;) You seem to have done well on your own so far but why make it hard for yourself if help is available? It could improve the decoder and you might learn something useful. ;) I read through the very long notes myself and found it quite informative.
http://neuron2.net/dgdecnv/cuda/cuda.html

I know of those chats, but it sadly was really a unique opportunity because he was among the first to ever use the CUVID API, and therefor NVIDIA had a real interest in feedback. These days, its not easy to get a contact or a useful response.

Another question - when the change takes that long, what type of channels are that? MPEG2->MPEG2, or H264->H264, or even MPEG2->H264 (or other way around)?
Or does it always take long, no matter which codec combinations?

pankov
18th August 2011, 23:51
I've just done a lot of channel switching and I think going from one codec to the other is quick. When the two channels use the same codec then the change is slow.

Edit:
but I guess the reason for this is that DVBViewer is rebuilding the graph in this case

nevcairiel
19th August 2011, 00:26
I might actually have an idea why this happens, and will test some things tomorrow. Need to setup my DVB thing again.

leeperry
19th August 2011, 13:25
I'm not sure if that's expected behavior, but I've just spent an hour updating drivers and so...and on double framerate NTSC DVD, checking the "HQ DXVA" option either ends up in an instant BSOD on nv4disp, or a bunch of big squares and then the same BSOD :o

I run a 96SP 8800GS on XPSP3 BTW.

Note to myself: disable HQ DXVA :D

nevcairiel
19th August 2011, 13:28
The FAQ does say that the option might not be save on XP :-) (its also default off there, and on when running on 7)

leeperry
19th August 2011, 13:36
oh yah...well it wouldn't hurt to repeat it in the hover-on bubble :p

madshi
19th August 2011, 13:51
The FAQ does say that the option might not be save on XP :-)
What's the cause of that? Is it a CUDA related problem? Or DXVA? Or CUDA <-> DXVA interop? Or something else? I thought NVidia supported both CUDA and DXVA in XP?

nevcairiel
19th August 2011, 13:52
I don't have XP, and i never tested the option on XP, i just went by reports that showed the same symptoms. I figured it might be due to the lack of DXVA2 on XP.

leeperry
19th August 2011, 14:01
BTW, shouldn't the "adaptive" deinterlacing be called "Spatial-temporal" instead? So far, from my limited testing it seems to provide much better results than Bob.

nevcairiel
19th August 2011, 14:07
Why would you assume that BOB is higher quality to begin with? :)
The API calls it adaptive, so i call it adaptive. :d

leeperry
19th August 2011, 14:22
I'm a noob in deinterlacing, but that's what I found when googling: http://www.anandtech.com/show/1573/4
NVIDIA's PureVideo supposedly takes adaptive per pixel de-interlacing one step further with what they call Spatial-Temporal de-interlacing. The idea here is that normal per pixel adaptive de-interlacing uses data from fields within a single frame to essentially fill in the blanks. NVIDIA's Spatial-Temporal de-interlacing can use data from fields in other frames to improve de-interlacing quality.

This said, the DVD medium totally redeems itself to my eyes, when deinterlaced in 60fps by the nvidia drivers and displayed through mVR+SmoothLevels() + perfect gamut mapping :eek:

And indeed, I believe it looks better than what YADIF can do...I don't get a single artifact, yay! DVD's aren't so bad after all :)

Didée
19th August 2011, 14:59
@leeperry: that articel dates 7 years back. The speech is about the "no motion --> weave fields" principle (pixel/area adaptive). Old & basic stuff, you see. ;)

nm
19th August 2011, 15:02
And indeed, I believe it looks better than what YADIF can do...I don't get a single artifact, yay! DVD's aren't so bad after all :)

I'm pretty sure most of your DVDs are telecined from film, in which case the proper output framerate is 24000/1001 fps. You'd need an IVTC filter such as TFM+TDecimate instead of yadif to do the necessary processing in software.

That said, there are DVDs with truly interlaced video, and even hybrid movies with some scenes interlaced and others telecined. Nvidia's post-processing tries to detect the cadence and pick proper filtering. It might work ok, but I guess neither output framerate nor the display refresh rate gets changed according to the content, so there's judder in 24p sequences.

nevcairiel
19th August 2011, 15:15
There is indeed the 3:2 judder when deinterlacing IVTC material (which is far more likely on DVDs), but at least it'll be artifact free, even on mixed material (even mixed inside the same frame).

nevcairiel
19th August 2011, 15:20
LAV CUVID Decoder 0.12

0.12 - 2011/08/19
- Improved response time on channel changes in DVB Viewer
- Support decoding AVC1 with NALU sizes of 3 bytes

Download: Installer (32/64-bit, CUDA 4.0+) (http://files.1f0.de/cuvid/LAVCUVID-0.12.exe) - 32-bit (CUDA 4.0+) (http://files.1f0.de/cuvid/LAVCUVID-0.12.zip) - 64-bit (CUDA 4.0+) (http://files.1f0.de/cuvid/LAVCUVID-0.12-x64.zip) -- 32-bit (Older CUDA) (http://files.1f0.de/cuvid/LAVCUVID-0.12-LegacyCUDA.zip)

The change about DVBViewer made it about instant for me (maybe a second of corrupted image until everything is fine), so i sure hope it works for you too.

Not much more to tell, so have fun!

leeperry
19th August 2011, 16:06
:thanks: for the new build!

that article dates 7 years back. The speech is about the "no motion --> weave fields" principle (pixel/area adaptive). Old & basic stuff, you see. ;)
yep, but they already said that adaptive was old technology back then...this said, I'll look for more recent comparisons but subjectively speaking I find the double framerate sharper than YADIF and artifacts free at that. And that leaves the CPU hands-free considering that the GPU is taking care of it.

there are DVDs with truly interlaced video
I am indeed talking about truly interlaced 29.97 NTSC video material running at deinterlaced 59.94fps in 59.94Hz(w/ Reclock), not telecined whatsoever. I can't stand judder and man does 59.94fps deinterlaced stuff rocks :eek:

I don't bother w/ telecined stuff, especially considering that I'm from Europe and that PAL DVD's have a higher vertical resolution than NTSC....so in the rare cases where I watch DVD films, I just go 25fps@24fps in 48/96Hz w/ Reclock and there you go :)

blubberbirne
19th August 2011, 16:20
Hi nevcairiel,

great work with the decoder.
Could you check why LAV CUVID only run with highest Clocks (GPU,MEM) Speeds.

http://img546.imageshack.us/img546/4003/lacuvid.th.jpg (http://imageshack.us/photo/my-images/546/lacuvid.jpg/)
Using LAV CUVID: GPU runs with highest speed

http://img32.imageshack.us/img32/390/powerdvdh.th.jpg (http://imageshack.us/photo/my-images/32/powerdvdh.jpg/)
Using Power DVD: GPU runs with lower speed

Can you fix this?

nevcairiel
19th August 2011, 16:23
Which clocks are used is completely managed by the driver, if it decides to go into performance mode, then thats that.
You could try turning deinterlacing off, or toggling some of the other settings, to see if the driver allows it to go down then.

mindbomb
19th August 2011, 18:43
http://www.megaupload.com/?d=LAJVY9EO

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

plays properly with .12

RedDwarf1
19th August 2011, 18:52
I know of those chats, but it sadly was really a unique opportunity because he was among the first to ever use the CUVID API, and therefor NVIDIA had a real interest in feedback. These days, its not easy to get a contact or a useful response.
That's a shame and not good news because providing support for developers does help sell nVidia cards. I purchased my nVidia card because of DGIndexNV otherwise I wouldn't of bothered and would of stuck with ATI.

Another question - when the change takes that long, what type of channels are that? MPEG2->MPEG2, or H264->H264, or even MPEG2->H264 (or other way around)?
Or does it always take long, no matter which codec combinations?
It's only when there is no graph re-build so Mpeg2-->Mpeg2 and H.264-->H.264 takes from 14 to 21 seconds and sometimes never completes. In which case I have to force a graph rebuild or no channel using the same codec will display.

My Satellite card shows 100% quality on all these channels so it's not a quality problem. My satellite driver only shows 100% when any errors are fully recoverable, it only shows the true quality for example 72%, when there are uncorrectable errors in the stream.

The latest build 0.12 still doesn't work for me so it could be my system that is to blame. It is getting old and due a re-install because a few things don't work correctly. It's like an old shoe, almost exactly how I like it, except for the few things not working. Spending hours re-installing is time I could better spend. However, it's unavoidable and has to be done in the next few days :( I do have other windows installs available on my main PC but most of those are older.

I'm not sure if that's expected behavior, but I've just spent an hour updating drivers and so...and on double framerate NTSC DVD, checking the "HQ DXVA" option either ends up in an instant BSOD on nv4disp, or a bunch of big squares and then the same BSOD :o

I run a 96SP 8800GS on XPSP3 BTW.

Note to myself: disable HQ DXVA :D

That sounds very familiar. I had a similar problem when trying to update from 197.xxx, which had been working fine, to a much more recent driver which was one or two versions back.

After doing so, I could not use any form of hardware decoding, either CUDA or DXVA. If I tried my system, which is also XP SP3, would either instantly hard lock or BSOD.

It turns out that nVidia drivers, especially on XP, don't like updates because they don't remove the previous driver remnants.

I had to uninstall them and then do use a driver cleaner to remove everything before re-installing. I now mostly works. CUDA appz work fine, DXVA works fine in MPC HC but doesn't work in LAV CUID because the video playback is partly corrupt. However there are not any BSOD's or system lockups :)

Screenshot showing corruption (http://www.zaslike.com/files/z2xekl6a6wisossmo4na.jpg)

Therefore I recommend that you uninstall and use a driver cleaner before re-installing.

SamuriHL
19th August 2011, 19:14
And dump XP for a more modern OS. ;)

RedDwarf1
19th August 2011, 19:44
And dump XP for a more modern OS. ;)

This is very off topic.

You can keep *7 with it's eye candy. I will stick to the tried and trusted XP thank you. It works far better for me than *7 ever could and I have tried *7 and didn't like it one bit.

SamuriHL
19th August 2011, 19:55
It is offtopic, but, I'll leave you with this thought. It's all well and good to say you'll stick with "tried and trusted XP." But, more and more things will not work on it going forward because they'll be written with W7, and soon W8, in mind. Just because some people choose to cling to ancient OS' doesn't mean the rest of the world does. Sure it "works" but when you do encounter problems, are you going to expect developers to work on fixing them? Right now that's not such a crazy idea, but, going forward, it's really going to be a waste of developer's time to try and keep supporting a 10 year old OS. Just something to think about. I'm certainly not trying to start a debate or flame war or anything like that. If you're happy with your OS, that's all good as far as I'm concerned. But, you're likely to see less and less support going forward. It's to be expected as tech evolves.

leeperry
19th August 2011, 20:44
That sounds very familiar. I had a similar problem when trying to update from 197.xxx, which had been working fine, to a much more recent driver which was one or two versions back.

After doing so, I could not use any form of hardware decoding, either CUDA or DXVA. If I tried my system, which is also XP SP3, would either instantly hard lock or BSOD.
[..] I recommend that you uninstall and use a driver cleaner before re-installing.
Well, I was one WHQL version behind and that's what happened...I spent an hour uninstalling via driver cleaners/setting my custom res again and running more tests....CUDA has always worked fine, but whatever I'd do "HQ DXVA" would always BSOD. I've learned my lesson, but I think it'd be more user-friendly to clearly state it in the hover-on bubble than in the tiny FAQ of the second OP of this thread. Or gray it down completely if XP is detected. Adaptive is artifacts-free, I don't see how it could look any better either way :p

6233638
19th August 2011, 23:20
Hi nevcairiel,

great work with the decoder.
Could you check why LAV CUVID only run with highest Clocks (GPU,MEM) Speeds.

http://img546.imageshack.us/img546/4003/lacuvid.th.jpg (http://imageshack.us/photo/my-images/546/lacuvid.jpg/)
Using LAV CUVID: GPU runs with highest speed

http://img32.imageshack.us/img32/390/powerdvdh.th.jpg (http://imageshack.us/photo/my-images/32/powerdvdh.jpg/)
Using Power DVD: GPU runs with lower speed

Can you fix this?I have just been looking into this today, after measuring the power consumption of my system.

It's not an ideal solution, but Nvidia Inspector (http://blog.orbmu2k.de/tools/nvidia-inspector-tool)'s Multi Display Power Saver tool (right-click the "show overclocking" button to access it) allows you to force the GPU into the lower clocked P8 (Video) power state rather than going into the P0 (Full 3D) power state with CUVID.

It's a less-than-ideal tool to be using, but works for now, cutting my power consumption by 7W compared to CPU decoding.


Hopefully Nevcariel can figure out why CUVID is kicking the GPU into the Full 3D P0 power state rather than the Video P8 power state.

EDIT: Actually, this tool is awesome!
Rather than adding mpc-hc.exe to the P8 Applications list, I have set it to activate the P8 state by VPU usage, and set that to 40%. (may need to experiment with this)

With the HD videos I have tried so far, the lowest VPU usage for decoding has been around 45%, so this ensures it is not switching states in use. (that causes severe video stuttering)

However, it lets the GPU run in the extra-low-power 2D mode (P12) with less demanding videos (e.g. MP4 off the web) which has dropped my power consumption with them to 92W compared to 103W in P8. For reference, my system idles at 90W.

RedDwarf1
19th August 2011, 23:26
Well, I was one WHQL version behind and that's what happened...I spent an hour uninstalling via driver cleaners/setting my custom res again and running more tests....CUDA has always worked fine, but whatever I'd do "HQ DXVA" would always BSOD. I've learned my lesson, but I think it'd be more user-friendly to clearly state it in the hover-on bubble than in the tiny FAQ of the second OP of this thread. Or gray it down completely if XP is detected. Adaptive is artifacts-free, I don't see how it could look any better either way :p
I don't think it really matters what update you do, it still has problems, however I don't know whether it is specific to XP.

I was getting BSOD's and lockups when using any form of accelerated decoding on any player or application so it was nothing to do with LAV CUVID, it was only the nVidia drivers at fault. The FAQ only mentions corruption for XP which is what I experience when using it. It doesn't cause BSOD's! If you fix your drivers it won't happen. ;)

It is recommended that you reboot into safe mode to do the cleaning.

RedDwarf1
19th August 2011, 23:41
I have just been looking into this today, after measuring the power consumption of my system.

It's not an ideal solution, but Nvidia Inspector (http://blog.orbmu2k.de/tools/nvidia-inspector-tool)'s Multi Display Power Saver tool (right-click the "show overclocking" button to access it) allows you to force the GPU into the lower clocked P8 (Video) power state rather than going into the P0 (Full 3D) power state with CUVID.

It's a less-than-ideal tool to be using, but works for now, cutting my power consumption by 7W compared to CPU decoding.


Hopefully Nevcariel can figure out why CUVID is kicking the GPU into the Full 3D P0 power state rather than the Video P8 power state.

A similar thing happens on my GT240. Even for SD Mpeg2 it is still the same.

I have just checked DGIndexNV and it's the same with that. With nothing else using the GPU, the clocks are all low, however by just opening DGIndexNV the clocks all jump to maximum, even with no video opened. Therefore it must be something to do with accessing CUDA that bumps the clocks to maximum. Not even doing any actual decoding affects them.

6233638
19th August 2011, 23:50
...it must be something to do with accessing CUDA that bumps the clocks to maximum. Not even doing any actual decoding affects them.That was what I suspected. Please check my updated post above regarding the use of this tool.

It activates the P8 (Video) power state with HD videos, but for SD videos, it keeps it in the P12 (2D) state, which is just enough with my GTX 570 to let madVR perform the scaling I like (90% GPU load) dropping my power consumption a further 8W below DXVA.

92W with forced P12, MadVR/CUVID & SD video.
100W with EVR-CP/DXVA (P8) & SD/HD video.
103W with forced P8, MadVR/CUVID & HD video.
147W with standard P0 and MadVR/CUVID & SD/HD video.

Before I also started throttling my CPU, my system's power consumption was almost 180W today, so I have almost halved my power consumption in some situations. (CPU was also going to full clockspeed on playback previously)

RedDwarf1
20th August 2011, 00:58
It's an interesting App but I doubt I will bother messing around using it because I don't think it's worth the effort. If I plug my power usage meter in then maybe I would change my mind. That uses 20 watts by itself so I don't keep it plugged in all the time.

6233638
20th August 2011, 01:50
It's an interesting App but I doubt I will bother messing around using it because I don't think it's worth the effort. If I plug my power usage meter in then maybe I would change my mind. That uses 20 watts by itself so I don't keep it plugged in all the time.Understandable. While it's working great for me to lower my system's power consumption (18W compared to CPU decoding & 55W compared to CUVID with SD) it also makes it a nuisance for 3D gaming as you will have to add each title to the P0 list for full performance.

What I think this highlights though, is that you shouldn't just assume that GPU decoding automatically means lower power consumption. (the reason I started using CUVID to begin with)

Because CUVID kicks the GPU into its P0 state, it turned out that it was using almost 40W more than CPU decoding on my system. I'd be curious to see the results from low-power HTPC cards. In many systems, you might be better off using the CPU rather than GPU if you don't want to mess with this tool.

RedDwarf1
20th August 2011, 05:28
Understandable. While it's working great for me to lower my system's power consumption (18W compared to CPU decoding & 55W compared to CUVID with SD) it also makes it a nuisance for 3D gaming as you will have to add each title to the P0 list for full performance.

What I think this highlights though, is that you shouldn't just assume that GPU decoding automatically means lower power consumption. (the reason I started using CUVID to begin with)

Because CUVID kicks the GPU into its P0 state, it turned out that it was using almost 40W more than CPU decoding on my system. I'd be curious to see the results from low-power HTPC cards. In many systems, you might be better off using the CPU rather than GPU if you don't want to mess with this tool.

You make some very good points and well worth considering. My GT240 is a relatively low powered card, using about 8 watts while idling and around 75 max. I doubt my CPU, a core 2 quad, would be using that much power when decoding SD Mpeg2. Therefore, using LAV CUVID for the sake of using it is probably not a good idea. I will have to find my power usage meter and test it when I can find some time. If Gigabyte DES is anything to go by then around 8 to 14 watts for my CPU while decoding an Mpeg2 TV channel means it is probably best to use the CPU rather than GPU.

Gleb Egorych
20th August 2011, 07:06
nevcairiel, thanks for 0.12, it fixed long channel switching in DVBViewer for me too.

nevcairiel
20th August 2011, 09:33
nevcairiel, thanks for 0.12, it fixed long channel switching in DVBViewer for me too.

Glad it wasnt just me, then!
Now only pankov has to confirm as well. ;)

yesgrey
20th August 2011, 10:39
It's not an ideal solution, but Nvidia Inspector (http://blog.orbmu2k.de/tools/nvidia-inspector-tool)'s Multi Display Power Saver tool (right-click the "show overclocking" button to access it) allows you to force the GPU into the lower clocked P8 (Video) power state rather than going into the P0 (Full 3D) power state with CUVID.
Any reason for you to not create a specific profile for your video application? This way you can control all the clocks and do not affect the gaming.

6233638
20th August 2011, 17:32
Any reason for you to not create a specific profile for your video application? This way you can control all the clocks and do not affect the gaming.Well, creating a video profile (P8) for MPC-HC means that the GPU is always running in the medium power consumption mode for video playback. (this is the same mode DXVA uses)

It uses significantly less power than P0, but with my card at least, the lowest-power 2D mode (P12) is fast enough to decode SD video and scale it using MadVR. (bicubic75 chroma, softcubic70 luma)

This drops power consumption with SD video to 92W from 103W, which is only 2W more than the system at idle and worth the extra effort to me.

Setting the VPU threshold to 35% seems to be the right number for my card. While most HD video was using 45%+ I did find a couple of titles that dropped to 40% when showing title cards/credits etc which caused the power state to change and video to stutter. 35% keeps SD video in the P12 state, and HD video in P8 with everything I have tested so far. Depending on your card/source material (my HD content is all Blu-ray discs) this may need to be set differently based on the demands put on your GPU.



There is a similar setting for GPU threshold rather than VPU, but I have that disabled. It seems to either go in P0 when unnecessary, or constantly switch states causing bad stuttering with games/video playback. For applications that require it, I will just add them to the list manually. Fortunately, you can right-click the list and choose from a list of programs currently making use of the GPU.

The upside to this is that I can force the card to stay in the medium power P8 state when running less demanding games, rather than having them run at full performance unnecessarily.


Using this tool does require a bit more effort (though it's really only a one-time thing) but that's why I have a PC in the first place.
If I wanted things to be simple I would just be using a stand-alone Blu-ray player for films and a console for games (or a PS3 for both) but I would rather spend a little bit more time & effort to get a much better experience. E.g. 50Hz DVDs played back at 24p, upscaled using MadVR. Games played in native 1080p at 60fps rather than the 720p30 consoles offer.

I suppose I'm also a bit more concerned about power consumption because using a PC for playback is so much more demanding than a stand-alone now. I don't know what the most efficient is currently, but Panasonic have a player that uses 11W for playback!

I still want the functionality that a high-end PC brings for gaming, video quality and getting work done, but if I can cut the power consumption as much as possible just through the use of software, I feel it's worth making the effort.

I will admit though that I do now wonder if I should have made a better effort to reduce power consumption by only putting one optical drive in the system, buying 3TB drives rather than multiple 1.5TB drives (best price/capacity at the time) and looking into low-power RAM rather than 1.5v gaming-grade stuff (turns out you're looking at less that a 5% difference in performance) choosing a lower wattage PSU (I actually think my old 350W would have been fine, this has never pulled over 200W in my testing) and possibly having gone with AMD for video. (though I'm still wary after having driver troubles in the past)

jmone
20th August 2011, 23:33
So how do you setup the VPU thresholds exactly?

6233638
21st August 2011, 01:30
So how do you setup the VPU thresholds exactly?This is one of those things that's much harder to describe with text than it ought to be.

So there are three power states, P12, P8 and P0. Low power for 2D, medium power for video playback, and full power for 3D/games.
Normally DXVA puts the card into P8, and CUDA (which CUVID uses) seems to put the card into the full power P0 state regardless of how hard it's working.


The VPU threshold option sets the point at which the card will switch between P12/P8 depending on VPU load.

With VPU threshold set to 35%, if load goes above 35% the card will switch to P8 and if VPU load goes below 35% in P8, it switches back down to P12.

So if you set the threshold to 100% for example, it will stay in P12 until load gets to 100%. However, 100% load in P12 might only be 50% load in P8, so it will then switch back down, and up in a never-ending cycle. (ideally you would be able to set independent upper/lower thresholds)


With my card, what I have found is that decoding SD video never reaches 30% VPU load in P12, and decoding HD video always requires 40% or more in P8.

So with threshold set to 35%, the card stays in the very low power P12 state with SD video, and switches to the medium power P8 state with HD.

Without this tool, it would be stuck in the full power P0 state at all times, as CUVID makes use of CUDA.



There are two alternative options if this is sounding too complicated, or doesn't work well in your setup:
Install this tool, add mpc-hc (or your player of choice) to the P8 application list, and it will stay in P8 rather than P0 with all video playback.

On my system that means 103W usage regardless of whether video is HD/SD, rather than dropping to 92W with SD.


Forget about GPU decoding and use LAV Video Decoder, letting your CPU handle things instead. This doesn't interfere with your GPU's power management at all (it should then stay in P8) but because the CPU is doing more work, it raises power consumption to 110W in my system, however this is still a big improvement compared to the 150W drawn when CUVID sets the card to P0.

jmone
21st August 2011, 03:36
Thanks - Where in the tool do you set the thresholds? - Eg, I've been looking for some setting like: "Set VPU Threasholds: <0% P12 <35% P8 <80% P0 <100%" but I must be blind as I can not see where this option is hidden!

6233638
21st August 2011, 03:44
Thanks - Where in the tool do you set the thresholds? - Eg, I've been looking for some setting like: "Set VPU Threasholds: <0% P12 <35% P8 <80% P0 <100%" but I must be blind as I can not see where this option is hidden!Sorry, the application is not very intuitive. Right-click the "show overclocking" button:
http://i.imgur.com/x9umD.png

Unfortunately there is only one VPU slider, two would be ideal.

jmone
21st August 2011, 06:23
Thanks - I never would have found it! Unfortunately, it looks like there is no combo that will work for me on a 550Ti (LAV CUVID and madVR) as:

Using VPU %'s:
- SD needs P8
- "Normal" HD OK on P8
- VC-1(i) HD borderline on P8
- 1920x1080 50p needs P0

Also for smooth HQ "TheaterView" in MC you need P8 (nil VPU use but GPU maxes out on P12)

So for me I'd need really need more control to set something like:
Activate by VPU %: 0% < P12 < 5% < P8 < 75% < P0 < 100%
Activate by GPU %: 0% < P12 < 35% < P8 < 75% < P0 < 100%

In other words on my 550Ti P12 is fine when doing nothing, P8 for most playback, but I need P0 for 1080/50 or 60p (and probably also 1080/50 or 60i) and even then the VPU is being hammered.

yesgrey
21st August 2011, 13:23
So there are three power states, P12, P8 and P0. Low power for 2D, medium power for video playback, and full power for 3D/games.
It seems you are using the auto power management feature.

There are two alternative options if this is sounding too complicated, or doesn't work well in your setup:
How about a third option:
Disable the auto power management feature, and then install NVidia system tools and create your own custom profiles? This way you won't be stuck to P12, P8 and P0. Each person can create profiles specific to their card model.

6233638
21st August 2011, 15:40
It seems you are using the auto power management feature.Using the VPU threshold setting is the only way I know of that will keep the card in P12 with SD video and P8 with HD video.

Using the GPU threshold setting is what caused me all kinds of trouble, with it always switching power states in the middle of watching a film or playing a game.

How about a third option:
Disable the auto power management feature, and then install NVidia system tools and create your own custom profiles? This way you won't be stuck to P12, P8 and P0. Each person can create profiles specific to their card model.I have installed these tools, but don't see anything to do with VPU usage monitoring, only GPU?

yesgrey
21st August 2011, 17:27
Using the VPU threshold setting is the only way I know of that will keep the card in P12 with SD video and P8 with HD video.
Now I'm getting it. You want to change the card's clocks according to the content you are watching (SD vs HD), so it makes sense to use this tool. Another option would be to use two mpc-hc installs and use one for HD and the other for SD, and apply different profiles to them, but that would be a nasty workaround.;)

Furthermore, since you can redefine the clocks of the three different states (P0, P8 and P12), it would be almost the same. The only disadvantage is that you are limited to three states, but that should be more than enough.

I will give this a try, because with this tool I can use even lower clocks for the standard 2D mode, and that would mean lower power consumption.

pankov
21st August 2011, 21:46
Glad it wasnt just me, then!
Now only pankov has to confirm as well. ;)
I confirm
;)
The change is quick and there is only one minor glitch - one frame from the previous channel shows up for a moment and the first frame of the new channel is shown. Can the reason for this be that I'm using Adaptive deinterlacing and "50p/60p (Video)" frame rate.
Does anybody else see this?

Nev,
will you satisfy my curiosity and tell us what was causing the delay?

nevcairiel
21st August 2011, 22:06
Its just some internal technical things, DVB Viewer changed the channel without explicitly flushing the decoder, and therefor it caused the decoder to not properly discard frames from the old channel.

The issue with one frame showing is probably caused by the renderer, showing the last frame it knows until the decoder outputs a new one.

pankov
21st August 2011, 22:34
About the "one frame showing" issue - I'm not sure I explained it good enough so I'll try one more time:
when DVBViewer changes the channel it freezes the last frame of the old channel until the re-tuning is complete by the DVB card. After this it shows a frame (or a few - can't say for sure) from the new channel and then flashes quickly a frame from the old channel and then continues with the new channel.
Obviously it has a frame from the new channel so it's "last known frame" shouldn't be from the previous channel ... at least I think so.

CruNcher
22nd August 2011, 03:14
Now I'm getting it. You want to change the card's clocks according to the content you are watching (SD vs HD), so it makes sense to use this tool. Another option would be to use two mpc-hc installs and use one for HD and the other for SD, and apply different profiles to them, but that would be a nasty workaround.;)

Furthermore, since you can redefine the clocks of the three different states (P0, P8 and P12), it would be almost the same. The only disadvantage is that you are limited to three states, but that should be more than enough.

I will give this a try, because with this tool I can use even lower clocks for the standard 2D mode, and that would mean lower power consumption.

Clocks aren't the major Power Consumption factor Voltages are

ryrynz
22nd August 2011, 09:41
Yup, the trick is to lower clock speeds enough that you can lower the voltage, getting the most performance from your input voltage.

yesgrey
22nd August 2011, 17:37
Clocks aren't the major Power Consumption factor Voltages are
Is there any tool that allows changing the voltages?

ryrynz
23rd August 2011, 00:05
You could edit the BIOS with Nibitor to do that.

BatKnight
23rd August 2011, 00:43
This is getting offtopic.
Please go mess with your graphic cards on a newer thread. :thanks:

Bat

roozhou
25th August 2011, 07:49
Hi nevcairiel,
About timestamps mess of ASP, why don't you try using timestamps from upstream(demuxers)? You can store incoming PTS in a fifo and always assign decoded frames with smallest PTS. Using average duration to calculate PTS is not a good idea even for cfr content because some files may have fake fps stored in the container or bitstream.

nevcairiel
25th August 2011, 08:01
Its impossible to match the frames to the input timestamps, because the decoder does not let me know if it dropped a frame to avoid artifacts (after seeks, when a reference frame is missing), so it would end up in a desync.
People should just use a software codec for MPEG4-ASP.

Also, if files contain fake header infos, i consider those broken files, and will not spend time trying to fix them. :)

I'm open to suggestions, but a simple FIFO doesn't work, because of the problem mentioned above.

roozhou
25th August 2011, 08:28
Its impossible to match the frames to the input timestamps, because the decoder does not let me know if it dropped a frame to avoid artifacts (after seeks, when a reference frame is missing), so it would end up in a desync.
People should just use a software codec for MPEG4-ASP.

Also, if files contain fake header infos, i consider those broken files, and will not spend time trying to fix them. :)

I'm open to suggestions, but a simple FIFO doesn't work, because of the problem mentioned above.
Will it drop frames in the middle of playback, or only after seeks? If it's latter, we can assume the first frame decoded after seek has correct pts and drop timestamps before this point.

nevcairiel
25th August 2011, 08:39
On a healthy file it should not drop anything during playback. It just drops frames when its obvious that the frame would be corrupted - trying to decode a P/B frame without having the reference frames.

Assuming the first frame it outputs was a I frame, and B frames are present, it would still re-order the frames internally, and PTS might not equal DTS.
B frames are quite annoying.

I could do something like scanning the MPEG4 Headers myself and just drop any frames after a seek until i see a I frame, or something like that.
Wonder if that would work for VC-1 as well....

roozhou
25th August 2011, 09:05
Did you try AVC-in-AVI or AVC-in-MKV using VFW mode(avi_mui_gui always produces such files). I am afraid they will suffer from similar problems.

nevcairiel
25th August 2011, 09:11
I don't particularly care for non-spec compliant MKV files. If you create such a file, its your own fault. There is only one proper way to mux H264 in MKV, and doing it another way will not only break this decoder, it'll probably output wrong timestamps with pretty much every decoder.

For H264 in AVI, at least there is only one way to do it, even if its ugly, and you can switch the processing mode on the file extension. But its not supported by LAV CUVID, and i have no plans to change that anytime soon.

roozhou
25th August 2011, 09:34
I don't particularly care for non-spec compliant MKV files. If you create such a file, its your own fault. There is only one proper way to mux H264 in MKV, and doing it another way will not only break this decoder, it'll probably output wrong timestamps with pretty much every decoder.
All video codecs can be stored in MKV using VFW mode. ASP and H264 are similar, both have native mode and VFW mode. mkvmerge uses VFW mode for ASP by default, until you add the hidden option "--engage native_mpeg4".

nevcairiel
25th August 2011, 09:48
"Can" doesn't mean you should. I'm just saying that alot of decoders will probably choke when you feed it such a file, and therefor is not recommended, and no-one should expect it to work properly. But this is really beside the point of the original discussion. :p

robpdotcom
1st September 2011, 03:27
I'd like some advice if someone doesn't mind:

I'm thinking of upgrading my GPU, partly because of LAV CUVID and the ability to use HW deinterlacing with madVR. It seems that the GTS450 is a favorite. Aside from the HW deinterlacing/decoding, should I expect any other performance increase over my ATI 5750?

Mangix
1st September 2011, 05:26
yes. it has faster tesselation units and higher clocks.

nevcairiel
1st September 2011, 06:17
The GTS450 might have higher 3D performance then the 5750, however you won't notice anything of that unless you actually play games or use other 3D applications.

Redemption80
1st September 2011, 12:51
Good thing i read through most of these pages over the last few days, was about to get a GT520, but hearing about the poor de-interlacing performance made me rethink that.

nevcairiel, have to say thanks for this and the splitter/audio decoders, video quality has never been better or smoother.
Also made me switch from using SPDIF for audio, and back to analog so i could use TMT's dtsdecoder:D
All working flawlessly in MPC-HC with MadVR which i have just started testing, and also flawless in MediaPortal which gets used more often due to it being more girlfriend friendly :)

One thing though to you, or Madshi, if the majority of my files are full BluRay/HDDVD rips with some BBCHD H264 1080i/50 streams as well, is it worse losing the user friendliness and pretty GUI of MediaPortal and using MPC-HC and MadVR instead?

nevcairiel
1st September 2011, 12:59
Only you can really judge if its worth it for you.

You can get decent results if you use ffdshows high-quality RGB conversion instead of letting your renderer deal with it, and the quality difference to madVR won't be that obvious anymore.
So if you really want to use the GUI, for a minimal quality loss i would setup something like LAV CUVID for decoding and deinterlacing, then ffdshow as a post-processor with HQ RGB conversion.

Its too bad that there are so few players with a nice 10ft GUI that support madVR.

Redemption80
1st September 2011, 13:13
Yeah, does seem like a dumb question when it’s my eyes, just that I wasn’t really seeing a huge difference in most of the stuff I was testing, but I do need to mess with MadVR more as I while I have had it installed for a while not, only recently started to use it.

Might try that out later on with ffdshow, thanks for the suggestion, with EVR on MediaPortal I’ve got lots of breathing space performance wise anyway on both GPU and CPU.

Yeah it is too bad, but it seems one side of the HTPC scene is going for all out quality, and the other side is prioritising ease of use and convenience.

robpdotcom
2nd September 2011, 02:10
The GTS450 might have higher 3D performance then the 5750, however you won't notice anything of that unless you actually play games or use other 3D applications.

It won't be used for games, but how about upscaling via madvr?

Currently, I get tons of dropped frames when I upscale 720p60 to 1080p60, unless I use exclusive mode. And even in exclusive mode, I can forget about subtitles. Would the 450 perform better in that situation?

nevcairiel
2nd September 2011, 07:03
I would've thought the 5750 would be fast enough for that as well.
You can easily test if the GPU is the bottleneck by just lowering the scaling algorithms, and see if the problem goes away.

That said, my 450 can downscale 1080p60 when in window mode without frame drops. I don't have a way to test upscaling, really.

With ATI/AMD, it might also be a driver thing, i remember reading some thread about 60fps issues...

jmartinr
2nd September 2011, 13:52
All video codecs can be stored in MKV using VFW mode. ASP and H264 are similar, both have native mode and VFW mode. mkvmerge uses VFW mode for ASP by default, until you add the hidden option "--engage native_mpeg4".

Would you happen to know a way to remux h246 (VFW) in AVI to it's native mode in MKV or MP4?

sneaker_ger
2nd September 2011, 14:01
Just remux with mkvtoolnix for mkv.

Xaurus
2nd September 2011, 15:31
I am also struggling with 1080i. Using a 570 GTX. The problems arise when there is "scrolling" in the film, for example a great test part is the 1080i version of the last episode of Game of Thrones, around 6-7 minutes when the Stark mother is in the woods and you can see lots of trees scrolling infront of her, from left to right. They are jerky and I have yet to find a proper way of making this smooth.


sample ?
I have now made a sample using tsMuxeR 1.10.6 which I found to be a nice and easy tool to use. Feel free to download the sample and tell me about how your setup tackles the "evil trees". :D

Download here (http://home.halden.net/mordor/evil_trees.7z)

29.97, 1080i (if you don't remember our discussion).

CruNcher
2nd September 2011, 18:53
I got it smooth :)

So first im using Aero on Win7 2nd im using Intel HD2000 currently so no Nvidia currently the setup that got me the smoothest motion result is

MPC-HC 64 3706

Lav splitter->Lav Audio->Lav Video->EVR (Normal) all MPC-HC Internal Sync functions disabled

http://img3.imageshack.us/img3/3503/smoothmotion.png

I didn't achieved smooth hardware playback yet

nevcairiel
2nd September 2011, 18:58
You get 24.27 fps on a 29.97 movie, and you call that exact frame rate? :D

The file is really tricky though. It seems to have its interlacing or telecine completely screwed up, EVR doesnt manage to deinterlace it properly.

Xaurus
2nd September 2011, 20:03
You get 24.27 fps on a 29.97 movie, and you call that exact frame rate? :D

The file is really tricky though. It seems to have its interlacing or telecine completely screwed up, EVR doesnt manage to deinterlace it properly.
Hi nev,

If the file is improperly encoded it would be a shame though...
I mean, if you regard it as unsuitable for deinterlacing/panning tests?
Perhaps something happened in the process of me extracting this part for a small clip.
Is there a way for me to give you these details from the main file? It is 5,4 GB in size...

I can tell you that with CUVID I have absolutely zero combing with the 25/30 fps setting and just no/minor combing with 50/60 setting.

In any case... do you experience the "panning" issue too? The trees "lagging" (I am not sure which word to use) even if there are no frame drops and the rest of the contents are smooth (to the eye at least)?

edit: My setup is added to my signature now.

Xaurus
2nd September 2011, 20:22
Apparently the signature doesn't get added after a post is made (some boards do this). Signature should be visible now.

CruNcher
2nd September 2011, 20:52
You get 24.27 fps on a 29.97 movie, and you call that exact frame rate? :D

The file is really tricky though. It seems to have its interlacing or telecine completely screwed up, EVR doesnt manage to deinterlace it properly.

Yes i know but the tree pan is smooth and it still seems sync (and it goes more towards 25 fps even might be indicating that it was actually recorded @ 25 fps from the start, nothing uncommon to use a 25 fps cam and later convert to 24 or then because of broadcasting to 29) ;) i made a video of it but it's not as smooth as in reality on screen (recording overhead)

But im surprised that i dont get smooth results with the MS DTV-Decoder and DXVA :( CPU utilization is much lower @ arround 4% but the smoothness is more bad compared to the 10% Cpu Utilization LAV Video needs for this but absolute smooth on the 4 I-5 Cores and Power Consumption isn't that much higher i would have expected even higher latency because of the multithreading but Win7 seems to be very efficient here compared to XP also the Power Config (Balanced) doesn't interfere in anyway Performance wise :)

@nev
it seems the smoothnes on EVR (normal) compared to EVR Custom comes from the Interlace Flag sending in Lav Video turning it on on EVR causes problems for the tree scene turning it off results in that 24.xx smooth playback :) though on Evr custom you have to turn it on again and then it fails with smooth playback resulting in some 39.xx fps It's interesting on EVR you dont seem to need to send anything it will get correctly deinterlaced and telecined by the hardware regardless. EVR custom seems to lose that ability currently this could maybe also explain the behavior on my sample.ts (which is also telecined it seems) :)

Also my major guess is you see those 24.xx fps on EVR because Intels Hardware is doing some good adaptive work here ;)

Xaurus
2nd September 2011, 23:54
nevcairiel,

I ran the MPEG2Repair program on the original file just to log it (not repair it):

Sequence Frame 79601(0-I) / Time 0:54:35 :
Info: End of MPEG2 sequence

Sequence Summary:

File Size Processed: 5.13 GB, Play Time: 00h:54m:35s
1920 x 1080, 29.97 fps (24.30 fps Telecine), 18.00 Mbps (12.66 Mbps Average).
Average Video Quality: 63.60 KB/Frame, 0.25 Bits/Pixel.
AC3 Audio: 3/2 Channels (L, C, R, SL, SR) + LFE, 48.0 kHz, 384 kbps.
Dialog Normalization: -24.0 dB, Center Mix Level: -3.0 dB, Surround Mix Level: -3.0 dB
0 of 79601 video frames found with errors.
0 of 102358 audio frames found with errors.
0 corrupted video bytes in file.
0.000000 seconds of video timestamp gaps.
0.000000 seconds of audio timestamp gaps.

End of Log

CruNcher
3rd September 2011, 03:07
Hehe i found a way to get it smooth with Lav Video (Send Interlace Flags) also on EVR Custom being telecined correctly :P this is really funny but forcing DirectVobsub to be loaded makes this possible

Gleb Egorych
3rd September 2011, 07:29
Hi, nevcairiel

Regarding deinterlacing issue (http://forum.doom9.org/showthread.php?p=1519634#post1519634): I've uploaded a sample -> http://www.mediafire.com/?4cilzfa418ztey5
MediaInfo says it's progressive ("scan type") but it also has "scan order" property.

CruNcher
3rd September 2011, 12:12
Though i guess for DXVA2 to get this working there would be no other way then to contact Nvidia and Intel and provide them such a sample so they can fix the behavior, i tried everything no go on HD2000 to get this smooth with DXVA2 with any Splitter->Decoder->Renderer combination. In Software Mode this issue fixes itself magically on the HD2000 either on EVR (normal) or as funny as it sounds with DirectVobsub on Evr Custom :P not sure though if that works also for Nvidia.

mzso
4th September 2011, 13:48
Hi!
After reading the first post its unclear to me, but does cuvid do all of the work on the GPU itself or does it use some separate decoder chip (which I remember dxva using.). Or some sort of combination?
Also does it have the sort of limitations that dxva does? Like that it wouldn't work at all with higher h264 ref frame numbers, or other video filters in the chain. (I see it works with all renderers so that's a plus)

Also what's the minimum recommended GPU? I'm thinking of replacing my 2600xt. I was thinking something like a gts450. (Not sure if its already the mentioned VP4 or hw or not)

CruNcher
4th September 2011, 13:54
Ok update i measured now the Power Consumption difference of Mpeg-2 Playback Intels Decoder (Hardware DXVA2) vs Lav Video (Software Multithreading) (on Core I5-2400)
and at least for Mpeg-2 i came to the conclusion that the Playback Problems that are mostly caused due to Hardware decoding aren't worth the hassle with @ best 1W save Sandy Bridge is very efficient here on the cpu part :) (nothing to cheer about obviously comparing to a real SOC neither the Intel Decoder result)

so 1080p with full 60 fps Deinterlacing takes approx 13W (idle 5W + decoding 8W (includes Parser,Aero, Audio (Lav Audio) and Renderer (EVR Custom) overhead)) on Sandy Bridge and Intels Decoder (tested via Microsoft-DTV-Decoder and Intels own Mpeg-2 Decoder both are mostly identical when it comes to DXVA2, still trying to find out how to get software mode working for both forcing renderer change is no good solution for constant measuring results) doesn't do much better with DXVA2 12W (7W) :/

Im using Ben Waggoners TallShip sample for measuring if someone has a more heavier sample it would be nice to see it (but please something that occured in AVG user life not PRO and also non Studio 4:2:2) ;)

General
ID : 0 (0x0)
Complete name : H:\theislandoriginal\TallShip_1080i_ATSC.ts
Format : MPEG-TS
File size : 777 MiB
Duration : 5mn 35s
Overall bit rate : 19.4 Mbps

Video
ID : 4096 (0x1000)
Menu ID : 1 (0x1)
Format : MPEG Video
Format version : Version 2
Format profile : Main@High
Format settings, BVOP : Yes
Format settings, Matrix : Custom
Codec ID : 2
Duration : 5mn 35s
Bit rate : 18.0 Mbps
Maximum bit rate : 18.0 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 29.970 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Interlaced
Scan order : Top Field First
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.289
Stream size : 719 MiB (93%)

Audio
ID : 4097 (0x1001)
Menu ID : 1 (0x1)
Format : AC-3
Format/Info : Audio Coding 3
Mode extension : CM (complete main)
Codec ID : 129
Duration : 5mn 35s
Bit rate mode : Constant
Bit rate : 448 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
Stream size : 17.9 MiB (2%)
Language : English

sneaker_ger
4th September 2011, 14:12
Hi!
After reading the first post its unclear to me, but does cuvid do all of the work on the GPU itself or does it use some separate decoder chip (which I remember dxva using.). Or some sort of combination?

It uses the same decoding unit as DXVA, but the GPU itself for deinterlacing IIRC.

Also does it have the sort of limitations that dxva does? Like that it wouldn't work at all with higher h264 ref frame numbers, or other video filters in the chain. (I see it works with all renderers so that's a plus)

It doesn't rely on a DXVA compatible renderer and it works fine with up to 16 ref frames. (But 16 ref frames also work fine on DXVA - at least on Vista/7, for pretty much every Nvidia Card and all ATI cards HD4xxx and newer)

CruNcher
4th September 2011, 14:51
Jep the difference is roughly 1 Watt and without Audio overhead and with default EVR (0.5W-1W still optimizing measuring) we are @ 5W (Intel Decoder) and 6W (Lav Video) (though if you calculate all the issues with DXVA2 into that with different renderer special adoption of Splitter ect i find this 1W very acceptable ;)

http://software.intel.com/en-us/articles/intel-energy-checker-sdk/ <- Really rocks :)

nevcairiel
4th September 2011, 14:51
MPEG-2 is a rather trivial format, compare H264 instead. :)

CruNcher
4th September 2011, 15:18
Hehe yeah there it looks much different ;) but i want to improve measuring first :D

mzso
4th September 2011, 17:13
It uses the same decoding unit as DXVA, but the GPU itself for deinterlacing IIRC.



It doesn't rely on a DXVA compatible renderer and it works fine with up to 16 ref frames. (But 16 ref frames also work fine on DXVA - at least on Vista/7, for pretty much every Nvidia Card and all ATI cards HD4xxx and newer)

OK. Thanks for the enlightenment. I never thought that the ref frame limit might be video card specific...

jmone
4th September 2011, 21:55
Out of interest and given there is nothing in the tracker, is LAV CUVID "done", "stable" and feature complete (eg V1.0)?

rica
4th September 2011, 22:44
not sure though if that works also for Nvidia.

Hi crunch. I made tests on 3840*1080 SBS file.

Here is my HW:

intel 540 on H55 (Clarkdale)
2*2GB RAM (1600 Mhz)
Geforce GTX 550 Ti

SW:

Seven 32 Pro, SP1 Build 7601
nVidia drivers 280.19

And here are my test results:

Splitters:

Haali,
Gabest,
LAV

Video decoders:

ffdshow video dxva,
lav CUVID

Renderer:

EVR Custom.

Avarage CPU usage is around 20%.

http://img695.imageshack.us/img695/5798/lavsplit3840evr.png (http://imageshack.us/photo/my-images/695/lavsplit3840evr.png/)


With same splitters and video decoders if i use MadVR as renderer, CPU usage climbs to 40% as expected since Madshi says:

[known problems / limitations:

- hardware accelerated video decoding (DXVA) is currently not supported
- hardware accelerated deinterlacing (DXVA) is currently not supported


http://img545.imageshack.us/img545/6209/lavsplit3840madvr.png (http://imageshack.us/photo/my-images/545/lavsplit3840madvr.png/)

EDIT: If you ask me "have you given it a go with MadVR only; as decoder+renderer?": YES, the result never changed.
_ _ _ _ _

nevcairiel
5th September 2011, 08:03
Out of interest and given there is nothing in the tracker, is LAV CUVID "done", "stable" and feature complete (eg V1.0)?

Is it called 1.0? No? Right.

Also, what tracker? LAV CUVID doesn't have a public bug tracker.

Chillgurke
5th September 2011, 08:41
I think he meant, if any new features or updates planned ?

jmone
5th September 2011, 10:12
Is it called 1.0? No? Right.

Also, what tracker? LAV CUVID doesn't have a public bug tracker.

For some reason I figured it would be part of http://code.google.com/p/lavfilters/

Anyway ... just swapped out my last ATI card for a nvidia one. FYI - you are not the only one getting better results from nvidia over ATI. Cyberlinks PD9 can output AVC 50 or 60p using the nvidia GPU but not with ATI.

CruNcher
5th September 2011, 14:02
Hi crunch. I made tests on 3840*1080 SBS file.

Here is my HW:

intel 540 on H55 (Clarkdale)
2*2GB RAM (1600 Mhz)
Geforce GTX 550 Ti

SW:

Seven 32 Pro, SP1 Build 7601
nVidia drivers 280.19

And here are my test results:

Splitters:

Haali,
Gabest,
LAV

Video decoders:

ffdshow video dxva,
lav CUVID

Renderer:

EVR Custom.

Avarage CPU usage is around 20%.

http://img695.imageshack.us/img695/5798/lavsplit3840evr.png (http://imageshack.us/photo/my-images/695/lavsplit3840evr.png/)


With same splitters and video decoders if i use MadVR as renderer, CPU usage climbs to 40% as expected since Madshi says:



http://img545.imageshack.us/img545/6209/lavsplit3840madvr.png (http://imageshack.us/photo/my-images/545/lavsplit3840madvr.png/)

EDIT: If you ask me "have you given it a go with MadVR only; as decoder+renderer?": YES, the result never changed.
_ _ _ _ _

I wasn't talking about that DXVA2 works on Nvidia sure it does i was more concerned if Nvidias Telecine does the 24.30 (evil_tree sample) correct either with Lav Cuvid or via DXVA2 over EVR or does in the end also fail like Quicksync does with DXVA2.
But as nev allready mentioned this sample is strange and for such a thing you would need something very adaptive to get it right :)
Though that it works in a full Software chain (Lav Splitter->Lav Video->EVR) seems to show @ least that Intels Telecine does it's job nicely and Nvidia should not fail here either on EVR with the same Software Decoding setup.

JanWillem32
5th September 2011, 21:37
For those interested, to quote myself:In regard to the evil trees sample, I've removed the pulldown, the flags were set rather wrong. The damaged parts of the stream are now clearly visible when enforcing a strict mode:-link removed-. That explains why I kept getting pauses during playback with all renderers I tried. The original stream was 24/1.001 fps progressive as 48/1.001 fps weave interlaced.

rica
5th September 2011, 22:39
I wasn't talking about that DXVA2 works on Nvidia sure it does i was more concerned if Nvidias Telecine does the 24.30 (evil_tree sample) correct either with Lav Cuvid or via DXVA2 over EVR or does in the end also fail like Quicksync does with DXVA2.
But as nev allready mentioned this sample is strange and for such a thing you would need something very adaptive to get it right :)
Though that it works in a full Software chain (Lav Splitter->Lav Video->EVR) seems to show @ least that Intels Telecine does it's job nicely and Nvidia should not fail here either on EVR with the same Software Decoding setup.

Crunch, with my nVidia GPU, Lav Splitter > Lav CUVID > EVR gives smooth playing; no dropping frames, no jitter but it shows 39 fps (on quality info) at 3-4% CPU utilization. (with Lav Video: 6%) (don't ask how :) )
But it is a damaged cut and all my experience say "interlaced short mpeg2 cuts are always problemetic unless they are cut by Video ReDo or VideoReDo TV Suite."
So this sample may never be a trial subject imo.

EDIT: I haven't used Cuttermaran for years, this might be another working way to cut the mpeg2 files correctly.

Xaurus
6th September 2011, 16:41
edit: posted in wrong thread

rica
6th September 2011, 21:52
edit: posted in wrong thread

If it is addressed to me, i just said your sample has been cut with a non-suitable SW (IMO) so it has lots of issues. This is not your fault.
Sorry maybe i posted in wrong thread?

Xaurus
6th September 2011, 23:04
If it is addressed to me, i just said your sample has been cut with a non-suitable SW (IMO) so it has lots of issues. This is not your fault.
Sorry maybe i posted in wrong thread?
It was about the clip, yes, but it was directed at JanWillem who has already answered my questions in another thread. :)

In any case, I will wait for the Blue Ray release of Game of Thrones (December) before I do anything. :D

CruNcher
7th September 2011, 08:25
Crunch, with my nVidia GPU, Lav Splitter > Lav CUVID > EVR gives smooth playing; no dropping frames, no jitter but it shows 39 fps (on quality info) at 3-4% CPU utilization. (with Lav Video: 6%) (don't ask how :) )
But it is a damaged cut and all my experience say "interlaced short mpeg2 cuts are always problemetic unless they are cut by Video ReDo or VideoReDo TV Suite."
So this sample may never be a trial subject imo.

EDIT: I haven't used Cuttermaran for years, this might be another working way to cut the mpeg2 files correctly.

Sounds good (though you shouldn't concentrate to much on any info displays but more on the actual motion with your pure eyes, as you know the stream is totaly wrong and depending on the sended mediatype flag the decoder and renderer will react strange though if it gets the motion smooth everythings fine) :) it fails on EVR Custom ? what is the result with MadVR ?
Also did you tested on EVR with Nvidias Telecine in the controll panel active or disabled ? (Though Lav Cuvid should overwrite this i guess)

Xaurus: You should also contact the ISV that Software you used to cut this and make him aware of this discussion :)

rica
7th September 2011, 20:59
Hi Crunch.

I can not see any difference between MAdVR and EVR.
Inverse telecine is enabled or disabled has no effect on the result.
EVR custom (even it shows 23.97 fps) fails; it has lots of dropped frames.
But as i told before this cut can not be reference.
Take care.

Kripsy
7th September 2011, 21:29
I've encountered a problem with a MBAFF 25p (flagged as i) AVC Blu-ray file and think I've diagnosed the troubles. The symptoms are video stuttering and are most prominent with madvr, but you can also see them with EVR. The trouble seems to be with the deinterlacing of the progressive material to 50fps even though the stream header says 25fps. If I turn the deinterlacing off or change the deinterlace framerate to 50p/60p then the stuttering disappears.

Sample: http://www.mediafire.com/?5f93gk9iw02tb0f

Mixer73
7th September 2011, 23:37
Hi nevcairel

I'm a big fan of your projects, and I really love the quality, but I seem to have a performance bottleneck in my system and I was wondering how I might get to the bottom of it.

Decoding MPEG2 1080i streams, in PotPlayer with either EVR, EVR CP or madVR renderers, my system seems at best to drop approx 1 frame per second.

System is an i7/965 at stock clocks with a GTX260 card. Its running Vista 64bit at the moment and is in a dual-head configuration.

I'm planning on a fresh format to Win7 anyway but I'm wondering if my GPU is bottlenecking, and if this is the case whether upgrading to a DDR5 model might help, over the DDR3 RAM in the 260?

nevcairiel
8th September 2011, 07:14
The easiest way to check if there is some obvious performance bottleneck would be to get GPU-Z and check the video engine load, GPU load and memory controller load - as well as GPU memory used.

ney2x
8th September 2011, 07:34
I compare CoreAVC 3.0 to LAV CUVID 0.12, the result is this.

LAV CUVID 0.12
VPU Load = 33%
GPU Load = 12%
Memory Load = 721MB/1024MB
CPU Load = Average 14%

CoreAVC 3.0
VPU Load = 32%
GPU Load = 11%
Memory Load = 738MB/1024MB
CPU Load = Average 20%

*LAV Video 0.35
VPU Load = 0%
GPU Load = 38%
Memory Load = 332MB/1024MB
CPU Load = 30%

I used GPU Observer Gadget (I think it's the same as GPU-Z) to measure the loads. Filters used : LAV Filters 0.35, Reclock, madVR 0.74, MPC-HC. I don't know who is the real winner here but my observation is, faster seeking with LAV CUVID.

Is LAV Video a software decoder like ffdshow? Additionally, I got no glitches in madvr using LAV Video wherein CoreAVC and LAV CUVID I get 5-8 glitches, I'm using the default settings of madvr.

Chillgurke
8th September 2011, 07:34
Hi Nev,

is there any update in the pipe ? Or a little roadmap for this great Decoder ?

nevcairiel
8th September 2011, 08:09
Is LAV Video a software decoder like ffdshow? Additionally, I got no glitches in madvr using LAV Video wherein CoreAVC and LAV CUVID I get 5-8 glitches, I'm using the default settings of madvr.

Yes it is a pure software decoder. The increased GPU load is probably because the GPU actually goes into a lower power state. CUDA forces it into the high-power mode for some reason..


is there any update in the pipe ? Or a little roadmap for this great Decoder ?

I'm focusing on other projects at this time. I'm not aware of any issues that need immediate attention, everything is working pretty good.

ney2x
8th September 2011, 08:20
Ohh lastly, if you're going to release new version of LAV CUVID, kindly skip 0.13 cause that's not my lucky number :scared:

devil-strike
8th September 2011, 10:34
I want to say, very GOOD job you have done on this codec, is allot beter than coreavc that dont even work anymore after 2.6 under dvbviewer.

Also channel change is allot faster than any codec i have seen, so keep up the good work.

Mixer73
8th September 2011, 12:49
The easiest way to check if there is some obvious performance bottleneck would be to get GPU-Z and check the video engine load, GPU load and memory controller load - as well as GPU memory used.

Very interesting.

Showing only 280mb used of 896mb, 16% GPU load, 6% Memory Controller Load, 6% Video Engine load, less than 5% CPU usage but I am still losing approx 1 frame every .5-1 second...

Testing again it seems to be more related to madVR than LAV CUVID. I think with EVR CP it drops almost no frames.

However if I have any significant CPU utilisation (say video encoding), it will drop more.

Do you have any idea whether being in dual head mode might have an impact?

CruNcher
8th September 2011, 13:12
Mixer73 all this frame dropping stuff depends on many more then just 1 part of the system also Windows is no realtime OS so you have to be careful what is going on the system (everywhere) any load somewhere can cause frame drops (using a exclusive mode is more secure but also not a 100% avoiding solution) it's not easy to solve by anyone if you don't know exactly your system and it's configuration and i mean really in depth analyzing it directly on the machine.

If you have a cluttered system and even EVR CP in Exclusive mode drop frames you have to kill everything you know that could introduce this the best is really to test on a absolute clean system installation with no more 3rd party code on it, and if you put more 3rd party code on it you should always check if that interferes with your Playback :(

Mixer73
8th September 2011, 13:41
Mixer73 all this frame dropping stuff depends on many more then just 1 part of the system also Windows is no realtime OS so you have to be careful what is going on the system (everywhere) any load somewhere can cause frame drops (using a exclusive mode is more secure but also not a 100% avoiding solution) it's not easy to solve by anyone if you don't know exactly your system and it's configuration and i mean really in depth analyzing it directly on the machine.

Thanks, I'm gonna do the clean format anyway, this machine is a little long in the tooth, hell maybe it will just do the trick.

I am adding an SSD to the system as well with the format so it can't get worse :P

CruNcher
8th September 2011, 14:15
Thanks, I'm gonna do the clean format anyway, this machine is a little long in the tooth, hell maybe it will just do the trick.

I am adding an SSD to the system as well with the format so it can't get worse :P

Yeah sometimes the best solution though if you think you can handle it you could first look in your Performance information since NT 6 Windows has some nice self Diagnostic Layer that can be really helpful to find not sooo deep Performance problems @ least and some of them could also be the cause for overall system issues :)

Boot up/down time analysis code 100,102,103 ect are the first thing to look @ :)

jmonier
9th September 2011, 18:58
I've noticed two anomalies with LAV CUVID which, while they don't seem to be a problem for me, may be of interest. I haven't tested really extensively, but in my setup (which includes Zoomplayer and madVR), they happen reliably with LAV CUVID and not with other decoders.

1) GPU memory usage (as displayed by GPU-Z). Whenever I stop playback and then start it again, the memory usage is higher than it was before. This continues until the upper limit of memory is reached, then it stays at that value. Playback is fine, even after the upper memory limit is reached. The memory only goes back to zero when I exit Zoomplayer.

2) madVR Windowed Mode with interlaced material. This causes constant dropped and delayed frames. It's fine in Full Screen Exclusive mode and also fine with non-interlaced material in both modes.

CruNcher
9th September 2011, 20:27
@nev

http://forum.doom9.org/showthread.php?p=1525110#post1525110 <- here you can see the current efficiency Intel reached themselves with the copy overhead on SB, most probably the driver team)

will be super interesting to compare that vs Lav Cuvid :)

TheShadowRunner
11th September 2011, 00:15
Nevcairiel, thank you very much, between your filters and Madshi's renderer, you've pretty much given a new life to HTPCs.
I'm wondering, do you ever plan to integrate LAV CUVID into Lav Video Dec eventually?
So that 8bit h264 could be CUDA accelerated and 10bit could be software decoded, with a single codec? (since these video streams share the same subtype, setting 2 decoders is pretty much impossible (?))

Also, i take it you've no hints regarding nvidia's ivtc feature available in their driver?

CruNcher
11th September 2011, 10:35
Nope nev was one of the first who thought about this ;) Lav Cuvid supports to fallback (it wont allow connections for 10 bit 4:2:2 neither 4:4:4 and also not Mpeg-2 4:2:0 content) you just have to configure your player right :)

You put Lav Cuvid on top of the chain and enable H.264 and Lav Video bellow it (or any other you prefer for this type of content, makes it much more flexible in your decision what you want to use), now if you open 10 bit content it will use Lav Video same for Mpeg-2 Studio if you select also Mpeg-2.

Though the Mpeg-2 fallback is a special case it works only combined with Lav Splitter.

TheShadowRunner
11th September 2011, 11:46
Brilliant, thanks for the tip, CruNcher. Now I need time for some testing ;)
Strange this isn't documented anywhere though ^^;

clsid
11th September 2011, 12:46
It is not documented because it is 'normal' behavior. For example the MPC and ffdshow DXVA decoders also deny connection for stuff they do not support to allow fallback to the next available decoder.

mindbomb
11th September 2011, 13:49
how is the mpeg 4 asp decoding in cuvid?

i don't have a compatible graphics card to test it, but dxva for it on the radeon 6000 series using the arcsoft video decoder results in a generally blurrier picture and there are frequently bugs. I'm wondering if similar problems are found with cuvid.

betaking
11th September 2011, 14:00
how is the mpeg 4 asp decoding in cuvid?

i don't have a compatible graphics card to test it, but dxva for it on the radeon 6000 series using the arcsoft video decoder results in a generally blurrier picture and there are frequently bugs. I'm wondering if similar problems are found with cuvid.

Last cyberlink video decoder dixv decoder or daum potlayer built deocoder can support radeon 6000 series mpeg 4 asp dxva!
cuvid only for nvidia cuda graphics card!

CruNcher
12th September 2011, 10:40
how is the mpeg 4 asp decoding in cuvid?

i don't have a compatible graphics card to test it, but dxva for it on the radeon 6000 series using the arcsoft video decoder results in a generally blurrier picture and there are frequently bugs. I'm wondering if similar problems are found with cuvid.

The difference is that they can chose the PP method they want to apply themselves Mpeg-4 Asp has no standard defined PP or any kind of inloop it's up to the implementer if they want to use it or not and how (bitstream information based, default strenght,manual) everything's possible and most probably will be different from implementer to implementer (resulting in different visual output) :D
Arcsoft seems by default then to use a heavy PP to make sure blocks are decimated as much as possible taking into account that it kills fine details (though they could also use a more adaptive approach that works only in their own framework,needing bitstream information).
This and that the IDCT,Qpel could differ (between encoder/decoder) where the 2 major reasons for it to fail and to replace it with H.264
Mpeg-4 ASP had no Commercial Stability that was needed for HD-DVD,Blu-Ray and more Advanced Interoperable Internet (Cloud) solutions we see today in combination with a Hardware Ecosystem that works very good (unthinkable with Mpeg-4 ASP, that's why DivX Networks(Inc) initiated their Certification they saw that others would lose in this catastrophe without any guidance and that a own Ecosystem with their own Standards was highly needed for those sheep's @ that time) :)

Andy o
12th September 2011, 10:49
Yes it is a pure software decoder. The increased GPU load is probably because the GPU actually goes into a lower power state. CUDA forces it into the high-power mode for some reason..

Is there only a low and a high power mode, or is this a mid power state like AMD does with many mid-high-end cards like the 5770 (and the 4670)? When UVD is being used, I get 400/900 (locked so there's no DPC latencies). Idle/low state is 157/300 and high is 850/1200. I'm considering swapping to my GTX460 once again to check out your latest developments especially re: deinterlacing.

nevcairiel
12th September 2011, 10:54
There is typically 3 states with NVIDIA cards that are used. P0 is the full 3D power mode, P8 is the "Video" mode at around half speed, and P12 is the 2D low-power mode (which seems to actually be even lower then your low state, just going by clocks).
DXVA uses the P8 mode, unless the 3D load from post-processing is too high and forces P0. But CUDA always forces the P0 mode, unless you use a tool like NVIDIA Inspector to change the modes per-application or by some other rules.

Recently, NVIDIA changed the way the P-state switching is done. However, in the upcoming 285 driver release, they went back to a more "conservative" P-state logic, because it apparently caused quite some issues.
Using my DXVA-HD deinterlacer, it usually starts out in P0 mode, but if i let it run for a while, after 30s or so it goes into P8 (which can be seen in my debug timings, as the values double. :))

pankov
12th September 2011, 11:02
Andy,
yes there are three power states in the recent NVIDIA cards (including the GTX460).
P0 - full 3D power
P8 - video
P12 - idle
There is a nice application called NVIDIA Inspector which has a feature called "Multi Display Power Saver" which allows you to select which apps trigger which state and also at what level (Threshold) of GPU/VPU usage should each level be activated.
I use GTX 460 SE and I'm very glad I changed my 5750 for it because now I can watch my 1080i recordings with perfect deinterlacing and perfect display synchronization thanks to madVR which works perfectly with LAV CUVID Decoder.

Edit:
nevcairiel was quicker

CruNcher
12th September 2011, 11:13
Also nev could put this multi display power saver part right into Lav Cuvid utilizing NVAPI additionally and implementing a switch (always keep P8 state on/off)
For most this would be useless though as you need they dynamic of their system else you always gonna endup with to slow results and Nvidia has to find this best dynamic on the driver level which is hard as they have to take a lot of different scenarios into account it never will be perfect in (performance/power/latency) for everything that's for sure (Web,Games,Video,Folding) :)
The last time Nvidia Engineers tried to lower the latency most cards couldn't hold that stress and errored out, especially Gamers where not happy with that :(

thuan
12th September 2011, 11:13
On my GTX560 card, normally my card has 3 power states like nevcairiel mentioned, but after using CUVID 0.12 my card won't go to P12 and stucks at P8 when idle, I need to restart to have the correct behavior back. @Dev: do you have the same problem?

EDIT: DXVA is fine BTW.

nevcairiel
12th September 2011, 11:19
On my GTX560 card, normally my card has 3 power states like nevcairiel mentioned, but after using CUVID 0.12 my card won't go to P12 and stucks at P8 when idle, I need to restart to have the correct behavior back. @Dev: do you have the same problem?

EDIT: DXVA is fine BTW.

I don't have that problem, it always goes back into P12 for me eventually.

CruNcher
12th September 2011, 11:30
Also Windows Vista/7 with Aero is more complex it should standby any application in the background though but who knows what a faulty application could do with your GPU ;)
Best is to check with Process Explorer and the OS GPU state and see if something in that context could trigger a P state switch also or keep P state constantly high for example i guess some changing wallpapers could trigger it.
A javascript driven Picture Change in the Browser can already if additional you scroll around for example (if the spike occurs @ the same time) ;)
Nvidia also is going to introduce a FPS capper in the driver which could be used to avoid such things if Applications dont come up with such sollutions themselves ;)

Andy o
12th September 2011, 11:42
Thanks guys, Nvidia Inspector seems like a pretty useful tool. I'll probably be trying it soon.


Using my DXVA-HD deinterlacer, it usually starts out in P0 mode, but if i let it run for a while, after 30s or so it goes into P8 (which can be seen in my debug timings, as the values double. :))

Does this mean I'd have to use LAV Video instead of CUVID?

Andy o
12th September 2011, 23:04
OK, so I put back in my GTX 460, but I have the same problem as Thuan, after using CUVID and closing MPC-HC, my card stays in the P8 power state until I reboot the PC. Before playing the video, it returns promptly to P12, after, it doesn't. This is with 280.26 drivers on Win 7-64. Are all you guys using those drivers?

thuan
13th September 2011, 03:21
Maybe it is the driver as I'm also on that driver. At work now so I can't try any other driver version now.

Andy o
13th September 2011, 03:30
Tried 280.36 as well, same thing.

Andy o
13th September 2011, 07:05
OK, I enabled Nvidia Inspector's Multi Display Power Saver for MPC-HC (set for P8) and the bug went away, now it goes back to P12. (It says *P12 though, don't know what the asterisk is about, but clocks and voltage are P12 indeed).

EDIT: The asterisk seems to indicate that the P state is locked, so in this case it's because it's being forced by NV inspector, not because the driver went back to P12 as it should.

CruNcher
13th September 2011, 09:29
Andy o could you try the 280.47 (should be a little better though not perfect) and the 275 driver the 280.26 WHQL can stay sometimes for a very long time in a mode (like it's stuck) it should work better for XP though.

Last info about the P-state improvement and most probably a driver with more conservative switching behavior (though most probably not so fast (low latency start to switch) then the current 280.36 WHQL when it sometimes works ;) )
Though i can understand if Nvidia has to change to higher latency to keep compatible with every low price component card (PMU) on the market again, at least it shows which cards are of high build quality and which not (if you don't overclocked or its pre overclocked and it still resets with a TMD in 3D Games) ;) )


Got an email from nVidia admitting fault with the 280.26 driver, said they are aware of what is causing the problems and that the next driver branch is 285.

I am guessing it's the same people who worked on the 275 set which aren't too bad.

Andy o
13th September 2011, 09:39
I could not find a newer one than 280.36, but thanks for letting me know about .47. 280.26 didn't just get stuck for a "very long time" though. It was hours, I went to bed and came back and it was still there. Also, it seems the GTX460 is using more power than I remember, when I compared it back then with the 5770, even at idle.

nevcairiel
13th September 2011, 09:41
Tried 280.36 as well, same thing.

They only do very minor changes in the same release branch. If you want to test another driver, test 270 or 275.

Its known that they changed P-state handling in 280. Its also been confirmed by NVIDIA that the handling will return to a more conservative mode in 285, which should see its first beta within 1-2 weeks.

PS:
280.36 and 280.47 are OpenGL 4.2 developer drivers, they typically don't have any other changes except the new OpenGL support.

CruNcher
13th September 2011, 09:55
Though the crashs are for sure not Nvidias fault the stuck in some P-state mode might be but the crashs (due to the faster switching) are surely not they just hit a area where low quality non reference cards (or heavily overclocked) wouldn't survive anymore and now drive back, because of the massive (OC Gamer) feedback :)
I have no crash issues with my MSI 460 GTX Hawk and i saw no other 460 Hawk user reporting problems (non overclocked) :)

nevcairiel
13th September 2011, 10:14
Yeah its really only the factory OC cards that are having those issues.

Andy o
13th September 2011, 10:48
Thanks, I think I'll wait for 285, NV Inspector is working fine right now for it. Another thing I found was that now the driver is outputting 24-bit to my display, when months before when I was using it, it used to output 36-bit. I don't think it makes a difference though.

Alexey1975
13th September 2011, 15:05
... I found was that now the driver is outputting 24-bit to my display, when months before when I was using it, it used to output 36-bit.

Sorry, but HOW did you "found" it?

CruNcher
13th September 2011, 16:10
Not only that came look @ this http://developer.nvidia.com/nvidia-gpudirect%E2%84%A2-video

Im thinking about the Scenario for example Sending Lav Cuvid decoded frames directly into Quicksync for example :D

nevcairiel
13th September 2011, 16:14
GPUDirect is old news. Its only for Quadro/Tesla, and is only useful if you need to transfer data between GPUs, not between GPU<->CPU

CruNcher
13th September 2011, 16:21
GPUDirect for Video is new :) http://blogs.nvidia.com/2011/09/check-out-nvidia-gpudirect-for-video-and-more-at-ibc-2011/ and yes my example is like that ;) GPU(NVidia)->Intel(Quicksync) low CPU overhead of course the overhead for Quicksync on the CPU would stay :)
Especially in situations the Intel GPU cant handle @ decoding anymore when using PP this could come handy :)

nevcairiel
13th September 2011, 16:28
Its not a feature for consumer use, its a API for other hardware developers to interface with the Quadro better. It will never be usable for what you seem to want to use it for. Not to mention that i doubt that you have a Quadro.
And its still old news, it was announced quite a while ago.

nevcairiel
13th September 2011, 16:32
OK, so I put back in my GTX 460, but I have the same problem as Thuan, after using CUVID and closing MPC-HC, my card stays in the P8 power state until I reboot the PC. Before playing the video, it returns promptly to P12, after, it doesn't. This is with 280.26 drivers on Win 7-64. Are all you guys using those drivers?

I found out why that's happening. Its madVRs fault.
The latest madVR version has a bug that hangs onto a reference to the video decoder, which causes the video decoder to never be completely destructed. In LAV CUVID case that means it'll hang on to the CUDA interfaces, which apparently cause it to keep the clocks up.

I'm preparing a new version with this behavior changed, by releasing all resources earlier in the process. This should eliminate the symptoms you're seeing, as well as fix a bug when you play too many videos (all resources are eaten up eventually)

Damn you madshi, this bug is getting annoying. :)

nevcairiel
13th September 2011, 16:42
LAV CUVID Decoder 0.13

0.13 - 2011/09/13
- Improved resource release behavior
- Improved VC-1 in EVO with pulldown flags

Download: Installer (32/64-bit, CUDA 4.0+) (http://files.1f0.de/cuvid/LAVCUVID-0.13.exe) - 32-bit (CUDA 4.0+) (http://files.1f0.de/cuvid/LAVCUVID-0.13.zip) - 64-bit (CUDA 4.0+) (http://files.1f0.de/cuvid/LAVCUVID-0.13-x64.zip) -- 32-bit (Older CUDA) (http://files.1f0.de/cuvid/LAVCUVID-0.13-LegacyCUDA.zip)

The resource fix solves a problem with madVR 0.74, which caused LAV CUVID to not properly release all resources, keeping the clocks of the card up, and eventually running out of resources, causing the decoder to not work anymore.
Note that this is a madVR bug, and may have other side-effects as well.

Anyhow, have fun with these.

Xaurus
13th September 2011, 18:37
Thanks nev!

When I open a "simple" 720p file (~4 mbit/s bitrate) with CUVID 0.13, I notice that the performance sticks at the highest level (p0?), ie. full 3D force.

The video engine load is about ~13% and the GPU load is ~3%.
Is it the decoder or the graphics driver that control the level needed?

It has run for 5 minutes now and still full force.

PS: This is with the new 285.27 drivers and I have set the application preference "Power Management Mode" to Adaptive.

PPS: I am not really worried about power consumption, this is more a scientific question as to whether it's supposed to be like this or not. :)

nevcairiel
13th September 2011, 18:50
CUDA seems to always force P0 mode for some reason.
I recommend to use NVIDIA Inspectors Multi Display Power Saver to force a lower P state. I just set it to limit it to P8 when running mpc-hc - but there are some more extensive rules you could employ to make the selection smarter.

Andy o
13th September 2011, 19:28
Thanks for the fix, NEv.

Sorry, but HOW did you "found" it?

My display (Pioneer KRP-500M) tells you the bit depth of the signal. FWIW, my 5770 is 30-bit, but again, I don't think higher-than 24 matters, at least not yet.

nevcairiel
13th September 2011, 19:51
Consumer cards are limited to 8-bit output, partly artificially limited by BIOS/driver. They want you to buy Quadro/FireGL cards for professional usage of high bit-depth signals.
They may actually send another signal over the wire, but the data it uses is based on 8-bit RGB data.

Personally, i think actual 10-bit output is overrated for video. Internal processing should of course be kept at a high enough level, but once you reach RGB, dithering it to 8bit gives you already a pretty good picture, and unless you move way up close, you won't see the dithering noise anyway.
Files may move to 10bit for some additional precision, and of course the added compression efficiency (who would've thought that storing more bits is actually more efficient?), but the whole display chain? I don't see it happening any time soon really, even though HDMI in theory supports it.

Xaurus
13th September 2011, 21:26
With a 1080i 29.97 file, would it be better to display it using interlaced resolution?
How would I go about this with CUVID, just set it to weave? Or simply use another decoder with no deinterlacing capabilities?

The reason I ask is that the plasma seems to lose something when I set it to 59p, ie. the settings are mostly greyed out for some reason and 1:1 pixel mapping is lost, like it thinks the format is some sort of non-digital or something.
If I set it to 59i the plasma will keep the settings including 1:1 pixel mapping but then I can't really run the file with a deinterlacer, can I?

All frequencies below and including 50 Hz are all good, but anything above (progressive) seems to lose the settings and my colors, black level etc. etc. are all messed up and I can't adjust it.

nevcairiel
13th September 2011, 21:30
All decoders output interlaced video as weave, its very rare that fields are delivered separately.

Interlaced output from pcs is nothing I would ever recommend.

TheShadowRunner
13th September 2011, 22:51
Nev, thanks for the new build, but Legacy 0.13 cannot be registered (having to use nv266.58/lavcuvid.dll 266.58 because of this retarded bug (http://forums.nvidia.com/index.php?showtopic=197425&st=0)): "procedure specified could not be found."
After checking, both non-legacy and legacy LAVCUVID.ax are identical (same MD5)..
Please repack ;)

Andy o
14th September 2011, 00:03
With 29i output, the whole PC output is usually re-interlaced after being deinterlaced by the decoder or renderer, in my experience. I think an exception may be Media Center and probably other players that use EVR. With madVR it definitely is re-interlaced.


Interlaced output from pcs is nothing I would ever recommend.
Is there a reason? I've been using 29i on my PC along with 23p and 50p for a couple of years now. I don't use 59p except for games.

On the same subject, would it be possible for CUVID to have an option to output 23/24p for IVTC'd video? Then I could follow your advice and not output 29i :)

robpdotcom
14th September 2011, 01:33
On the same subject, would it be possible for CUVID to have an option to output 23/24p for IVTC'd video? Then I could follow your advice and not output 29i :)

Isn't that what it does when you select "film" in the configuration screen?

Andy o
14th September 2011, 02:12
No, it outputs 30p as it says. My guess is that it does IVTC, but then duplicates every 4th frame. I have to either apply a decimation script after that, or let my PC re-interlace to 30i and let my display do auto IVTC and display at 72Hz (that's the main reason why I'm outputting 29i).

Andy o
14th September 2011, 02:27
Hmm apparently NV has no way to disable deinterlacing e.g. in Media Center (which has to be done through the driver control panel), so it might be that with NV content is always deinterlaced before being re-interlaced for final output.

nevcairiel
14th September 2011, 06:02
Nev, thanks for the new build, but Legacy 0.13 cannot be registered (having to use nv266.58/lavcuvid.dll 266.58 because of this retarded bug (http://forums.nvidia.com/index.php?showtopic=197425&st=0)): "procedure specified could not be found."
After checking, both non-legacy and legacy LAVCUVID.ax are identical (same MD5)..
Please repack ;)

Thats odd.
Anyhow, i repacked the build and replaced the file, should hopefully work now. I checked the dll with depends, and it doesn't use any of the v2 functions this time around..

nevcairiel
14th September 2011, 06:59
No, it outputs 30p as it says. My guess is that it does IVTC, but then duplicates every 4th frame. I have to either apply a decimation script after that, or let my PC re-interlace to 30i and let my display do auto IVTC and display at 72Hz (that's the main reason why I'm outputting 29i).

It doesn't "duplicate" frames. The IVTC process works like that, it results in 30 progressive frames. You need to apply a decimation step afterwards - however figuring out which frame is the duplicate is non-trivial.

Andy o
14th September 2011, 07:10
There are 24 original (reconstructed) frames in that 30fps, so 6 must be duplicates, no?

Xaurus
14th September 2011, 10:02
Okay, I am getting tired of trying to make a 1080i 29.97 BD rip playback without judder when there is panning. Fairly terrible judder, I might add.

I thought my setup was OK with interlaced content but this is fairly high bitrate stuff.

Display: 29.97012 Hz
Framerate: 29.970

0 dropped frames
0 delayed frames

LAV CUVID set to film mode. Adaptive deinterlacing. High quality DXVA processing. YV12 output. Auto field order.


ID : 1 (0x1)
Complete name : xxxxxxxxxxxxxxx_1080i.ts
Format : MPEG-TS
File size : 11.4 GiB
Duration : 56mn 37s
Overall bit rate : 28.9 Mbps
Maximum Overall bit rate : 35.5 Mbps

Video
ID : 4113 (0x1011)
Menu ID : 1 (0x1)
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings, CABAC : Yes
Format settings, ReFrames : 2 frames
Codec ID : 27
Duration : 56mn 36s
Bit rate mode : Variable
Bit rate : 25.9 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 29.970 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Interlaced
Scan order : Top Field First
Bits/(Pixel*Frame) : 0.416
Stream size : 10.2 GiB (90%)

nevcairiel
14th September 2011, 10:46
Its probably not interlaced, but telecined - which means you would see the 3:2 judder.

Does the judder persist if you play it with a software decoder and EVR?
Which BD disc is it?

TheShadowRunner
14th September 2011, 11:39
Nev, thanks a lot, that fixed it.
I'm also happy to report that the workaround for madVR's "bug that hangs onto a reference to the video decoder" is working here. (previously ZP was sometimes giving me graph creation errors when opening a new video while one was already playing, no more with 0.13 ^^)

e-t172
14th September 2011, 14:36
It doesn't "duplicate" frames. The IVTC process works like that, it results in 30 progressive frames. You need to apply a decimation step afterwards - however figuring out which frame is the duplicate is non-trivial.

It is trivial. What's not trivial is the IVTC itself: figuring out the position of the telecine pattern inside the current batch of frames. Once you know where the pattern is, you can IVTC the first frame of the pattern and throw away the next one.

nevcairiel
14th September 2011, 14:40
It is trivial. What's not trivial is the IVTC itself: figuring out the position of the telecine pattern inside the current batch of frames. Once you know where the pattern is, you can IVTC the first frame of the pattern and throw away the next one.

Since the NVIDIA decoder does already perform the IVTC itself, all that remains is "finding" the duplicate frame and removing it - which is the same as finding the telecine pattern. Its not static, the pattern may change over time, you need motion in the first place to "lock" on it, and all the fun involved!

An alternative would be to let NVIDIA weave it and manually do the full IVTC process.

Anyhow, i will probably not work on IVTC in LAV CUVID, i'll rather do it in LAV Video, and eventually merge the two.

Xaurus
14th September 2011, 16:48
Its probably not interlaced, but telecined - which means you would see the 3:2 judder.

Does the judder persist if you play it with a software decoder and EVR?
Which BD disc is it?
Hi nev,

The judder persists with the combo of ffdshow video + EVR. It's the same frequency of the judder as with CUVID + madvr.

It is this disc:
http://www.blu-ray.com/movies/The-Pillars-of-the-Earth-Blu-ray/14546/

nevcairiel
14th September 2011, 16:51
Since that looks like TV content pressed onto Blu-ray, its quite likely that its a telecined and not an interlaced disc. A full IVTC process is not supported by any H264 decoder yet that i know of. The closest you can get is using ffdshow with the experimental IVTC patches from e-t172

Xaurus
14th September 2011, 17:38
Since that looks like TV content pressed onto Blu-ray, its quite likely that its a telecined and not an interlaced disc. A full IVTC process is not supported by any H264 decoder yet that i know of. The closest you can get is using ffdshow with the experimental IVTC patches from e-t172
Thanks, nev. What does the "use Inverse Telecine" option in "adjust video image settings" in the Nvidia control panel really do, if it's not helping in cases like this?

I guess one would have to simply use the Blu Ray player to watch these kinds of shows then. I assume they have a built in IVTC function or something? I've never seen a 1080i Blu-Ray disc until this one.

I've read up on telecine on wikipedia:

It is also possible, but more difficult, to perform reverse telecine without prior knowledge of where each field of video lies in the 2-3 pulldown pattern. This is the task faced by most consumer equipment such as line doublers and personal video recorders. Ideally, only a single field needs to be identified, the rest following the pattern in lock-step. However, the 2-3 pulldown pattern does not necessarily remain consistent throughout an entire program. Edits performed on film material after it undergoes 2-3 pulldown can introduce “jumps” in the pattern if care is not taken to preserve the original frame sequence (this often happens during the editing of television shows and commercials in NTSC format). Most reverse telecine algorithms attempt to follow the 2-3 pattern using image analysis techniques, e.g. by searching for repeated fields.

Algorithms that perform 2-3 pulldown removal also usually perform the task of deinterlacing. It is possible to algorithmically determine whether video contains a 2-3 pulldown pattern or not, and selectively do either reverse telecine (in the case of film-sourced video) or deinterlacing (in the case of native video sources).

Not sure I got any wiser though, because this is heavy stuff.

nevcairiel
14th September 2011, 17:47
The option controls wether the driver performs IVTC. But it only searches for the sequence and restores the proper frames - however it does not remove the duplicate frame - which is why you end up with 30 frames per second, and not 24.

Andy o
14th September 2011, 18:51
Ah, I'm decimating without any alternative versions of ffdshow, with the TIVTC script (http://forum.doom9.org/showthread.php?t=82264). Took me a while to find the right script (or at least the one that didn't confuse the hell out of me with its settings).

Xaurus, see if this works. Set CUVID to YV12 and 30p output (film). Install avisynth, put the TIVTC dll in the plugins folder, and do this in the avisynth section of ffdshow's raw filter:
http://photos.smugmug.com/photos/i-Ps5BZMx/0/O/i-Ps5BZMx.png

My main problems with AMD 5770 was getting IVTC done in the first place, decimating with this was trivial. I tried IVTC'ing with the DScaler decoder, and it worked most of the time, but with glitches. Hardware IVTC is working flawlessly.

nevcairiel
14th September 2011, 18:53
I thought someone said that ffdshows AVISynth didn't support changing the framerate properly.

Andy o
14th September 2011, 19:14
When I use that, ReClock reports 23.976, if that's what you mean. madVR doesn't drop any frames then. Just double checked with h.264 interlaced mt2s from the Dolby bluray and it's working great.

Might be a slight problem if you're using madVR's refresh rate switch, but just adding a "23p" or "24p" to the file name fixes it.

BeNooL
15th September 2011, 10:54
Interlaced output from pcs is nothing I would ever recommend.
I'd add that it depends on what the PC is connected to.

If if it's a computer LCD screen then yes, you're better off deinterlacing in the PC.

In my case, my PC is connected to a DVDO Duo scaler and I want it to do the deinterlacing. I'm just trying to output a signal that as close as possible to the source.

nevcairiel
15th September 2011, 11:01
Even then i would not recommend it.
Internally, a PC will always handle progressive signals, which means it'll weave the image. If it performs any image processing on this weaved image, it will break the original fields and make perfect deinterlacing much harder.
In addition to that, information like Top Field First is lost as well. PCs convert typically to RGB, which means chroma expansion on a still interlaced image, most likely without knowing that it was weaved from interlaced...
After that, it has to take the weaved image and try to interlace it again ... IMHO, its a perfect formula for chaos. :)

PCs are not meant for interlaced signals, never were and never will be.

nm
15th September 2011, 12:04
Even then i would not recommend it.
In addition to that, information like Top Field First is lost as well.

Maintaining proper field order within the video rendering process is the biggest issue. The player/renderer gets no information about the currently displayed field (whether it's top or bottom) and a VBlank interrupt is received for each field. Therefore the standard way of drawing the entire weaved frame at once doesn't work. Any missed VBlank or framedrop may reverse field order causing the "terrible judder" issue that Xaurus described.

This field sync problem could be avoided by only drawing one field per VBlank, always keeping the two most recent fields in the framebuffer. This needs to be specially implemented in a renderer though, and I don't know any freely available software solution that supports it currently.

Discussion: http://forum.xbmc.org/showthread.php?t=81834

italospain
15th September 2011, 12:50
Maintaining proper field order within the video rendering process is the biggest issue. The player/renderer gets no information about the currently displayed field (whether it's top or bottom) and a VBlank interrupt is received for each field. Therefore the standard way of drawing the entire weaved frame at once doesn't work. Any missed VBlank or framedrop may reverse field order causing the "terrible judder" issue that Xaurus described.

This field sync problem could be avoided by only drawing one field per VBlank, always keeping the two most recent fields in the framebuffer. This needs to be specially implemented in a renderer though, and I don't know any freely available software solution that supports it currently.

Discussion: http://forum.xbmc.org/showthread.php?t=81834

Hi nm here is link to a linux solution

short english explanation:

http://lists.x.org/archives/xorg/2008-September/038296.html

original german thread

http://www.vdr-portal.de/board17-developer/board25-patches/78480-patch-rgb-pal-ueber-vga-mit-variabler-framerate/

It offers a driver patch to synchronize interlaced frames for a interlaced resolution display so there is no need to deinterlace at all.

I would love to see a Windows Solution

BeNooL
15th September 2011, 14:33
Even then i would not recommend it.
Internally, a PC will always handle progressive signals, which means it'll weave the image. If it performs any image processing on this weaved image, it will break the original fields and make perfect deinterlacing much harder.
In addition to that, information like Top Field First is lost as well. PCs convert typically to RGB, which means chroma expansion on a still interlaced image, most likely without knowing that it was weaved from interlaced...
After that, it has to take the weaved image and try to interlace it again ... IMHO, its a perfect formula for chaos. :)

PCs are not meant for interlaced signals, never were and never will be.

What happens in the case of an interlaced IPTV recording being played with madVR (with its internal decoding) and outputting straight to 1080i over HDMI?

Visually the result is über smooth and has excellent picture quality. Way better than using YAdif or CUVID (with a 8600GTS that does horrible edge interpolation production jiggling borders)

nm
15th September 2011, 15:06
Hi nm here is link to a linux solution

short english explanation:

http://lists.x.org/archives/xorg/2008-September/038296.html

Yep, vga-sync-fields works by slightly altering display refresh rate to avoid dropping any fields or frames for sync purposes during playback. This is especially useful with live TV playback where a broadcast signal is the timing source and it can't be slowed down or sped up. Unfortunately the patch only works with certain old Radeons and some Intel GPUs, and both the display driver and the player software needs to be tweaked.

On Windows, you could try using ReClock to better maintain the field order when playing back files or recordings, but you'll still need to restart playback every now and then to fix the field order.

What happens in the case of an interlaced IPTV recording being played with madVR (with its internal decoding) and outputting straight to 1080i over HDMI?

Visually the result is über smooth and has excellent picture quality. Way better than using YAdif or CUVID (with a 8600GTS that does horrible edge interpolation production jiggling borders)

Hmm. If the Nvidia Windows driver only notifies about VBlank after one of the two fields, it might be possible to get stable field order with ordinary software. When I last played with these things, that wasn't the case with any of the cards I tried.

ney2x
16th September 2011, 14:29
@nev
I will be buying a used z68 motherboard and i7 2600k cpu next week. From what I had read with the new generations of chipsets and processors, they have built-in GPU. I have GTX 560 Ti GPU. My question is, where will I connect my display then? And what is the best decoder for me, LAV CUVID or LAV Video? Thanks in advance.

nevcairiel
16th September 2011, 14:41
Thats really your decision.

You can just disable the internal GPU, and use your NVIDIA. You can also use this "Virtu" software which switches the GPU depending on workload.
Whats the best decoder for you is rather subjective. :)

italospain
16th September 2011, 16:06
@nev
I will be buying a used z68 motherboard and i7 2600k cpu next week. From what I had read with the new generations of chipsets and processors, they have built-in GPU. I have GTX 560 Ti GPU. My question is, where will I connect my display then? And what is the best decoder for me, LAV CUVID or LAV Video? Thanks in advance.

I have a NVIDIA Optimus Notebook and i am forced to use LAV Video to get advanced hardware deinterlacing. LAV CUVID doesnt work because Optimus dont let you connect your Display to your NVIDIA hardware.

sneaker_ger
16th September 2011, 19:41
I have a NVIDIA Optimus Notebook and i am forced to use LAV Video to get advanced hardware deinterlacing. LAV CUVID doesnt work because Optimus dont let you connect your Display to your NVIDIA hardware.

Are you sure?
0.8 - 2011/06/05
- Support for using NVIDIA GPUs which have no connected display

CruNcher
16th September 2011, 21:43
Thats really your decision.

You can just disable the internal GPU, and use your NVIDIA. You can also use this "Virtu" software which switches the GPU depending on workload.
Whats the best decoder for you is rather subjective. :)

Yep thx to NT 6 making this possible though the mega craziest thing would be using everything together and combine the available hardware resources ;)

So for instance doing multiple HD Decodings utilizing both DSPs Intels @ Nvidias @ the same time or using Nvidias Shader performance to record the DWM and send those data for Encoding to Quicksync :D

italospain
16th September 2011, 21:58
Are you sure?
0.8 - 2011/06/05
- Support for using NVIDIA GPUs which have no connected display

Support doesnt mean you get advanced hardware deinterlacing

I would like to know if there is hope for Optimus User to get rid of this limitation.

ageback
20th September 2011, 12:54
My Video Card chip is GeForce 9300(Integrated with Motherboard).
I installed CUDA toolkit 3.2 and Developer Drivers for WinVista and Win7 (263.06).
Then I try to compile LAVCUVID,but errors reported:
2>src\LAVCUVID.cpp(616): error C2065: “CU_CTX_SCHED_BLOCKING_SYNC”: Undefined identifier ( 未声明的标识符)
2>src\LAVCUVID.cpp(653): error C2065: “CU_CTX_SCHED_BLOCKING_SYNC”: Undefined identifier ( 未声明的标识符)

What else should I do to compile it successfully?

roozhou
20th September 2011, 20:06
My Video Card chip is GeForce 9300(Integrated with Motherboard).
I installed CUDA toolkit 3.2 and Developer Drivers for WinVista and Win7 (263.06).
Then I try to compile LAVCUVID,but errors reported:
2>src\LAVCUVID.cpp(616): error C2065: “CU_CTX_SCHED_BLOCKING_SYNC”: Undefined identifier ( 未声明的标识符)
2>src\LAVCUVID.cpp(653): error C2065: “CU_CTX_SCHED_BLOCKING_SYNC”: Undefined identifier ( 未声明的标识符)

What else should I do to compile it successfully?
Install CUDA toolkit 4.0

nevcairiel
20th September 2011, 20:08
Hm yeah, i think they renamed that symbol in 4.0

Anyhow, this will be all irrelevant when i'm done integrating LAV CUVID into LAV Video.

Xaurus
20th September 2011, 20:28
Hm yeah, i think they renamed that symbol in 4.0

Anyhow, this will be all irrelevant when i'm done integrating LAV CUVID into LAV Video.
Ohh, so when's Christmas coming this year? :D

nevcairiel
20th September 2011, 20:29
In december, like every year, doh.

ageback
20th September 2011, 23:04
Hm yeah, i think they renamed that symbol in 4.0

Anyhow, this will be all irrelevant when i'm done integrating LAV CUVID into LAV Video.

Do you mean I shoud use toolkit 3.2?
But why that error occured?

ageback
20th September 2011, 23:18
After installing toolkit 4.0(both 32 and 64bit) I built win32 version successfully.
But x64 failed.Error report:

1>------ 已启动生成: 项目: LAVCUVID, 配置: Release x64 ------
1>LINK : fatal error LNK1181: 无法打开输入文件(cannot open input file)“cuda.lib”
========== 生成: 成功 0 个,失败 1 个,最新 1 个,跳过 0 个 ==========


EDIT:
At last I copied cuda.lib and nvcuvid.lib from SDK's lib folder to J:\lavcuvid\bin_x64\lib\ and I built x64 successfully.

sixor
24th September 2011, 01:06
this vid does not work ok, it all goes in fast motion crazy

General
Complete name : C:\Users\Maodesk\Desktop\Alexandra Stan - Mr. Saxo Beat HD 1080p HD(RaHuL {tHe HuNk})[Silver RG].mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 20.7 MiB
Duration : 3mn 13s
Overall bit rate : 898 Kbps
Writing application : Lavf53.6.0

Video
ID : 1
Format : MPEG-4 Visual
Format profile : Simple@L1
Format settings, BVOP : No
Format settings, QPel : No
Format settings, GMC : No warppoints
Format settings, Matrix : Default (H.263)
Codec ID : 20
Duration : 3mn 13s
Bit rate mode : Constant
Bit rate : 765 Kbps
Width : 640 pixels
Height : 360 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 25.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.133
Stream size : 17.7 MiB (85%)
Writing library : Lavc53.10.0

Audio
ID : 2
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 3
Mode : Joint stereo
Mode extension : MS Stereo
Codec ID : 6B
Duration : 3mn 13s
Bit rate mode : Constant
Bit rate : 128 Kbps
Channel(s) : 2 channels
Sampling rate : 44.1 KHz
Compression mode : Lossy
Stream size : 2.95 MiB (14%)
Writing library : LAME3.98.4

TheShadowRunner
25th September 2011, 06:30
Nev, I found a h264 stream that LAV CUVID doesn't seem to like at all / a CUDA decoding peformance issue.
http://www.megaupload.com/?d=A8BZORB1 (a 50 MB slice)
When decoding with CoreAVC 2.5.5 + CUDA (active, green icon), it runs perfect, please see: pic1 (http://videoff7.free.fr/bbccore.png).
When switching only the decoder in the chain to LAV CUVID, it's jerky, about 1 "rendering glitch" per second, please see: pic2 (http://videoff7.free.fr/bbccuivd.png).

Since they both use CUDA (confirmed by CPU 0-4%), how can this difference be explained?
The source is progressive.
Later,

TSR

nevcairiel
25th September 2011, 08:54
Try switching LAV CUVID into YV12 output mode, maybe that makes a difference? (CoreAVC outputs YV12)
Not sure why they would cause this, maybe madVRs NV12 input isn't working 100% properly.

I'll check the file when i get a chance.

Edit:
I just tried, and i get the same amount of glitches no matter which decoder i use. But its far less then you described, maybe 10 over the whole file.
Rendering times are the same for both.

Try turning off HQ DXVA processing and see if that makes a difference for you? (If you had it on, that is)

TheShadowRunner
25th September 2011, 09:39
Thanks for your answer.
No change if I set LAV CUVID to output YV12 instead of NV12.
And I had HQ DXVA off to begin with. (XP)

It's strange, it's the unique stream I came upon that exhibits this high number of madVR glitches with LAV CUVID. It happens consistently.
When I use CoreAVC, I have 0 glitches at all due to the decoder.(those 6 glitches on the CoreAVC pic are due to madVR's going in FSE.)
When I use other streams with LAV CUVID, no glitches either..

pankov
25th September 2011, 15:03
TSR,
I've tried your sample and I don't get any glitches but I've tweaked madVR a bit to prevent glitches - I've enabled "use a separate device for presentation" and "overshoot max frame latency" but these are only for Vista/Win 7 so I'm not sure if that helps you at all.

TheShadowRunner
25th September 2011, 21:29
pankov, thanks for the suggestion.
I've tried to enable "run presentation in a separate thread" / "limit rendering times to avoid glitches" (the last option has indeed no effect on XP) on madVR, but no difference either.

It seems LAV CUVID is just chocking on this specific 1080p/30.000fps stream.
Again with CoreAVC's CUDA, playback is perfect, without the need to enable any of the "glitch free playback" madVR features either.
Strange..

Xaurus
25th September 2011, 23:19
It seems LAV CUVID is just chocking on this specific 1080p/30.000fps stream.

With LAV CUVID I get no dropped frames, no delayed frames and no presentation glitches with this clip, or in other words: everything's OK.

TheShadowRunner
26th September 2011, 23:34
With LAV CUVID I get no dropped frames, no delayed frames and no presentation glitches with this clip, or in other words: everything's OK.

Thanks for testing. I still use a Haali splitter, starting to wonder if it makes any difference...

Xaurus
29th September 2011, 17:17
This from the man himself...

LAV Filters 0.36

LAV Splitter
- Improved support for ADTS AAC
- Fixed MPEG-2 timestamps in VOB
- Fixed MPEG-2 frame rate reporting for telecined/interlaced

LAV Video
- Integrated NVIDIA CUVID Hardware decoder
- Performance enhancements in 10bit decoding
- Support for Flash Screen Video (FSV1)
- Support for Apple ProRes
- Improved MPEG-2 playback
- Improved A/V sync with VC-1 and MPEG4-ASP


Note that LAV CUVID will basically be discontinued now, all its functionality is available through LAV Video. Only missing is MPEG4-ASP decoding through CUVID, but i don't believe the extra effort is really worth it.

mkanet
10th October 2011, 21:34
On my previous PC using Vista, I was never able to use LAV CUVID. No matter what I did, I couldnt connect an directshow pins to it. I was using an Nvidia 8500GT and latest possible WHQL tested drivers.

I now have a new PC using an Nvidia 545GT under Windows 7 64bit.

I installed the 32bit LAV splitter as well as 32bit LAVCUVID filters using their respective installers. Surprisingly, I see the same problem as on a completely different PC and setup. At this point, I'm presuming there is something I'm doing wrong.

All I did was installed LAVCUVID filter and in the properties, I selected all the file formats I want it to use, selected 50/60 frame rate, to use high quality decoding, and AR correction.

Now, I can connect the source file to LAVCUVID; but I can't connect LAVCUVID to anything else. It wont connect to EVR, VMR9 or anything else.

What am I doing wrong?

mkanet
10th October 2011, 21:42
Even after I connect LAVCUVID to the source file, when I select the prop page for it, all the settings are missing (even after I make the settings changes). What do I need to do for LAVCUVID to start working on a machine with all the necessary hardware and drivers?

I can find any instructions one what to do to get started.

http://i67.photobucket.com/albums/h283/mkanet/th_LAVCUVID.jpg (http://i67.photobucket.com/albums/h283/mkanet/LAVCUVID.jpg)

TheShadowRunner
10th October 2011, 21:47
hey mkanet, first, drop LAV CUVID and install LAV Video Decoder (from the LAV Filters 0.37 pack).
LAV CUVID is now integrated into LAV Video Dec.
The standalone LAV CUVID is pretty much discontinued.
Hopefully it works, otherwise see you on the other thread ;)

mkanet
10th October 2011, 21:52
Yes, I saw the news. I would still like this filter to work since I saw this same behavior on a completely different machine. I know other people have made this work and I'm doing something wrong. I would prefer to use this filter. Hopefully someone can help me just as if I asked this question a few weeks ago.

Thanks!!

hey mkanet, first, drop LAV CUVID and install LAV Video Decoder (from the LAV Filters 0.37 pack).
LAV CUVID is now integrated into LAV Video Dec.
The standalone LAV CUVID is pretty much discontinued.
Hopefully it works, otherwise see you on the other thread ;)

TheShadowRunner
10th October 2011, 22:08
Ah ok. But sorry I won't be of much help as I'm on XP and the issue seem to be permission related to me (empty decoder settings page hmm..).
Maybe you could try GraphStudio instead of Graphedit..
Also, do you have the latest directx runtimes (http://www.microsoft.com/download/en/details.aspx?id=35)installed?

mkanet
10th October 2011, 22:46
Thanks so much. It really doesnt make any sense why it does the same thing on completely two separate operating systems. I have the latest Directx runtimes already (from June). Graphstudio does the same thing as Graphedit.

I noticed in the settings page, it says LAV CUVID Decoder x.xx

Surely, someone has to have seen this out of all the users who have used this filter. This occurs even on a brand new extremely clean installation of Windows 7 64bit. I am using the 32bit bit version of both LAV splitter and LAV CUVID.

When this used to happen under Vista32 and my Geforce 8500GT, I thought it might be because I have a corrupted system component. However, when the same thing happens on a different machine, I know its something to do with how LAV CUVID works.

Where does LAVCUVID store it's settings? Maybe it has broken settings. I noticed that it stopped connecting to the EVR renderer after I saved my settings in LAVCUVID.


Ah ok. But sorry I won't be of much help as I'm on XP and the issue seem to be permission related to me (empty decoder settings page hmm..).
Maybe you could try GraphStudio instead of Graphedit..
Also, do you have the latest directx runtimes (http://www.microsoft.com/download/en/details.aspx?id=35)installed?

TheShadowRunner
10th October 2011, 22:52
LAV stores its settings in HKCU\Software\LAV
It's an uncommon issue indeed..

mkanet
10th October 2011, 23:11
My display adapter even has the highest specifications that LAVCUVID can even support. So, there's no chance that I have inadequate hardware or software.

I will try the new LAV Video filter. I am guessing it has all the CUDA features that LAVCUVID has...

LAV stores its settings in HKCU\Software\LAV
It's an uncommon issue indeed..

golagoda
12th October 2011, 13:57
My display adapter even has the highest specifications that LAVCUVID can even support. So, there's no chance that I have inadequate hardware or software.

I will try the new LAV Video filter. I am guessing it has all the CUDA features that LAVCUVID has...

iirc LAV CUVID as a stand alone filter has been superseded by LAV video since it's since been implemented into it.

Triplefun
12th October 2011, 21:15
Thanks for building a great codec

I run LAV on my W7/HTPC and get spectacular results

However, I would also like to use it on my WHS/PS3Mediaserver/PS3/1080p TV. I have added a GTS450 video card to the WHS although 98% of the time it runs headless. The PS3 is connected to the WHS server over a gigabit network.

I initially tried loading the LAV codec using the Shark007 codec pack but could not get it to recognise cuda.

I then loaded LAV 0.37 and found PS3Mediaserver (SB50) recognises it as an FFmpeg codec accessed via AviSynth 2.5.

When playing HD content (VC-1 and H264) I get:

1. lots of video stuttering (Q8400 CPU is running 20%)
2. sound running 3x the video speed

I have tried adding the TMT5 audio codec with no change - can I use the dll that comes loaded with Windows7 and do I need to rename it when I add it to the LAV directory

I have tried changing the LAV and PS3Mediaserver settings without much success. PS3Mediasever seems to run best (least stuttering) when I set:

1. the LAV video output format settings to 16 bit only
2. the LAV video display mode 25p/30p
3. the LAV deinterlacing algorithm 'none'
4. PS3Mediaserver 'lossless quality'

What more can I do to get the video and audio playing properly ?

Also when I go 'headless' GPU-Z shows the CUDA processing is not available - how do I get CUDA to run headless ?

Mixer73
12th October 2011, 23:41
Also when I go 'headless' GPU-Z shows the CUDA processing is not available - how do I get CUDA to run headless ?

You need to either connect it to an input on your TV that you are not using, or create a dummy plug which is just some resistors on 3 pins of a VGA socket.

BatKnight
13th October 2011, 11:15
Since LAV CUVID is now part of LAV Filters, I think that this thread should be closed.
Further discussion would be done on the LAV Filters' thread. This would prevent dispersion of information.
What do you think, nevcariel?

Bat

THX-UltraII
15th October 2011, 19:19
whats the mowt recommended card to use with LAV CUVID to get the best PQ?

Portioli
16th October 2011, 00:42
440 1GB GDDR5 is the minimum Requirement for MAx Settings.
Many people have reported than they play even with a 430 with memory GDDR3@1600 without problems

TPoise
16th October 2011, 17:47
Might be too late, but is it possible to keep the LAV CUVID filter seperate from the other filters? For us notebook users who have two GPUs, installing filter packs can be incredibly troublesome.

LAV CUVID is great on my machine. Normal DXVA on my GT525M shows about 20% GPU usage on any 720p or 1080p movie. With LAV CUVID, usage goes down to 8-9%. This helps to reduce my power requirements and thus I can get longer battery life and my GPU fan doesn't ramp up either.

pankov
16th October 2011, 17:57
TPoise,
don't be so sure that you are actually reducing power usage when using LAV CUVID Decoder. Measure it to be sure. In general video cards have higher TDP than CPUs and if the card jumps into higher power state (even only P8 (video decoding)) it may happen that it's actually using more power - only not through the CPU.

Andy o
16th October 2011, 17:57
It's not an actual "filter pack", but anyway just install LAV video if you want.

Andy o
16th October 2011, 18:01
TPoise,
don't be so sure that you are actually reducing power usage when using LAV CUVID Decoder. Measure it to be sure. In general video cards have higher TDP than CPUs and if the card jumps into higher power state (even only P8 (video decoding)) it may happen that it's actually using more power - only not through the CPU.

This is true but not exactly his problem, he's comparing DXVA with CUVID. The actual problem there is that DXVA locks at P8 while CUVID ramps it up to P0, that's probably why he sees less GPU usage.

rica
16th October 2011, 23:22
since lav cuvid is now part of lav filters, i think that this thread should be closed.
Further discussion would be done on the lav filters' thread. This would prevent dispersion of information.
What do you think, nevcariel?

Bat

+1

_ _ _ _ _

Nicola
18th October 2011, 16:24
mmm, I noticed I have issue seekinh with videos with 9 / 16 ref frames, the image disappears. I'm using cpu decoding and I hardly hit 20%, so I can't understand. Can someone help please?

Nicola
18th October 2011, 16:25
mmm, I noticed I have issue seeking with videos with 9 / 16 ref frames, the image disappears. I'm using cpu decoding and I hardly hit 20%, so I can't understand. Can someone help please?

rica
20th October 2011, 00:40
Nicola, you are welcome but repetition of the same post doesn't mean you gonna get the right answer immediately.

Nicola
20th October 2011, 07:10
oooops, I didn't noticed I made 2 post... well, how I delete one? wait for a mod?

Andy o
20th October 2011, 11:22
There are several things on your short post that might not make people too eager to bother helping you: You're using CPU decoding, this is the LAV CUVID thread. Second, you didn't bother to read even the last few posts, in this very page. LAV CUVID has been integrated with LAV Video, so go to the LAV filters thread if you decide LAV CUVID decoding is the problem, which since you're using CPU decoding, it's probably not. And third, you don't list anything relevant for people to be able to help you. Player? Filters? OS? GPU? CPU? etc, etc.

Nicola
20th October 2011, 12:52
ok, ok, scrap those post of mine, I'll ask in the proper thread instead.

Dogway
27th October 2011, 19:13
Nvidia 9600M GT - driver 267.24 beta
Core2Duo 2.53 T9400 1066FSB. 4Gb DDR3 533Mhz
Laptop WinXP SP3 x86

Another up to date of my post (http://forum.doom9.org/showthread.php?p=1499497#post1499497) of decoding speeds for different decoders. Just after a reformat of a very optimized WinXP.
Using the AVC sample of yesgrey's post (http://forum.doom9.org/showthread.php?p=1493275#post1493275). Using graphstudio, and LAVSplitter 0.37.

All in weave. 3 passes

ffdshow libavcodec @ 30fps 52.7 fps
LAVCUVID 0.13 @ 60fps 15.2 fps
LAVCUVID 0.13 @ 30fps 39.26 fps

Lincoln Burrows
2nd November 2011, 17:49
This thing is amazing! I can finally watch VC-1 videos with no lag!

But how can we adjust the brightness/contrast for example? I am using Media Player Classic Home Cinema.

My video card is 8800 GTS 512 MB EVGA/Geforce.

oddball
2nd November 2011, 18:53
This thing is amazing! I can finally watch VC-1 videos with no lag!

But how can we adjust the brightness/contrast for example? I am using Media Player Classic Home Cinema.

My video card is 8800 GTS 512 MB EVGA/Geforce.

In two words. You don't. Really your display should be correctly calibrated to begin with.

Lincoln Burrows
2nd November 2011, 21:32
In two words. You don't. Really your display should be correctly calibrated to begin with.That's right! I completely missed the fact that I don't need ffdshow (Video Decoder) settings or to adjust this everytime I watch a video (that can't use ffdshow), it was a matter of simply configuring NVidia's control panel to not let the players to do the job, but use Nvidia settings.

At first I believed that the settings used for my desktop and players were not apart from each other. So if I changed the contrast used for Firefox for example I would be changing what I see watching a video. That's not the case, what I have configured for the rest (in this case, using the monitor buttons) remains the same and what I have configured here is only valid for MPC-HC/etc:

http://i.imgur.com/FVP76.png

lucoia
3rd November 2011, 13:30
Hi, I'm on XP SP3 with GTX 560 TI and I use MPCHC+MadVR+CoreAVC+AC3filter and I'm 100% happy with it with all formats/codecs/resolutions/fps besides interlaced .ts, in fact I use PowerDVD just for the nice hardware deinterlacing feature.

So I was looking for a good Mpeg-TS filter with hardware interlace and I discover those LAV which looks interesting but the problem is if I enable the CUVID hardware, the video become weird with every setting tried, if I disabled it it just runs fine (but it's useless for me because it's still interlaced)

Any suggestion to make it work?

golagoda
3rd November 2011, 15:26
Hi, I'm on XP SP3 with GTX 560 TI and I use MPCHC+MadVR+CoreAVC+AC3filter and I'm 100% happy with it with all formats/codecs/resolutions/fps besides interlaced .ts, in fact I use PowerDVD just for the nice hardware deinterlacing feature.

So I was looking for a good Mpeg-TS filter with hardware interlace and I discover those LAV which looks interesting but the problem is if I enable the CUVID hardware, the video become weird with every setting tried, if I disabled it it just runs fine (but it's useless for me because it's still interlaced)

Any suggestion to make it work?
Make sure you install LAVFilters, and not LAV Cuvid from this thread, LAV CUVID was merged into the Lav video decoder and gets updates there, unforunately nev hasn't edited this thread to say so or anything so a lot of people don't realise :(

Link to LAVFilters thread - http://forum.doom9.org/showthread.php?t=156191

Of course the newest version may or may not fix this problem at all, but in the end this is still old.

EDIT: Looked in the changelog and in the latest 0.38 " Fixed a issue that caused MPC-HCs EVR-CP to produce wrong colors when using CUVID decoding" this may or may not have something to do with it, but good luck nonetheless and I hope it fixes it.

mkanet
19th November 2011, 06:12
Sorry if this is a bit off-topic, but... Can someone recommend an extraordinarily super-high quality, high bitrate 1080p video clip demo that's downloadable?

Thunderbolt8
19th November 2011, 14:49
not downloadable, but for demo quality get the toy story 3 (animated) or the tree of life (life action) BDs

mkanet
20th November 2011, 00:29
Actually, I was hoping to find a demo clip with better picture quality and more detail than bluray movies; something like the below clip:

http://vimeo.com/29950141

not downloadable, but for demo quality get the toy story 3 (animated) or the tree of life (life action) BDs

Redemption80
20th November 2011, 00:39
That is noticeably worse quality than most BluRay movies due to compression, but the source is of such high quality it's easy to forgive it, would love to see a proper 1080p version of that though.

The best looking thing i have ever saw is the Baraka BluRay, don't know if you could legally download any clips from it though.

mkanet
20th November 2011, 02:21
I dont think that clip has as much quality loss as you might think due to compression. Dark scenes with lots of black and slow panning scenes dont need a whole lot of bandwidth; while capturing much more detail from a VERY good HD camera. Many bluray titles are still shot with film cameras; producing grainy video, even at a high bitrate. I know there are very high video quality bluray movies; but, was just curious if there are some downloadable clips people people may have come across with similar characteristics to the one I pointed out.

That is noticeably worse quality than most BluRay movies due to compression, but the source is of such high quality it's easy to forgive it, would love to see a proper 1080p version of that though.

The best looking thing i have ever saw is the Baraka BluRay, don't know if you could legally download any clips from it though.

nm
20th November 2011, 15:37
I dont think that clip has as much quality loss as you might think due to compression. Dark scenes with lots of black and slow panning scenes dont need a whole lot of bandwidth;

Is there a downloadable version of the video that you are watching? I agree with Redemption80 that the Flash 1080p video that plays on the Vimeo page is ruined by heavy compression.

There are short, uncompressed test clips available. See the Xiph collection for example: http://media.xiph.org/video/derf/ (scroll down for HD content).

pankov
20th November 2011, 17:13
nm,
how does one open a y4m file in a directshow player? What source filter/splitter should I use?

Thunderbolt8
20th November 2011, 19:07
The best looking thing i have ever saw is the Baraka BluRaythe baraka BD is actually DNR'ed, meaning it doesnt look as good as it could and should.

the tree of life really looks better.

nm
20th November 2011, 22:45
nm,
how does one open a y4m file in a directshow player? What source filter/splitter should I use?

No idea. Remux to raw AVI or encode losslessly with huffyuv/Ut/x264/...

nevcairiel
21st November 2011, 08:04
LAV Splitter should in theory understand y4m files, you just need to force it to be used.

pankov
22nd November 2011, 01:55
nev,
I tried using LAV Splitter Source in Graph Studio but it refuses to load the file with an error "Cannot load specified file".
I also tried using File Source (Async.) and then connecting it's output pin to LAV Splitter but it refuses the connection.
Am I doing something wrong?
How do you suggest to "force it to be used"?

stax76
24th November 2011, 22:02
I used the 'Search this Thread' regarding the usage of this filter with DirectShowSource, there wasn't a clean answer if that is working and trying it resulted in following error:

DirectShowSource: couldn't open file D:\Video\Temp\The Fighter\title03.mkv:
Es wurden keine Filter zum Rendern der Eingangsdaten gefunden. (no filters found to render source data)
(D:\Video\Temp\The Fighter\title03 temp files\The Fighter_Source.avs, line 1)

Does the filter generally not work with DirectShowSource or is it a problem with my system?

sneaker_ger
24th November 2011, 22:36
I don't see any reason why it shouldn't work, but before you search any further, download and install "LAV Video" (included in the "LAV filters" package), as "LAV CUVID" has been discontinued and is now part of LAV Video.

stax76
24th November 2011, 22:44
I'll try 'LAV Video' then, thanks.

nevcairiel
24th November 2011, 22:51
I know that LAV Video works with DSS, because i tried it. Never tried with LAV CUVID.

stax76
25th November 2011, 00:12
Big thanks. :thanks:

glc650
4th December 2011, 02:15
Hi,

I've installed LAVFilters-0.42 on my laptop and desktop in hopes of improving playback of my interlaced video (JVC 1080i/60 MTS) but am getting mixed results.

computer specs:
laptop: Nvidia Quadro 1000M
desktop: Nvidia GeForce GT 520
both: Windows 7 x64, MPC-HomeCinema.1.5.2.3456.x64, LAVFilters-0.42

LAV settings:
defaults except Aggressive Deinterlacing and CUVID is selected and High-Quality Processing is unchecked.

As long as I don't select "High-Quality Processing" under the "Hardware Acceleration" section, my laptop plays back my interlaced video perfectly and the quality is noticely better (smoother, less artifacts) than the Windows 7 or internal MPC video decoders.

With the same LAV Video Decoder settings on my desktop, the video stutters and pauses (with the audio cutting in and out). In order to get it to playback well enough to watch, I have to either go back to using the Windows 7 or internal MPC decoders or change the algorithm from "Adaptive" to "None (Weave)" which results in playback quality on par with the Win 7 and MPC decoders.

Any ideas?

Thanks,

->g.

nevcairiel
4th December 2011, 08:55
The GT 520 is too slow, there is nothing you can do (except replace it)

glc650
4th December 2011, 17:54
The GT 520 is too slow, there is nothing you can do (except replace it)What would be the recommended replacement? I dont care about games, just video playback.

thanks,

->g.

DragonQ
5th December 2011, 11:26
Gt 430.

glc650
5th December 2011, 20:55
Gt 430.So something like this: http://www.newegg.com/Product/Product.aspx?Item=N82E16814133356

Would be that big of an improvement over my Gt 520?

Which series has enough horsepower to run with the "High-Quality Processing" option checked?

Asmodian
5th December 2011, 22:06
Yeah that is the lowest end card that can do 1080i60 CUDA decoding and deinterlacing with MadVR at full quality.

The improvement over the 520 is higher quality deinterlacing and full quality MadVR for 1080p60. The 520 is fine for 1080p24/25/30.

joeydrunk
13th December 2011, 17:17
I read somewhere that lav cuvid cant do software/hardware deinterlacing of commom cable encodes.- here:"LAV video decoder can't handle common American digital cable encodings with either software YADIF or hardware DXVA/EVR hardware deinterlacing (most video cards) because of this problem.": "program changes from 29.97 and 59.9401 while playing the exact same content, you are seeing bad metadata embedded in the signal. This is commonly referred to as the 29/59 frame rate switching issue or the 29/59 bug. Stuttering may be observed with the frame rate switches from 29.97 to 59.9401 or vice versa. This is due to the GPU changing the state of the de-interlacer/interlacer and falling behind."

Is this true and are you planning on fixing the issue? What is the best current way{software and hardware} to deinterlace these streams? Under known issues you state: "VC-1/MPEG4-ASP VFR content will most likely not play properly." Is this the same as above problem?

mkanet
13th December 2011, 18:04
Part of that was my post. You are taking these quotes out of context. First see if you even have the issue described.

I read somewhere that lav cuvid cant do software/hardware deinterlacing of commom cable encodes.- here:"LAV video decoder can't handle common American digital cable encodings with either software YADIF or hardware DXVA/EVR hardware deinterlacing (most video cards) because of this problem.": "program changes from 29.97 and 59.9401 while playing the exact same content, you are seeing bad metadata embedded in the signal. This is commonly referred to as the 29/59 frame rate switching issue or the 29/59 bug. Stuttering may be observed with the frame rate switches from 29.97 to 59.9401 or vice versa. This is due to the GPU changing the state of the de-interlacer/interlacer and falling behind."

Is this true and are you planning on fixing the issue? What is the best current way{software and hardware} to deinterlace these streams? Under known issues you state: "VC-1/MPEG4-ASP VFR content will most likely not play properly." Is this the same as above problem?

joeydrunk
13th December 2011, 22:26
Part of that was my post. You are taking these quotes out of context. First see if you even have the issue described.

I don't have the issue described, this stuff is my life and I like to learn as much as humanly possible. I tried not take it out of context thats why I copied everything you said word for word and put it in quotations. Please tell me where I am wromg, this is what I am trying to figure out. I am also going to buy a ceton tuner and would like to know exactly what I am getting into.

SamuriHL
13th December 2011, 22:30
I don't have the issue described, this stuff is my life and I like to learn as much as humanly possible. I tried not take it out of context thats why I copied everything you said word for word and put it in quotations. Please tell me where I am wromg, this is what I am trying to figure out. I am also going to buy a ceton tuner and would like to know exactly what I am getting into.

Windows Media Center, that's what. :) The ceton is a cablecard tuner if I'm not mistaken. As such the recordings *could* be protected depending on what channel you're recording. If it's protected you're not doing much with that recording outside of MC or an MC extender. For other recordings, I assume it records in standard WTV format. I've not had a lot of luck with that format and using open source to play them. It requires a lot of MS crap to be in the chain to split it properly and all that fun nonsense. Personally I just take them and convert them to MPG. I realize this doesn't answer your questions about deinterlacing, but, I wanted to make sure you were fully aware of what a ceton tuner brings to the table. Sorry for the OT nature of my post.

joeydrunk
13th December 2011, 22:36
Part of that was my post. You are taking these quotes out of context. First see if you even have the issue described.

Those two quotes are exactly the points I want to adress. The first quote written by you said lav dosn't work because of THIS problem. The "this" wich I have in capitals was a link you posted to the problem, wich is the second quote I adress. I didn't take the whole thing but what I have in qutorations is the main point of it.

joeydrunk
13th December 2011, 22:42
Windows Media Center, that's what. :) The ceton is a cablecard tuner if I'm not mistaken. As such the recordings *could* be protected depending on what channel you're recording. If it's protected you're not doing much with that recording outside of MC or an MC extender. For other recordings, I assume it records in standard WTV format. I've not had a lot of luck with that format and using open source to play them. It requires a lot of MS crap to be in the chain to split it properly and all that fun nonsense. Personally I just take them and convert them to MPG. I realize this doesn't answer your questions about deinterlacing, but, I wanted to make sure you were fully aware of what a ceton tuner brings to the table. Sorry for the OT nature of my post.

Right on, thanks. Good to know.

SamuriHL
13th December 2011, 22:46
Right on, thanks. Good to know.

NP. I've looked into them myself and opted for a TiVo Elite instead. The TiVo format being something easier to work with than WTV IMO. And for protected channels I just blast them out to my HD PVR's. Works very well. Also, since you'll be stuck in MC land for those recordings, your interlacing stuff will be handled by EVR. If you reencode it to MPG then you'll have to worry about what LAV Video is doing.

mkanet
13th December 2011, 23:25
The reason I said out of context is because I wasn't referring to just cablecards or windows media center necessarily. I don't have either and have that issue.

Those two quotes are exactly the points I want to adress. The first quote written by you said lav dosn't work because of THIS problem. The "this" wich I have in capitals was a link you posted to the problem, wich is the second quote I adress. I didn't take the whole thing but what I have in qutorations is the main point of it.

mkanet
14th December 2011, 02:49
Hi Joeydrunk, this is the link (http://www.cetoncorp.com/support/index.php?/Knowledgebase/Article/View/20/20/hbo-and-other-channels-rapid-framerate-changing---stuttering)specfic to ceton/Windows media center. Bottom line, you will have stutter on some premium TV channels; especially Comcast unless you use one of the display cards mentioned here (http://experts.windows.com/w/experts_wiki/71.aspx). SamuriHL is right, although, its pretty easy to replace the builtin mpeg2 decoder using the Media Center Decoder Utility (http://www.hack7mc.com/2009/04/media-center-decoder-utility-mcdu-finally-comes-to-windows-7.html), it will only playback the channels that don't have the copy protection flag set (Verizon FIOS doesnt enforce this flag, Comcast does). So, if you're a FIOS customer, just replace the MS DTV decoder with the Dscaler IVTC mpeg2 decoder... and you're on your way to very high quality TV playback at 24hz!

Honestly , I think the best way to do this is to just choose one of the video cards mentioned in the below link if that's an option. Although, they dont do 3/2 pulldown removal like dscaler IVTC does, it has been reported that playback is very smooth with these cards. I definitely would have bought an Nvidia GeForce GT 440 instead of a 545GT if I had access to the list of cards listed in this link (http://experts.windows.com/w/experts_wiki/71.aspx).

I don't have the issue described, this stuff is my life and I like to learn as much as humanly possible. I tried not take it out of context thats why I copied everything you said word for word and put it in quotations. Please tell me where I am wromg, this is what I am trying to figure out. I am also going to buy a ceton tuner and would like to know exactly what I am getting into.

glc650
14th December 2011, 04:27
I definitely would have bought an Nvidia GeForce GT 440 instead of a 545GT if I had access to the list of cards listed in this link.Why a 440 instead of 545?

robpdotcom
14th December 2011, 07:08
Windows Media Center, that's what. :) The ceton is a cablecard tuner if I'm not mistaken. As such the recordings *could* be protected depending on what channel you're recording. If it's protected you're not doing much with that recording outside of MC or an MC extender. For other recordings, I assume it records in standard WTV format. I've not had a lot of luck with that format and using open source to play them. It requires a lot of MS crap to be in the chain to split it properly and all that fun nonsense. Personally I just take them and convert them to MPG. I realize this doesn't answer your questions about deinterlacing, but, I wanted to make sure you were fully aware of what a ceton tuner brings to the table. Sorry for the OT nature of my post.

Whether or not the content is protected should depend on how your cable company flags the channels. If done properly, any Media Center recordings should be flagged the same as a TiVo recording - if you can't play it outside of MC, then you can't transfer it from a TiVo to a PC. So, you would be stuck playing them in MC, just as you would be stuck playing them on a TiVo.

As far as playing it with open source players, you just need to use LAV Splitter and it should be no problem. The only problem is live TV - for that it is best to use the Microsoft splitter.

I rarely watch anything live, so LAV Splitter is fine for me - I use Dscaler for telecined content, and LAV Video to decode everything else. I can deinterlace the video with yadif, madVR,... nothing gives me any problems.

I have the Ceton tuner and I love it. I use it combined with a rather inexpensive Hauppage tuner, letting the Hauppage tuner handle everything that I don't need a cable card for. I had TiVo for about 10 years, but I like MC just fine (better in some ways, not as good in others) - and it's free.

SamuriHL
14th December 2011, 14:24
Whether or not the content is protected should depend on how your cable company flags the channels. If done properly, any Media Center recordings should be flagged the same as a TiVo recording - if you can't play it outside of MC, then you can't transfer it from a TiVo to a PC. So, you would be stuck playing them in MC, just as you would be stuck playing them on a TiVo.

As far as playing it with open source players, you just need to use LAV Splitter and it should be no problem. The only problem is live TV - for that it is best to use the Microsoft splitter.

I rarely watch anything live, so LAV Splitter is fine for me - I use Dscaler for telecined content, and LAV Video to decode everything else. I can deinterlace the video with yadif, madVR,... nothing gives me any problems.

I have the Ceton tuner and I love it. I use it combined with a rather inexpensive Hauppage tuner, letting the Hauppage tuner handle everything that I don't need a cable card for. I had TiVo for about 10 years, but I like MC just fine (better in some ways, not as good in others) - and it's free.

I have a hauppauge 950q that I use for a few recordings in MC. I have some issues trying to play them with nothing but lav filters. It could just be how mc17 builds the graph. I haven't tried it in mpc-hc. Maybe I should experiment with that some more. With the TiVo if I have a protected channel, I can simply record it using one of my HD pvr's. It'd be far more difficult in my case to do that from a ceton tuner. They look awesome and I came really close to getting one, but in the end I do love my TiVo's. :)

Sent from my Xoom using Tapatalk

spartan711
16th December 2011, 11:04
http://www.tomshardware.com/news/Nvidia-Cuda-LLVM-Compiler-GPU,14274.html

Could this be of any help nevcairiel?

If you want to get access to it, I can try going through my university...

aufkrawall
12th January 2012, 13:53
Can CUVID be used to decrese CPU load?
Even with it I can't play x264 lossless RGB smoothly since my Phenom II X4 is too slow for it. :o

Mikey2
13th January 2012, 08:51
LAV CUVID vs CoreAVC with NVidia SLI?

Since I have an over-clocked Quad-core CPU (Q6600 running at 3.6 GHz instead of the default of 2.4 and my FSB running at 400 MHz instead of 255...i.e. a 50% overclock) and a relatively weak set of NVidia graphic cards (2 8600GT cards running in SLI,) and since running the Video Decoding at in Software mode or hardware-mode makes no quality difference, I used to run LAV Decoder in software mode, thus freeing up my graphics cards to run madVR with the best upscaling etc and HW De-interlacing if needed.

However, I recently ran across a wonderful new AviSynth sharpener - "LSFMod" (Normal call format: "LSFMod(defaults="slow",ss_x=1.0,ss_y=1.0,strength=80)".) This sharpener is good enough to warrant HW upgrades; however, I cannot afford any right now. (It takes a lot of CPU processing power (even on my system.))

Thus in order to play-back without frame-drops I needed to free-up my CPU thus switch to HW Video decoding. However, I was having problems with LAV's CUVID [version .43 - the one integrated with the normal LAV Decoder.] But when running with CoreAVC it played back smoothly.

It took me a while to figure it out, but using GPU-Z I found that using CoreAVC it correctly split the Video Decoding on one of my SLI'd Video-cards and put most of the rendering work on the other GPU.

However, LAV CUVID, even in SLI, it put essentially all the work onto just one of my two graphics cards!

I'd like to go back to LAV (for many reasons, like most of us here, I love LAVFilters) but I cannot (at least in HW/CUVID mode) until this is fixed. [I]Is this a known issue? Is there something I could be doing in my setup differently?

Here are some GPU-Z screenshots, playing 720P "Kingdom of Heaven" with Avisynth's LSFMod on and MadVR set to its best upscaling (IMHO) (Softcubic 100/4-tap Spline.)

(The key parts to note are the "Video Engine Load" - that is the HW Decoding (it is completely 0 when using Software Decoding.) And the two fields above it ("GPU Load" and "Memory Controller Load" - those are the rendering loads - which cannot be helped when running a 1080P video (especially one up-scaled using MadVR...)) Notice on CoreAVC one GPU takes most of the Rendering Stuff and leaves the Decoding on the other card. But LAV CUVID throws both the decoding and the rendering on a single GPU and leaves the other card to essentially do nothing.)

LAV CUVID GPU loads
-----------------------

CUVID GPU (Video-card) #1

http://i155.photobucket.com/albums/s297/mikeyurkus/LAVCUVIDCard1.png

CUVID GPU (Video-card) #2

http://i155.photobucket.com/albums/s297/mikeyurkus/LAVCUVIDCard2.png

CoreAVC GPU loads
-----------------------


CoreAVC GPU (Video-card) #1

http://i155.photobucket.com/albums/s297/mikeyurkus/CoreAVCCard1.png


CoreAVC GPU (Video-card) #2

http://i155.photobucket.com/albums/s297/mikeyurkus/CoreAVCCard2.png

Thanks much in advance for your help!
MikeY

PS - Notice that the total percentages are much higher for CoreAVC - that is why most people agree that LAV is a better decoder and most people don't see this problem; however, the distribution of the processing over SLI is what is causing LAV to drop frames continuously while allowing CoreAVC to play without frame-drop for me.

SeeMoreDigital
13th January 2012, 11:38
Can CUVID be used to decrese CPU load?
Even with it I can't play x264 lossless RGB smoothly since my Phenom II X4 is too slow for it. :o At what resolutions and frame rate?

That said, as far as I'm aware no GPU supports AVC lossless anyway...

Lincoln Burrows
13th January 2012, 15:40
Folks,
I am dealing with 1080i, VC-1 encoding, converted to 60i from the BBC's original rate of 50i HDV. It's the 1st season of Torchwood converted to MKV using MAKEMKV by me.

However I am not sure what settings I must select here.

http://i.imgur.com/nqVeN.png

The default settings from this decoder are 50p/60p (Video), but I changed to 25p/30p (Film) as you can see. Is that correct? What about the rest?

Using MPC-HC it seems the video is playing fine, but the playback is smooth. It should be a little faster (you can notice something is not quite right), and I also have (in my case, I am using ffdshow Audio Decoder), audio sync problem sometimes. The codec is DTS-HD 5.1.

In my case, I am using a 8800 GTS 512 MB video card, and PC is Q9450, 2 GB RAM, Windows 7, in a 7200 RPM Hard Drive.

I saw once a few settings we must change in MPC-HC to watch 1080i videos, but I can't find them anymore.

jmonier
13th January 2012, 17:37
Note that you should be using the LAV Video Decoder which now has CUVID built in. The separate LAV CUVID decoder is outdated and is no longer being updated. That said, unless Video doesn't look good, it should be fine. Adaptive is the best interlacing method.

Lincoln Burrows
13th January 2012, 20:10
Note that you should be using the LAV Video Decoder which now has CUVID built in. The separate LAV CUVID decoder is outdated and is no longer being updated. That said, unless Video doesn't look good, it should be fine. Adaptive is the best interlacing method.Where can (we) find this "LAV Video Decoder"?

It should be noted that I am also using the codec-pack from this website:
http://codecguide.com/download_kl.htm

The Mega version.

And if I can't manage to make 1080i work with MPC, I can use Total MediaTheatre from Arcsoft (software) and the original Blu-ray folder. In this case, I never experienced any problems. But I rather use Matroska converted files most of the time, and stick with MPC-HC.

P.S.

OK, it seems I already have this LAV Video Decoder installed here. However, if I add this in MPC, I only get "Sonic Cinemaster Video Decoder 4.2" (and I can't change any settings in this one) in the list of filters used by this 1080i VC-1 file. And I don't get the "Using DXVA" message.

If I select "LAV CUVID Decoder" I can change settings and see the "Using DXVA" message.

That said, unless Video doesn't look good, it should be fine.And at least in this case, if you select 50/60p/Video you will make things a lot worse (and slower). 25/30p-Film is the best choice here, but like I said, it still doesn't feel right and I am having audio sync problems. And since it's working in TMT I guess it's MPC or decoder's fault.

clsid
13th January 2012, 21:15
Go to LAV Video settings and enable VC-1. It is disabled by default in LAV Video because it doesn't support interlaced video and is also slower than the Microsoft decoder. In CUVID it does support interlaced.

If another decoder still gets used by MPC, then either block that filter or give it a lower merit.

Lincoln Burrows
13th January 2012, 22:17
Go to LAV Video settings and enable VC-1. It is disabled by default in LAV Video because it doesn't support interlaced video and is also slower than the Microsoft decoder. In CUVID it does support interlaced.

If another decoder still gets used by MPC, then either block that filter or give it a lower merit.It won't work. I tried everything, blocking won't help either. In the end is using MPC Video Decoder for H.264 and saying that wasn't able to find a proper filter to use it when I let only "LAV Video Decoder" in this list of external filters from MPC:

http://i.imgur.com/3yjYs.png

jmonier
13th January 2012, 22:44
One of the problems with filter packs is that it's easy to fall behind with filters that are being constantly updated (if you even had the current version to begin with). You're certainly seeing that with LAV CUVID which has been obsolete for several months but is still included in the pack. LAV Filters ARE being constantly updated, so you need to be sure you have the latest version before you can get answers to your questions. Here's the link for LAV Filters:

http://forum.doom9.org/showthread.php?t=156191

If you still have problems after updating, you can ask questions there and have a better chance of getting good answers.

Also make sure you have the latest version of MPC-HC.

Lincoln Burrows
13th January 2012, 23:02
I only managed to make it appear in the filter list (while playing the video) after I found this:

http://i.imgur.com/dYfN5.png

Here's how I configured mine:

http://i.imgur.com/NdMkn.png

http://i.imgur.com/rBmig.png

Is that correct? Selecting "no hardware decoder" or "Intel QuickSync" will not display any image for the video. And using ffdshow with Intel QuickSync will not get me good results (slower picture), I believe it's because I am using Q9450 and for the reasons stated here:
http://forum.doom9.org/showthread.php?t=162442

BTW, I downloaded the ffdshow version from the thread above as well.

Despite the fact the image looks OK now, it seems a little heavy (causing the audio sync issue a few times), maybe it's my video card, or (and here's something I am going to ask), the fact I am using FFDSHOW AUDIO DECODER in the filter list. I tried blocking ffdshow audio decoder and use LAV Audio Decoder, but it's not being used in the filter list from the file.

My settings:

http://i.imgur.com/RmIeb.png

http://i.imgur.com/c1qbp.png

Am I missing something? The file is m2ts, using both DTS-HD and AC3 streams (AC3 is the secondary stream, audio commentary).

Note: After blocking ffdshow, MPC uses "MPC Audio Decoder" instead.

clsid
13th January 2012, 23:47
You are obviously not using the MPC-HC version included in that pack, because that one doesn't include all those crappy internal filters.

Don't block ffdshow in the external filter list. If you don't want ffdshow to decode a certain format, simply disable that format in ffdshow settings.

Lincoln Burrows
14th January 2012, 00:52
You are obviously not using the MPC-HC version included in that pack, because that one doesn't include all those crappy internal filters.

Don't block ffdshow in the external filter list. If you don't want ffdshow to decode a certain format, simply disable that format in ffdshow settings.I am not using the MPC-HC version from K-Lite codec pack, but taken from here:
http://www.xvidvideo.ru/

And the picture is not showing you internal, but EXTERNAL FILTERS. I have added myself a few from the list just to block them and make sure ffdshow was not being used.

I am aware you can disable a certain codec in ffdshow settings, but I already tried that, and it didn't changed anything.

http://i.imgur.com/SYbYP.png

This picture shows INTERNAL FILTERS, and on the right, transform filters (I guess that's how MPC calls them). If I also disable AAC, AC3, DTS, LPCM, etc. from the transform filters, MPC tries to use AC3Filter. In AC3Filter settings you can see DTS being used. After I disable DTS in AC3Filter, it uses Sonic Cinemaster Audio Decoder. After I block Sonic Cinemaster, it uses MPC Audio Decoder...

http://i.imgur.com/YNtcp.png

I have no idea why it's not recognizing LAV Audio Decoder, since already worked for the video (decoder). Maybe we can't use it?

And must not be related to these settings:

http://i.imgur.com/RmIeb.png

Since I already tried them...

clsid
14th January 2012, 01:20
DTS-HD in LAV Audio decoder might possibly only work when using LAV Splitter. Tip: you can change preferred splitter (source filter) with Codec Tweak Tool.
Otherwise, ffdshow also supports DTS-HD.

Why do you have AC3Filter? ffdshow and LAV can already do everything.

Internal filters in MPC should be disabled.

Lincoln Burrows
14th January 2012, 04:57
OK, I give up.

For some strange reason, m2ts files from this Blu-ray are refusing to accept the LAV Audio Decoder.

Maybe because they are DTS-HD HRA XBR and not DTS-HD MA ?

You were right, I had to add the LAV Splitter here. And while the m2ts extension (according to the Codec Tweak Tool) is using LAV Splitter, I can only make it work with LAV Video Decoder. Any attempts to use LAV Audio Decoder will result in using another filter. In this case, Sonic or any other filter (like MPC internal filter), but never LAV's.

http://i.imgur.com/g7dvd.png
We need to activate mp3 here to use LAV Audio Decoder... otherwise ffdshow audio decoder will be loaded by MPC

As you can see from these pictures, I tested another file, this time AVI, and MP3, and I changed LAV Audio Decoder settings to recognize the MP3 extension. It worked, and it wasn't necessary to block ffdshow.

http://i.imgur.com/Id4nc.png

http://i.imgur.com/UUtAi.png

But this m2ts file is not cooperating at all...

P.S. Another possibility is that LAV Audio Decoder does not support DTS-HD in the first place. Can anyone confirm that?

Lincoln Burrows
14th January 2012, 05:03
I think I solved the mistery, and now both LAV Video/Audio decoders are being displayed in the filter list from the m2ts!

http://i.imgur.com/YgxSy.png

I had to disable all these settings:

http://i.imgur.com/0cJPR.png

Mikey2
14th January 2012, 11:07
Lincoln Burrows - Although you have several things going on, let me suggest trying to use ReClock to help with you sync issues. What country are you from? In America we have 24FPS (frames per second) for movies and 60 FPS/30FPS (interlaced "NTSC") for Television material. You can use "MediaInfo" (included in K-lite codec pack) to find out the source's fps. And the reason I ask the country you're from is because we use 60fps (NTSC) on our TV monitors and 24 (or 72 (24*3) on better displays suck as mine. 120Hz is the best since it is both a multiple of 24 and of 60.) ReClock is a great tool that will use this info in conjunction with your actual display's Hz (essentially fps) to re-sync and properly playback everything (for instance, most movies are 23.976 fps or something instead of 24 fps...) More importantly, it will compensate for 25 fps PAL sources down to 24 (or vice-versa) ...this is very significant, the actual displayed show/movie w/o this tool will be shorter by 2 minutes or so per hour!

As far as playing HD audio, such as DTS-MA, what Video-Card/Audio-card are you using? This is still somewhat "bleeding edge" since they are only now overcoming PAP ("Protective Audio Path") in order to play HD audio without down-sampling somewhere down the chain. I have a Xonar audio-card (basically first one to fully allow TrueHD and DTS-MA without down-sampling.) However, my card requires that you use the Arcsoft Audio Renderer to play HD-Audio. In addition, I found the most luck using ffdshow Audio as the audio filter in this case. (It is the only one that I know of that will truly read the full DTS-MA track and not just playback the DTS-core track...but the settings are tricky and you have to make sure to use "pass-through" (even though obviously you cannot use SPDIF/TOS since only HDMI will allow bit-streaming at such high band-width's. IMHO it's pretty counter-intuitive...)

I hope this helps, I still use LAV Splitter and LAV Video decoder BTW, and keep in mind that software encoding (CUVID off) makes no difference on picture quality - with it off it just does the work on the CPU instead of the GPU - many people incorrectly assumes that HW Decoding is necessary or better-looking when in fact they are over-loading their video-cards and under-utilizing their CPU's. (See my long post on the last page for my own issues on this matter.) While rendering has great implications on video-quality, wherever you do the decoding and whatever tool you use will make no difference on video-quality. (It's like unzipping a file - however you do it does not matter, it just works or does not work...)

Finally remember that de-interlacing is only needed on interlaced materials. People seem to focus on this a lot which makes little sense since most DVD/mkv/avi/and almost *all* Blu-Rays are progressive material (that's the "P" in 1080P or 720P) so de-interlacing should be shut-off unless that is the video's source (i.e. 480i, 1080i - the "i" meaning "interlaced") .

Feel free to respond via PM or in this thread if you need more help. I spent years figuring all of this out and I'd be happy to help others like you that are obviously intelligent but are still in the learning-curve of all this stuff...

cheers!
MikeY

nevcairiel
14th January 2012, 12:28
de-interlacing should be shut-off unless that is the video's source (i.e. 480i, 1080i - the "i" meaning "interlaced") .


Deinterlacing is smart and only works on content that actually is interlaced, its perfectly safe to leave the options as-is. (Unless the content is actually progressive but mistakenly encoded as interlaced, but thats another matter entirely)

Lincoln Burrows
14th January 2012, 15:22
Lincoln Burrows - Although you have several things going on, let me suggest trying to use ReClock to help with you sync issues. What country are you from? In America we have 24FPS (frames per second) for movies and 60 FPS/30FPS (interlaced "NTSC") for Television material. You can use "MediaInfo" (included in K-lite codec pack) to find out the source's fps. And the reason I ask the country you're from is because we use 60fps (NTSC) on our TV monitors and 24 (or 72 (24*3) on better displays suck as mine. 120Hz is the best since it is both a multiple of 24 and of 60.) ReClock is a great tool that will use this info in conjunction with your actual display's Hz (essentially fps) to re-sync and properly playback everything (for instance, most movies are 23.976 fps or something instead of 24 fps...) More importantly, it will compensate for 25 fps PAL sources down to 24 (or vice-versa) ...this is very significant, the actual displayed show/movie w/o this tool will be shorter by 2 minutes or so per hour!

As far as playing HD audio, such as DTS-MA, what Video-Card/Audio-card are you using? This is still somewhat "bleeding edge" since they are only now overcoming PAP ("Protective Audio Path") in order to play HD audio without down-sampling somewhere down the chain. I have a Xonar audio-card (basically first one to fully allow TrueHD and DTS-MA without down-sampling.) However, my card requires that you use the Arcsoft Audio Renderer to play HD-Audio. In addition, I found the most luck using ffdshow Audio as the audio filter in this case. (It is the only one that I know of that will truly read the full DTS-MA track and not just playback the DTS-core track...but the settings are tricky and you have to make sure to use "pass-through" (even though obviously you cannot use SPDIF/TOS since only HDMI will allow bit-streaming at such high band-width's. IMHO it's pretty counter-intuitive...)

I hope this helps, I still use LAV Splitter and LAV Video decoder BTW, and keep in mind that software encoding (CUVID off) makes no difference on picture quality - with it off it just does the work on the CPU instead of the GPU - many people incorrectly assumes that HW Decoding is necessary or better-looking when in fact they are over-loading their video-cards and under-utilizing their CPU's. (See my long post on the last page for my own issues on this matter.) While rendering has great implications on video-quality, wherever you do the decoding and whatever tool you use will make no difference on video-quality. (It's like unzipping a file - however you do it does not matter, it just works or does not work...)

Finally remember that de-interlacing is only needed on interlaced materials. People seem to focus on this a lot which makes little sense since most DVD/mkv/avi/and almost *all* Blu-Rays are progressive material (that's the "P" in 1080P or 720P) so de-interlacing should be shut-off unless that is the video's source (i.e. 480i, 1080i - the "i" meaning "interlaced") .

Feel free to respond via PM or in this thread if you need more help. I spent years figuring all of this out and I'd be happy to help others like you that are obviously intelligent but are still in the learning-curve of all this stuff...

cheers!
MikeYI am currently using a LG W2452V monitor, the full specs can be found here:
http://www.prad.de/en/monitore/review/2008/review-lg-w2452v.html

The country is Brazil, but I don't think it makes any difference in this regard. The video card is 8800 GTS 512 MB, in Core Quad 9450, 2 GB/RAM DDR2-800, Windows 7, Abit IP35 Pro (motherboard), Hard Drive 7200 RPM... I guess this is it.

Even using LAV Audio Decoder I still have audio sync issues with this .m2ts file from the 1080i (60i) source:
http://www.blu-ray.com/movies/Torchwood-The-Complete-First-Season-Blu-ray/923/#Review

It's barely noticeable, but it's there, in some scenes you are listening to the audio track after the lips start moving. However, I haven't noticed any problems using Total MediaTheatre, which is a proprietary software from Arcsoft. Why can't we use their decoder?

And it's probably something I am experiencing, not you. Someone explained to me in another thread that my video card (dated 2007 - so it's old now, specially for HD contents) - does not support VC-1 fully (only H264/AVC), so the minor audio delay while using Media Player Classic-Home Cinema must be related to this. I didn't noticed the same audio sync issue with other titles.

wanezhiling
15th January 2012, 17:05
I couldn't find another MPEG4-ASP HW decoder for Nvidia(VP4/VP5) except the outdated one..

Though CPU is easy to do this, it's really a little pity because UVD3.0 could use ArcSoft/PotPlayer/WMP12 to decode XVID, Nvidia has none now...:(

nevcairiel
15th January 2012, 17:53
LAV Video 0.45 will have MPEG4 support through cuvid, and maybe if i get bored some time, also for DXVA2

Sebastiii
15th January 2012, 18:59
Nice one :)

Cyber-Mav
17th January 2012, 15:12
is there a certain driver version requirement for MPEG4-ASP hardware acceleration?

nevcairiel
17th January 2012, 16:09
is there a certain driver version requirement for MPEG4-ASP hardware acceleration?

No idea, probably.
There is also a hardware limitation, only VP4 and above supports it.

wanezhiling
17th January 2012, 16:20
is there a certain driver version requirement for MPEG4-ASP hardware acceleration?

1. vista/2008/win7
2. nvidia purevideo VP4/5

enough

Cyber-Mav
18th January 2012, 22:05
i meed the hardware requirements, but looks like there is no decoder available yet to make use of the hardware for decoding xvid via gpu.

Mikey2
19th January 2012, 02:35
I am currently using a LG W2452V monitor, the full specs can be found here:
http://www.prad.de/en/monitore/review/2008/review-lg-w2452v.html

The country is Brazil, but I don't think it makes any difference in this regard. The video card is 8800 GTS 512 MB, in Core Quad 9450, 2 GB/RAM DDR2-800, Windows 7, Abit IP35 Pro (motherboard), Hard Drive 7200 RPM... I guess this is it.

Even using LAV Audio Decoder I still have audio sync issues with this .m2ts file from the 1080i (60i) source:
http://www.blu-ray.com/movies/Torchwood-The-Complete-First-Season-Blu-ray/923/#Review

It's barely noticeable, but it's there, in some scenes you are listening to the audio track after the lips start moving. However, I haven't noticed any problems using Total MediaTheatre, which is a proprietary software from Arcsoft. Why can't we use their decoder?

And it's probably something I am experiencing, not you. Someone explained to me in another thread that my video card (dated 2007 - so it's old now, specially for HD contents) - does not support VC-1 fully (only H264/AVC), so the minor audio delay while using Media Player Classic-Home Cinema must be related to this. I didn't noticed the same audio sync issue with other titles.

Actually my specs are pretty close to your's-a strong overclocked CPU (Q6600-4core) and an even weaker video-card (Nvidia 8600GT.)

I also have a lot of experience using Arcsoft codecs in MPC (this is because I *have* to use their renderer in order to pass-through DTS-MA or TrueHD.) Long story, it can be done, but it's really tricky (the GUI for the Standalone Arcsoft decoder is buggy since it's not used in TMT for instance.)

I'm typing this at the auto mechanic on my phone, so I cannot go into more detail right now. A few questions (sorry if they're answered in your earlier posts-it's too tough to check on the phone.)

-I've seen you talk about multiple fps's...which has the sync issues (60fps?) The reason I ask what country is some countries use PAL for their tv's (this is on the tv itself) (25/50 fps) and others use NTSC (60 fps with movies at 24 (not 25 fps.) If your source material is 25 and your tv is 24, or if the source is 60 and your display is 50...there's your audio disconnect! Arcsoft handles this internally but Reclock does even better.

-If it is a matter of overloading your GPU I would suggest looking into software decoding (ie turn off CUVID...set it to "none")

-Are you having these problems with Lossless material (like TrueHD) or lossy? Your screenshots are all over the place-for instance you don't have h264 selected as an input on the video decoder and you didn't have DTS selected on the audio decoder. that will cause it to bypass to the next highest merit codec. In short, they're handled completely differently.

Ok my car is ready...I hope this helps. Id be willing to chat you through in more detail when your home (like checking GPU-Z, codec merits, input settings, etc...)

Mosley
25th January 2012, 13:33
I've tested LAV CUVID on my HTPC Asrock 330ION with ATOM330 CPU and nVidia ION GPU, but the performance is rather slow if compared with CoreAVC CUDA, even if I get the best results with ffdshow DXVA decoder or MPC-HC DXVA internal decoder. Instead, I love LAV splitter, which on my HTPC is much more performant then Haali.

leeperry
3rd February 2012, 03:06
hi nev, this splitter is getting better and better so kudos for that =)

I've had some problems w/ some 25fps progessive mpeg2 content that would output as 50fps for some reason...I'll try to come up w/ a sample, but do you think you could possibly put the version number on the very top of this thread please?

so when we hover the mouse on top of your thread, we could see the latest version number as w/ mVR: http://thumbnails29.imagebam.com/17291/bbb649172902168.jpg (http://www.imagebam.com/image/bbb649172902168)

:thanks:

nevcairiel
3rd February 2012, 07:49
Its kind of useless to mention a version number for a filter that is essentially dead and deprecated, so i put that commend in there instead. :p

wanezhiling
3rd February 2012, 20:56
I've tested LAV CUVID on my HTPC Asrock 330ION with ATOM330 CPU and nVidia ION GPU, but the performance is rather slow if compared with CoreAVC CUDA, even if I get the best results with ffdshow DXVA decoder or MPC-HC DXVA internal decoder. Instead, I love LAV splitter, which on my HTPC is much more performant then Haali.

This LAV CUVID decoder has outdated for a long time..

Look here:http://forum.doom9.org/showthread.php?t=156191
Use this please, my test result always shows that LAV Video(CUVID) performs faster than CoreAVC CUDA or ffdshow DXVA on my VP4 card or VP5.

leeperry
4th February 2012, 02:26
Its kind of useless to mention a version number for a filter that is essentially dead and deprecated, so i put that commend in there instead. :p
great! if you could also add the date next to it, that'd be really sweet...coz as much as I remember the version number of mVR and Reclock, I can't recall those of PotP/ffdshow and all associated splitters/decoders :o

I've sent you a link in PM to that sample I mentioned earlier.

:thanks:

kostasoft
6th February 2012, 23:37
Whether there will be a support of decoding MVC in the subsequent versions of the LAVFilters?

oddball
9th February 2012, 18:28
Why is this thread still at the top of the page? Dump this already. LAV Filters should be at the top! BTW I think both LAV CUVID or LAV Filters should be in the same subforum it's confusing :P

nevcairiel
9th February 2012, 18:33
Its on the top of the page because people like you keep pushing it. :P

Alexey1975
13th February 2012, 14:28
I vote for LAV CUVID Decoder continued to live and updated!
And that's why:
1. It's a PURE hardware mode decoder.
2. When I using it, I can be sure that the GPU only is processing the video, but not CPU. It has meaning when you need all CPU power for another purposes. (LAV Video Decoder, sometimes, not switch to hardware mode (for ex.: when using DVB Viewer with H.264 streams), unlike LAV CUVID Decoder).

Maybe 'Pure Hardware Mode' option for LAV Video Decoder will solve it? ... ;)

nevcairiel
13th February 2012, 14:29
You can vote all you want, its not going to change anything.

Alexey1975
13th February 2012, 14:47
You are nice, thanks!

Mosley
19th February 2012, 10:03
This LAV CUVID decoder has outdated for a long time..

Look here:http://forum.doom9.org/showthread.php?t=156191
Use this please, my test result always shows that LAV Video(CUVID) performs faster than CoreAVC CUDA or ffdshow DXVA on my VP4 card or VP5.

Ok. I tested LAV Video Filter. Surprisingly in CUVID mode performance with my GPU (nVidia ION) is not good on "heavy" bluray with interlaced video, but in DXVA2 mode it work very well. DEFINITELY better than ffdshow.

Why such a big difference between CUVID and DXVA2?

dukey
19th February 2012, 17:08
Because in dxva mode the video is passed directly to the video renderer. In CUVID mode, the video is copied out of video memory back into system ram. Then depending on the renderer, copied back into video memory for presentation.

nevcairiel
19th February 2012, 17:33
An ION is probably just borderline fast enough to deal with CUVID, so that some content makes it go over the edge. ION is certainly not a fast system.

Mosley
21st February 2012, 20:46
Many thanks for your answers. ;)

Lincoln Burrows
3rd July 2012, 22:01
http://i.imgur.com/rQnsg.png

One question:

I noticed it's necessary to change that "output mode" to 25/30 instead of 50/60 while watching 1080i contents (saved in Matroska (lossless) or not), otherwise we face audio sync problems. Is that change necessary? Once I changed, it seemed like the playback was fine.

sneaker_ger
4th July 2012, 13:20
GPU too slow?

Probably want to ask questions in the new thread, though:
http://forum.doom9.org/showthread.php?t=156191