View Full Version : LAV CUVID Decoder - High Quality Hardware decoding for NVIDIA
madshi
16th April 2011, 08:18
With windowed mode I got lots of dropped frames, but it might be related to LAC CUVID not yet reporting the correct frame rate to the renderer. madshi might clear this up better.
madVR currently only prints out the media type framerate information but doesn't use it anywhere. It will be used, though, once madVR gets automatic refresh rate changing.
The improvements worked just fine, went from 59 fps in timeCodec to 88, with DXVA interop and frame doubling. Playback is super smooth in EVR and madVR now. Looking forward for the finished version to share with you guys. :)
Well, congrats on and thanks for some rather important and well working changes today. :)
nevcairiel
16th April 2011, 08:35
The improvements worked just fine, went from 59 fps in timeCodec to 88, with DXVA interop and frame doubling. Playback is super smooth in EVR and madVR now. Looking forward for the finished version to share with you guys. :)
Did some more testing on this. Progressive content seems to go around 10% up, when you add deinterlacing w/ frame doubling in the mix, you get nearly a 30-40% improvement.
clsid
16th April 2011, 11:53
Do you have any specific plans for making the decoder more robust in case of incompatible streams?
Two ideas:
1) Integrate software decoder (ffmpeg). Then the first few frames could be decoded in software, allowing you to determine stream properties. If the stream is found to be compatible, switch to CUVID decoding (on next keyframe?). Otherwise keep decoding in software.
2) Let LAVSplitter parse enough data to determine whether a stream is compatible. Let it connect to LAVCUVID only if a stream is compatible, or use some other way of signaling this info. Add option to let LAVCUVID connect only to LAVSplitter.
yesgrey
16th April 2011, 12:01
I tested over an AVC file with timecodec
Thanks for testing, but I was asking for 1080i 60fps files testing. We already know that decoding progressive files works great. What we need to discover now is how the different GPUs would handle the interlaced files, specially 1080i ones.
Looking forward for the finished version to share with you guys. :)
Us too. :)
Did some more testing on this. Progressive content seems to go around 10% up, when you add deinterlacing w/ frame doubling in the mix, you get nearly a 30-40% improvement.
Great, but unfortunately I think it still won't be enough for me. :(
I got 21.3 with adaptive and 23.8 with bob, so 30-40% would still be far from what I need... However, that improvement would lower the GPU requisites. The GTS 450 or the new GTX 550 Ti should be more than enough for smooth and fluid double rate deinterlacing of 1080i60.
nevcairiel
16th April 2011, 12:02
Two ideas:
1) Integrate software decoder (ffmpeg). Then the first few frames could be decoded in software, allowing you to determine stream properties. If the stream is found to be compatible, switch to CUVID decoding (on next keyframe?). Otherwise keep decoding in software.
This is a terrible idea.
2) Let LAVSplitter parse enough data to determine whether a stream is compatible. Let it connect to LAVCUVID only if a stream is compatible, or use some other way of signaling this info. Add option to let LAVCUVID connect only to LAVSplitter.
I don't know which hardware is exactly compatible with what.
At least for H264 the important informations are probably in the SPS/PPS headers that are in the media type anyway. But i really cba to figure out which hardware is compatible with what features. If there is some "big" feature that can be easily detected out of the SPS, i can add that at some point.
In the future it'll eventually refuse connection to 10bit or 4:2:2 files, but thats all i'm going to do for now.
nevcairiel
16th April 2011, 12:04
Great, but unfortunately I think it still won't be enough for me. :(
I got 21.3 with adaptive and 23.8 with bob, so 30-40% would still be far from what I need... However, that improvement would lower the GPU requisites. The GTS 450 or the new GTX 550 Ti should be more than enough for smooth and fluid double rate deinterlacing of 1080i60.
I didn't even see that big drop in FPS that you are seeing just from enabling DXVA-interop.
Which OS are you using? Which drivers?
But anyway, give me a couple of hours, and i'll have a new version up.
Dogway
16th April 2011, 12:10
@yesgrey: thanks for the input. Id like to think it works great, but as I can't manage to get those results I can't confirm it. GPU load isn't even at its limit... I can't even think about interlaced media.
madshi
16th April 2011, 12:13
2) Let LAVSplitter parse enough data to determine whether a stream is compatible. Let it connect to LAVCUVID only if a stream is compatible, or use some other way of signaling this info.
Is there some way in DirectShow that allows a decoder to "request" a few video frames before deciding whether to accept a connection?
yesgrey
16th April 2011, 12:14
I didn't even see that big drop in FPS that you are seeing just from enabling DXVA-interop.
OK. I will redo my tests.
Which OS are you using? Which drivers?
Win7 x64 SP1
GeForce GT 240 512 MB DDR5 (memory overclocked to 4GHz), drivers 270.51 beta
CPU Intel E5400@3.6GHz, 2GB RAM
nevcairiel
16th April 2011, 12:15
Is there some way in DirectShow that allows a decoder to "request" a few video frames before deciding whether to accept a connection?
Sadly, no.
You also cannot drop the connection if you notice that it doesn't work out. Once its connected, you're stuck.
yesgrey
16th April 2011, 12:18
I can't even think about interlaced media.
Do you have any 1080i60 file for testing? If you haven't I can upload a 20s sample for testing with timeCodec...
nevcairiel
16th April 2011, 12:19
Once i'm done coding, i'll run some tests on my GTS 450 HTPC - back then i decided to get the 450 instead of the 430 for some extra performance for future plans, i hope it was worth it. ;)
pankov
16th April 2011, 12:23
yesgrey,
please upload a sample.
I do have many 1080i60/50 files but it's more accurate to test with the same sample because different video (bitrate/complexity/motion) will bring different results.
Dogway
16th April 2011, 12:31
yes, upload please. I need to install Haali I think but, more importantly, I test CUVID against what...
madshi
16th April 2011, 12:47
Sadly, no.
You also cannot drop the connection if you notice that it doesn't work out. Once its connected, you're stuck.
You can use IFilterGraph::Disconnect, can't you?
yesgrey
16th April 2011, 12:55
back then i decided to get the 450 instead of the 430 for some extra performance for future plans, i hope it was worth it. ;)
Good decision. The 430 (DDR3) is worse than the GT 240 (DDR5). For madVR it's more than enough (for now), but I did not think about 1080i60 deinterlacing...
yesgrey,
please upload a sample.
OK.
SamuriHL
16th April 2011, 12:59
Glad I got a 450 as well. :)
nevcairiel
16th April 2011, 13:02
You can use IFilterGraph::Disconnect, can't you?
Well sure. But the graph doesn't magically rebuild itself. If the caller is the component that actually wants to get out of the graph, it sounds like it would end up being a total mess - especially with video decoders and renderers.
One thing i learned when writing the stream switching in LAV Splitter, alot of video codecs, and some renderers as well - they don't like getting a disconnect during playback. Heck some decoders don't even like a dynamic reconnect to switch the video media type -- all they eventually accept without freaking out is sending the media type together with some data packet, but sadly that won't give you any feedback if they like the new format.
I would rather stay away from any form of reconnection in the video chain during playback.
CruNcher
16th April 2011, 13:21
A few more tests...
I decided to run timeCodec to measure LAV CUVID performance with my graphics card (nvidia GT 240)
With a WVC1 1080i 29.97 source file:
v0.2: 47.1 dfps
v0.2 dxva-interop: 29.6 dfps
v0.2 frame-doubling: 21.3 dfps
Here's the reason for not being able to get smooth playback with frame doubling, my GPU is too slow. It seems I would need 3x the processing power of my current GPU for watching smooth 1080i video. So, the deinterlacing should be performed by using the shaders, and not specific hardware on the GPU.
It would be interesting to see test results from more powerful GPUs to have an idea of what would be needed for smooth playback.
Thats why the Nvidia guy said it will be problematic for Realtime also dont forget to compare with GPU-Z the GPU and Video Engine Load as well as the Memory everything i guess should be higher (except Video Engine Load) obviously the Bandwith also so check with CUDA-Z and calculate per frame if it's enough pinned memory bandwith available, though it's nice to have NEDI quality now available if you right we should immediately compare it vs QTGMC :) Im really surprised that Donald doesn't has this mode implemented in DGDecNV if all is true :)
Though your GPU has the Memcopy Hardware improvements i don't wanna know how slow it will be on mine :P (G92), @ all the DXVA interop Deinterlacing should be a additional option in the GUI when final as it will be slower and some might wonder why they don't reach realtime playback anymore.
Here is a FULL HD PAL Soccer sequence for testing 50i->50p (Main 4.0 PAFF) http://www.mediafire.com/download.php?3rr3ur3q65dbb23
nevcairiel
16th April 2011, 14:03
LAV CUVID Decoder 0.3
0.3 - 2011/04/16
- Improved decoding performance by up to 40%
- Added "Double Framerate" Deinterlacing
- Added a DXVA Interoperability mode, which increases deinterlacing quality.
- Added an option to control the field order supplied to the deinterlacer.
Download: 32-bit (http://files.1f0.de/cuvid/LAVCUVID-0.3.zip)
The 40% is a speed up i pulled out of a hat. Well, actually its the biggest speed up i could measure on my hardware. It may be significantly more on slow hardware.
As there currently is no IVTC going on, i activated the double framerate deinterlacing by default, but of course there is an option to turn it off.
Would be great if you could run some benchmarks on your hardware, i just know that the new version, even with DXVA interop and Double Framerate deinterlacing turned on, is still faster then the old one on my hardware. But my hardware is a GTX570, so..
In any case, the way the pipeline gets processed now, one slow component does no longer pull down the whole process. As long as every component is fast enough to finish one frame in around 16ms (for 60fps), it'll be fine - the times do not add up anymore, they work in parallel now.
Hope it works for you as well as it does for me. :)
PS:
Even though some options seem to have an effect directly after changing them, i recommend restarting the player / reloading the file to make sure everything is setup alright.
CruNcher
16th April 2011, 14:13
Thx nev gonna test it also comparing the quality vs CoreAVC CUDA to see if they have this mode as default (Hardware Deinterlacing option) ;)
also gonna retest the 4 Girls Clip with that 40% improvement that could be a nice gain there (also thinking about getting either a GTS 450 or GTX 550 TI) :)
Here is another PAL test 1440x1080 50i->50p (High 4.0 MBAFF) http://www.mediafire.com/download.php?w4pwfq2mjfgjiqf
madshi
16th April 2011, 14:15
Well done! :)
CruNcher
16th April 2011, 14:22
Yeh i guess ATI guys are already asking themselves when does LAV OVD gets released (known to many better as Cyberlink HAM option) ;)
With all these tools it will be easy peasy to also test Nvidia Nvcuvid Performance/Quality @ least vs Intel Media SDK Performance/Quality :)
sneaker_ger
16th April 2011, 14:25
Thx, I measured a performance decrease of almost 10% for 1080p24 on my VP3, but the actual playback now works fine with madVR, while it was dropping frames left and right with 0.2.
nevcairiel
16th April 2011, 14:27
Yeh i guess ATI guys are already asking themselves when does LAV OVD gets released
Never! :p
Thx, I measured a performance decrease of almost 10% for 1080p24 on my VP3, but the actual playback now works fine with madVR, while it was dropping frames left and right with 0.2.
Try turning off the DXVA Interop option, on progressive content it may potentially be a slow down (depending on the content), and has no advantage (that i know off)
also gonna retest the 4 Girls Clip with that 40% improvement that could be a nice gain there
You'll maybe get 10% on progressive content, the real big speed up is only when doing deinterlacing.
The differences are also measured using timeCodec, other tools may yield other results, of course.
sneaker_ger
16th April 2011, 14:42
Try turning off the DXVA Interop option, on progressive content it may potentially be a slow down (depending on the content), and has no advantage (that i know off)
1%-2% increase vs. 0.2
yesgrey
16th April 2011, 15:10
Here are the results of my benchmarks using timeCodec. I've used two 1080i59.94 files that I cut from the original Blu-ray sources, one avc and the other wvc1. They are very short samples, so I guess it would be OK to upload them under the fair use clause... If you want to test with these files you can grab them here (http://www.megaupload.com/?d=YFZ0TJ4F).
NVidia GeForce GT 240 - 270.51 drivers - Win7 x64 SP1
ffdshow libavcodec rev 3765
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 42.8
WMVideo Decoder DMO
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 40.8
LAV CUVID v0.2 - BOB
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 48.2
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 52.8
LAV CUVID v0.2 - Adaptive
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 45.4
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 47.0
LAV CUVID v0.2 - frame doubling - BOB
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 43.7
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 43.9
LAV CUVID v0.2 - frame doubling - Adaptive
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 39.6
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 36.7
LAV CUVID v0.2 DXVA - BOB
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 38.1
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 34.7
LAV CUVID v0.2 DXVA - Adaptive
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 32.9
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 29.6
LAV CUVID v0.2 DXVA - frame doubling - BOB
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 28.4
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 23.7
LAV CUVID v0.2 DXVA - frame doubling - Adaptive
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 25.2
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 21.3
I've tested both BOB and Adaptive because my GPU is not that powerful, but I think that you should only test the Adaptive, because we already know that BOB always performs slightly best.
About my results, I find it curious than with DXVA WVC1 performs worse than AVC, and the no DXVA results makes me hope to be able to use my GPU with v0.3...
I will now start testing v0.3 and will post my results.
Note: I've also included ffdshow and WMVDecoder just for reference.
nevcairiel
16th April 2011, 16:04
Here are results from my two systems, only 0.3, i included Weave as a baseline reference.
GTX570, 270.51, Win7 x64, Core i7 2600K
LAV CUVID 0.3 - Weave
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 67.3
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 71.9
LAV CUVID 0.3 - Adaptive
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 67.3
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 72.1
LAV CUVID 0.3 - frame doubling - Adaptive
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 67.2
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 71.9
LAV CUVID 0.3 DXVA - Adaptive
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 60.4
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 70.5
LAV CUVID 0.3 DXVA - frame doubling - Adaptive
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 64.3
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 70.4
GTS450, 270.51, Win7 x64, AMD Phenom II X4 955
LAV CUVID 0.3 - Weave
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 67.1
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 71.8
LAV CUVID 0.3 - Adaptive
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 66.7
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 71.8
LAV CUVID 0.3 - frame doubling - Adaptive
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 66.6
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 71.4
LAV CUVID 0.3 DXVA - Adaptive
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 62.3
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 68.7
LAV CUVID 0.3 DXVA - frame doubling - Adaptive
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 60.8
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 61.5
A small conclusion .. DXVA mode does reduce the FPS more then any other option. If you can live with not-perfect-yet-still-good deinterlacing, non-DXVA with double framerate is probably the way to go for realtime playback.
All non-DXVA results for my two cards are pretty much identical, statistical variances aside, so it would seem the limiting factor is the VP4 decoding engine in those cards, which should be identical.
I do however have some issues that the queues in madVR drop very low and frames get dropped when i go into FSE mode. Windowed mode is fine, so is old FSE path. I'll tweak some things and see if something helps.
yesgrey
16th April 2011, 16:30
Here are my results with v0.3:
NVidia GeForce GT 240 - 270.51 drivers - Win7 x64 SP1
LAV CUVID v0.3 - Weave
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 65.7
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 68.5
LAV CUVID v0.3 - BOB
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 65.7
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 68.5
LAV CUVID v0.3 - Adaptive
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 66.0
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 68.3
LAV CUVID v0.3 - frame doubling - BOB
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 65.7
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 67.9
LAV CUVID v0.3 - frame doubling - Adaptive
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 65.2
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 68.2
LAV CUVID v0.3 DXVA - BOB
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 62.9
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 67.2
LAV CUVID v0.3 DXVA - Adaptive
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 47.0
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 51.5
LAV CUVID v0.3 DXVA - frame doubling - BOB
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 35.9
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 36.2
LAV CUVID v0.3 DXVA - frame doubling - Adaptive
Test_clip_avc.1080i59.94.ac3.5.1 - dfps: 29.8
Test_clip_wvc1.1080i59.94.flac.5.1 - dfps: 31.1
nice performance improvements over v0.2. More than 40%! :)
Now, if I disable DXVA, I can play using double frame rate, but I feel that my GPU it's the absolut minimum for allowing double frame rate of 60i sources. I have to reduce some quality in madVR to avoid frames dropping. I will try to overclock it a little to see if it works better.
By the way... The smoothness is amazing!
Once again, great job!
:thanks:
yesgrey
16th April 2011, 16:34
All non-DXVA results for my two cards are pretty much identical, statistical variances aside, so it would seem the limiting factor is the VP4 decoding engine in those cards, which should be identical.
Agreed. My results are pretty much the same (also VP4).
yesgrey
16th April 2011, 16:49
I do however have some issues that the queues in madVR drop very low and frames get dropped when i go into FSE mode. Windowed mode is fine, so is old FSE path.
Same happening here.
nevcairiel
16th April 2011, 17:14
Further testing shows, it seems to only affect interlaced VC-1 tracks, possibly only VC-1 in MKV, some VC-1 in m2ts i had handy seemed just fine. All interlaced H264 are fine too (played 15 minutes of some BBC Earth documentary, man what an awesome image)
VC-1 in MKV is the weirdest format, maybe it doesn't like that i actually split every timestamp in two? I did some debug logging, and the frames going out of the decoder seem to not be properly ordered, now when i double those timestamps, does madVR get confused?
It may be something i can fix in LAV Splitter.
But then, why only in the new FSE mode?
madshi? :D
Edit:
Fixed it in LAV Splitter, will need to do some proper code to only do it with LAV CUVID, or Cyberlink and folks break again.
yesgrey, can you confirm it only happens on VC-1?
yesgrey
16th April 2011, 17:18
Further testing shows, it seems to only affect interlaced VC-1 tracks, possibly only VC-1 in MKV. All interlaced H264 are fine too
Same here.
madshi
16th April 2011, 17:21
Further testing shows, it seems to only affect interlaced VC-1 tracks, possibly only VC-1 in MKV, some VC-1 in m2ts i had handy seemed just fine. All interlaced H264 are fine too (played 15 minutes of some BBC Earth documentary, man what an awesome image)
VC-1 in MKV is the weirdest format, maybe it doesn't like that i actually split every timestamp in two? I did some debug logging, and the frames going out of the decoder seem to not be properly ordered, now when i double those timestamps, does madVR get confused?
It may be something i can fix in LAV Splitter.
But then, why only in the new FSE mode?
madshi? :D
If you upload a log with the frame drops, I can have a look at why they happen.
SamuriHL
16th April 2011, 17:29
So, Nev...my Serenity MKV from my HD DVD. VC1. I installed 0.3 and was up to about 700 dropped frames in just over a minute and a half! :eek: I thought it was DXVA mode causing it. Nope. That double frame thing. Turned that off and I was back to pure bliss. I'd only want that with interlaced content, right? I assume there's a plan to make this a bit more robust and only use it when necessary? :)
nevcairiel
16th April 2011, 17:36
HD DVDs shall be deleted.
But anyway, it should actually only be on for interlaced content, but those HD DVDs are weird with their pull down flags, so i guess it actually detects them as interlaced.
Screw VC-1 in MKV, nothing but problems with that shit.
sneaker_ger
16th April 2011, 17:37
So, Nev...my Serenity MKV from my HD DVD. VC1. I installed 0.3 and was up to about 700 dropped frames in just over a minute and a half! :eek: I thought it was DXVA mode causing it. Nope. That double frame thing. Turned that off and I was back to pure bliss. I'd only want that with interlaced content, right? I assume there's a plan to make this a bit more robust and only use it when necessary? :)
Is that MKV encoded as interlaced despite being progressive?
SamuriHL
16th April 2011, 17:37
Yes, yes, I know my outdated format is dead. Why do you think I'm converting them to a more useful format?! :D However, the inability to get rid of the pulldown flag is definitely an issue. I wish there was some util that could take the MKV and fix the pulldown without a lot of work.
SamuriHL
16th April 2011, 17:39
Is that MKV encoded as interlaced despite being progressive?
No. See here:
Format : Matroska
File size : 14.7 GiB
Duration : 1h 59mn
Overall bit rate : 17.7 Mbps
Encoded date : UTC 2011-04-15 15:28:29
Writing application : MakeMKV v1.6.7 win(x64-release)
Writing library : libmakemkv v1.6.7 (0.7.7/0.8.1) win(x64-release)
Video
ID : 1
Format : VC-1
Format profile : AP@L3
Codec ID : WVC1
Codec ID/Hint : Microsoft
Duration : 1h 59mn
Bit rate : 15.8 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 29.970 fps
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Scan order : Top Field First
Bits/(Pixel*Frame) : 0.255
Stream size : 13.2 GiB (89%)
Language : English
Audio
ID : 2
Format : E-AC-3
Format/Info : Audio Coding 3
Codec ID : A_EAC3
Duration : 1h 59mn
Bit rate mode : Constant
Bit rate : 1 536 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Video delay : -50ms
Stream size : 1.28 GiB (9%)
Title : 3/2+1
Language : English
Text
ID : 3
Format : VobSub
Codec ID : S_VOBSUB
Codec ID/Info : The same subtitle format used on DVDs
Language : English
Menu
00:00:00.000 : en:Living Weapon
00:05:00.450 : en:A Better World
00:09:31.366 : en:Aboard Serenity (Main Titles)
00:14:48.200 : en:Going for a Ride
00:19:48.666 : en:Reavers
00:29:11.250 : en:Triggered
00:36:16.083 : en:Mr. Universe
00:44:06.616 : en:Safe Haven
00:49:51.700 : en:Civilized Resolution
00:55:40.700 : en:Posing a Threat
00:59:24.750 : en:Miranda
01:04:41.366 : en:"Just Believe"
01:09:09.583 : en:Suicide Mission
01:13:29.366 : en:Learning the Secret
01:22:33.616 : en:Caught in the Middle
01:30:13.166 : en:Can't Stop the Signal
01:36:51.666 : en:Fighting for a Belief
01:45:49.866 : en:Do We Have an Order?
01:47:30.583 : en:It's Not Over
01:53:14.783 : en:End Titles
yesgrey
16th April 2011, 17:40
I wish there was some util that could take the MKV and fix the pulldown without a lot of work.
I think eac3to does it...
madshi
16th April 2011, 17:44
I think eac3to does it...
Yes, it does!
(1) eac3to source.mkv dest.mkv
(2) mkvtoolnix to put audio tracks back in
Done.
@SamuriHL, I'm wondering why you don't use eac3to (or one of the many eac3to GUIs) to do your HD DVD -> MKV stuff in the first place? I thought eac3to was the standard tool to do this. It would have removed the pulldown flags from any MPEG2, VC-1 and h264 HD DVD for you. Automatically. Actually eac3to removes the pulldown flags in a better way than the Microsoft tool does, which Warner was using for their initial Blu-Rays.
nevcairiel
16th April 2011, 17:46
If you upload a log with the frame drops, I can have a look at why they happen.
http://files.1f0.de/madVR-vc1-mkv.zip
I have since fixed LAV Splitter to avoid this problem (the log is actually with Haali, which shows the exact same problem).
Sadly my fix was the removal of a fix for something else, so i'll have to think about another solution for that..
But now its time to cook some food.
yesgrey
16th April 2011, 17:48
Im really surprised that Donald doesn't has this mode implemented in DGDecNV if all is true :)
I'm sure that if he is following this thread he will update DGDecNV accordingly.
In fact, that's my only hope of using the DXVA deinterlacer mode... reencode the original converting it to progressive with the best deinterlacer enabled (using DGDecNV). Yes, it would be a little crazy, but the end result would be very similar. :D
SamuriHL
16th April 2011, 17:50
Yes, it does!
(1) eac3to source.mkv dest.mkv
(2) mkvtoolnix to put audio tracks back in
Done.
@SamuriHL, I'm wondering why you don't use eac3to (or one of the many eac3to GUIs) to do your HD DVD -> MKV stuff in the first place? I thought eac3to was the standard tool to do this. It would have removed the pulldown flags from any MPEG2, VC-1 and h264 HD DVD for you. Automatically.
Cause I'm freaking lazy. :D MakeMKV allows me to stick the disc in, scan it, and click a button. LOL! I will have to try it, though. When I scanned the MKV with eac3to it gave me a nice warning about how it didn't like the eac3 audio and vobsub subtitle tracks. I was going to try exactly that. Ok, I'll stop being lazy and put some actual effort into this now. Still need to get the damn subtitles working though. sigh.
EDIT: Oh, right, I forgot about that one, too. "Getting Haali matroska muxer instance failed." I need haali installed. Just shoot me. :D
markanini
16th April 2011, 17:52
Anyone else get a black image with MPEG-2 PS (DVD) in MPC-HC+MadVR? MPEG-2 TS Works fine btw.
madshi
16th April 2011, 17:54
http://files.1f0.de/madVR-vc1-mkv.zip
I have since fixed LAV Splitter to avoid this problem (the log is actually with Haali, which shows the exact same problem).
Sadly my fix was the removal of a fix for something else, so i'll have to think about another solution for that..
According to the log the timestamps eac3to gets are really bad:
frame 89: 14010000 -> vsync 86
frame 90: 14846833 -> vsync 91
frame 91: 14176833 -> vsync 88
frame 92: 15350000 -> vsync 95
frame 93: 15516833 -> vsync 96
frame 94: 15680000 -> vsync 97
frame 95: 15020000 -> vsync 93
frame 96: 15846833 -> vsync 98
That's just too messed up for madVR to handle. The result is that even after madVR's timestamp fixing some frame drops can't be avoided. In this case frame 95 was dropped because it just didn't fit in at all.
But now its time to cook some food.
Can I have some, too? :)
nevcairiel
16th April 2011, 17:55
That's just too messed up for madVR to handle. The result is that even after madVR's timestamp fixing some frame drops can't be avoided. In this case frame 95 was dropped because it just didn't fit in at all.
I figured it would be something like that after debugging a bit. But the fact that it worked in windowed and old-FSE just confused me.
madshi
16th April 2011, 17:59
Cause I'm freaking lazy. :D
Haha! Well, in the end you always pay when prefering other software over mine, hehe... :devil:
EDIT: Oh, right, I forgot about that one, too. "Getting Haali matroska muxer instance failed." I need haali installed. Just shoot me. :D
If you trust mkvtoolnix then you don't need Haali. Just do "eac3to source dest.*" to demux everything. eac3to will still remove the pulldown flags for you. You can then mux with mkvtoolnix. Have you tried some of the eac3to GUIs? I've heard ClownBD is supposed to be easy to use. Not sure if it handles HD DVDs, but I think it does.
madshi
16th April 2011, 18:03
I figured it would be something like that after debugging a bit. But the fact that it worked in windowed and old-FSE just confused me.
I think that's caused by the new FSE to present so many frames in advance. Once the frames are presented, they're out of madVR's hands, so madVR can't switch them around, anymore. With windowed mode and the old FSE only one frame is presented (out of madVR's hands) at any time, so madVR has more time to swap timecodes around. How many frames did you ask madVR to pre-present? If you're going with 8 then madVR pretty much presents every frame as soon as it comes in, which means that there's almost zero chance to swap timecodes. I've already thought that I should make the decoder queue bigger than all other queues, so that I always have enough time & room to swap broken timestamps etc. Maybe I'll do that in a future version...
nevcairiel
16th April 2011, 18:04
Ah, guess that makes sense. Yes it was set to 8.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.