View Full Version : vc1 interlaced decoding
mini me
14th April 2009, 07:17
I've searched this forum as well as Google for an answer to this question but can't seem to find any answers. From what I've read, ffdshow doesn't support VC1 interlaced files but I can't find what it exactly means by "doesn't support VC1 interlaced". In what ways does ffdshow not correctly decode VC1 interlaced files?
The reason I'm asking is that Get Smart (Australian version, region B) has an extra encoded in 720x480i at 29.97fps (00016.m2ts). Gspot says it can decode this file with both ffdshow and WMVideo Decoder DMO, and MPC HC can use both of these decoders to play the file, although with the wrong aspect ratio 1:1 instead of 16:9.
Blue_MiSfit
14th April 2009, 08:22
Strange.
A lot of 1080i VC1 content that I've come across doesn't decode at all with ffdshow, but will decode fine with MPC-HC's built-in decoder, with or without DXVA. This is still based on libavcodec, I think...
The WMVideo Decoder DMO works fine in AviSynth through DSS2 as well.
:shrug:
Never bothered to figure it out :p
A good multithreaded VC-1 decoder would be pretty awesome - something along the lines of CoreAVC or Divx7. neuron2's payware tool does a great job, but it's CUDA and AviSynth only.
~MiSfit
turbojet
14th April 2009, 10:21
Indeed it would be nice for a VC-1 decoder that had developer(s) that were able to be contacted and listened to bug reports/suggestions.
Currently there are VC-1 interlaced streams that WMVideo doesn't decode properly. In these cases the only solution is commercial decoders (cyberlink, arcsoft, corel) and getting them to work outside of their proprietary players is a lot of hassle.
Multithreaded would be another huge plus, as decoding VC-1 is barely real time on most computers.
Guest
14th April 2009, 13:51
Can you please post a sample stream that creates the problems you describe?
mini me
14th April 2009, 14:41
Blue_MiSfit, are you saying that ffdshow doesn't decode VC1 interlaced material at all or just not correctly? I'm using ffdshow-mt rev2633 and it's decoding Get Smart but I don't know how to tell if it's decoded correctly or not (apart from the incorrect aspect ratio). I'm using an ATI video card so I can't test neuron2's decoder.
I've only just started my Bluray collection (3 BDs so far) so Get Smart is the only disc I have that has VC1 interlaced material. One of my other BDs only has VC1 1080p files so I don't have a very big testing sample.
Guest
14th April 2009, 14:58
@mini me
Can you post a link to an unprocessed source sample?
mini me
15th April 2009, 02:35
neuron2, I'm at work at the moment so I'll upload the 480i file when I get home in about 10 hours time. Do you want the full m2ts file (around 30Mb iirc) or just the demuxed VC1 stream? Do you need the related .clpi and .mpls files?
Guest
15th April 2009, 02:57
Just the 30MB M2TS file, thank you.
mini me
15th April 2009, 09:48
My memory failed me - the whole file was actually only 17Mb, not 30Mb. I've uploaded it to Rapidshare (http://rapidshare.com/files/221544823/00016.m2ts.html)
Now that I think about it again, how can I tell if the file is really interlaced? The related .clpi file says it's 480i but MediaInfo says the scan type is progressive and scan order is BFF. I'm guessing that the file is interlaced because when I use MediaInfo on a 1080p file it says scan type is progressive but doesn't mention anything about scan order.
Guest
15th April 2009, 14:25
I have no problem playing it. It's progressive though. I thought you were going to post an interlaced clip.
The encoding in this clip allows for each frame to be encoded as either interlaced or progressive. But each frame in the clip is encoded as progressive. Furthermore, the actual *content* is progressive, i.e., there is no motion at the field rate (no combing).
I used DGVC1IndexNV to analyse the clip.
Jeff Flowerday
15th April 2009, 15:13
AC/DC No Bull BR is VC1 1080i, if someone has a clip of it, it would be perfect for testing.
If no one provides one by next week, I'll grab a copy, I just don't have the personal time for the rest of this week.
turbojet
15th April 2009, 21:18
Most interlaced VC-1 can be decoded by WMVideo DMO decoder. The only one I've ran into that it didn't decode so far is some of the 1080i extras on 300 (USA) and somewhere in the BD-RB bug reports thread the EU BD has the same issue.
I will post a clip when I get it back from my brother which I should be seeing for sure this weekend but maybe before then.
mini me
16th April 2009, 03:15
Thanks for checking neuron2, I wasn't sure whether the clip I uploaded was interlaced or not. Its .clpi file says it's interlaced and I don't have a Nvidia card so I couldn't check with DGVC1IndexNV. Get Smart has some other clips where the .clpi file says they're interlaced but they turn out to be 23.976fps progressive with pulldown flags.
When you play my sample file, does it play with 16:9 or 1:1 aspect ratio? Both MPCHC using both ffdshow and WMVideo DMO give me 1:1 when I choose to view with the default aspect ratio.
Guest
16th April 2009, 04:22
I get widescreen only when I force it to 16:9. DOn't ask me why because I don't know how MPC HC works inside. The stream specifies a DAR of 20:11.
turbojet
16th April 2009, 17:24
A VC-1 clip that WMVideo can't decode (http://www.mediafire.com/download.php?tzlnhdynnhq)
edit: other one was cut a little too early, this new one crashes x264
mariner
16th April 2009, 18:19
A VC-1 clip that WMVideo can't decode (http://www.mediafire.com/download.php?tzlnhdynnhq)
edit: other one was cut a little too early, this new one crashes x264
Thanks for the sample, turbojet.
MPC's built-in decoder did not work as well. Is it supposed to?
Thanks and best regards.
Guest
16th April 2009, 19:35
It's Advanced 3 with both Frame Interlaced and Field Interlaced pictures. It plays fine in DGVC1DecNV. I haven't tried a DXVA player.
turbojet
17th April 2009, 06:40
Nope no free directshow players decode it and it's not that uncommon of a scenario for retail BD extras to ignore it.
Unfortunately your only choices right now are buying powerdvd or arcsoft and setting them to decode it which is easier said then done and both are fairly buggy in their own right -OR- you can buy an nvidia cuda card and dgvc1decnv and mess around getting it to work with BD-Rebuilder.
Both seem like very inconvenient choices and I really think a proper vc1 directshow decoder with multithread support is needed in the encoding world. Cheap or free, people would still have a lot of use for one if even to just playback the video as we all know this is currently a big problem amongst free players.
daWsOn_s
15th April 2010, 21:01
sorry to pick up this old thread but I encountered the same problem. VC-1 30fps interlaced won't work with directshow and mpc decoders not even the WMV one.
commercial player like powerdvd works, something changed?
Midzuki
16th April 2010, 10:21
First of all, apologies for being too late :o ,
and sorry if what I have to say is "old-news" already, :o ,
but...
A VC-1 clip that WMVideo can't decode (http://www.mediafire.com/download.php?tzlnhdynnhq)
edit: other one was cut a little too early, this new one crashes x264
Well, I downloaded that m2ts file,
remuxed the VC-1 ES in an AVI container :devil: ,
and yes, VirtualDub displays it correctly. :eek:
Midzuki
17th April 2010, 04:55
OK, some interesting findings. :) My first impression was, the VC-1 DMO Decoder from Microsoft, when dealing with "unusual" interlaced stuff, behaved incorrectly through DirectShow, but correctly when using VfW. But then, I gave a try to Avisynth's DirectShowSource(), and much to my surprise, now the "problematic" video clip was being displayed correctly :confused: :eek: — i.e., this time, no more two squeezed half-frames stacked horizontally and painted-in-green :D .
http://forum.videohelp.com/attachments/1360-1271564915/bad-vc1-interlx-decod-simulation.png
More interestingly, WMP 6.4 also had no problems to playback the m2ts file. :confused: :rolleyes: After some more experimentation, I found the VC-1 DMO decoder was not liking "interlaced video PLUS hardware acceleration". Reducing this latter made both WMP 9 and MPC finally playback the interlaced VC-1 stream "comme il faut". :helpful:
Sharc
17th April 2010, 09:05
It's Advanced 3 with both Frame Interlaced and Field Interlaced pictures. It plays fine in DGVC1DecNV. I haven't tried a DXVA player.
Separating fields yields:
- for the interview part a sequence like a b c d e .... (interlaced)
- for the movie part a sequence like aa bbb cc ddd ee fff ... (3:2 pulldown progressive).
Did I get this right? Is this what you mean by 'Advanced 3'?
Guest
17th April 2010, 12:36
Is this what you mean by 'Advanced 3'? No, Advanced is the VC1 profile and 3 is the VC1 level.
daWsOn_s
29th April 2010, 16:36
OK, some interesting findings. :) My first impression was, the VC-1 DMO Decoder from Microsoft, when dealing with "unusual" interlaced stuff, behaved incorrectly through DirectShow, but correctly when using VfW. But then, I gave a try to Avisynth's DirectShowSource(), and much to my surprise, now the "problematic" video clip was being displayed correctly :confused: :eek: — i.e., this time, no more two squeezed half-frames stacked horizontally and painted-in-green :D .
http://forum.videohelp.com/attachments/1360-1271564915/bad-vc1-interlx-decod-simulation.png
More interestingly, WMP 6.4 also had no problems to playback the m2ts file. :confused: :rolleyes: After some more experimentation, I found the VC-1 DMO decoder was not liking "interlaced video PLUS hardware acceleration". Reducing this latter made both WMP 9 and MPC finally playback the interlaced VC-1 stream "comme il faut". :helpful:
WOW so how do you disable hardware acceleration for DMO? Plus how did you get it to work with directshowsource?
clsid
29th April 2010, 17:47
You can disable it with WMV9 Powertoy:
http://www.citizeninsomniac.com/WMV/
daWsOn_s
29th April 2010, 18:26
I dont know what he's doing but it doesn't change anything for me.
Maybe I'm not doing it right?
I tried both
- playing via MPC HC using DMO decoder = black screen but it recognized and I can see the bitrate
- playing via MPC HC ffdshow using wmv9 decoder for VC1 = blocky images and all green
is this because I have WMP 11? :eek:
clsid
29th April 2010, 18:32
The wmv9 decoder in ffdshow is just a wrapper for the Microsoft DMO decoder.
Your problem is most likely graphics driver related.
daWsOn_s
29th April 2010, 19:00
Now that you say that I went to check a new driver release from ATI (i got a HD2600 PRO) and saw that last release (yesterday) has this two new feature:
H.264 Level 5.1 support
o ATI Catalyst™ can now playback 5.1 level streams on all supported players
? what do they mean? DXVA support? if yes than it's still doesn't work :rolleyes:
o New formats supported (H.264 file formats – MTS, and WMV9 Complex profile
interlaced content)
This should make it work right?? Well it still shows the blocky green stuff :(
clsid
29th April 2010, 21:32
That level 5.1 stuff only applies to H.264 video. The 'new formats supported' stuff applies to their video encoder. So nothing related to VC-1 playback.
CruNcher
29th April 2010, 21:46
OK, some interesting findings. :) My first impression was, the VC-1 DMO Decoder from Microsoft, when dealing with "unusual" interlaced stuff, behaved incorrectly through DirectShow, but correctly when using VfW. But then, I gave a try to Avisynth's DirectShowSource(), and much to my surprise, now the "problematic" video clip was being displayed correctly :confused: :eek: — i.e., this time, no more two squeezed half-frames stacked horizontally and painted-in-green :D .
http://forum.videohelp.com/attachments/1360-1271564915/bad-vc1-interlx-decod-simulation.png
More interestingly, WMP 6.4 also had no problems to playback the m2ts file. :confused: :rolleyes: After some more experimentation, I found the VC-1 DMO decoder was not liking "interlaced video PLUS hardware acceleration". Reducing this latter made both WMP 9 and MPC finally playback the interlaced VC-1 stream "comme il faut". :helpful:
Hardware acceleration problems can also have todo with bad splitter/decoder combination's (eg bugs or non interoperable filters)
Most ISVs optimize their filter chains very heavily to their own filters they rarely look @ interoperability problems and most probably never if they not commercially intended combinations see for example Microsofts WMV/ASF splitter and certain streams with Arcsoft's Decoder in DXVA mode :P (nice blockfest)
But i guess that's not the problem here visually i never saw this causing these kinds of color effects, mostly you get in those cases problems like (strange blocking occurring or speed problems, sync issues or frame shifts) :D
I'ts crazy but ATI did so heavily lost in Video vs Nvidia it's slowly not funny anymore how much issues people describe with ATI Hardware and Video Playback, seems their are only like 2 guys @ ATI doing the Video stuff for the Driver and UVD these days and the rest does 3D :P
What is with the old times, how can it be that Nvidia overrun ATI in Video, and dont come with hey ATI had full VC-1 decoding before Nvidia that was just a plain business decision based on the VC-1 complexity (saving money for expensive Desktop Cards and leaving it to lower end cards, it was a correct decision imho @ that time) :(
When i changed from ATI to Nvidia i was somehow even unhappy leaving the perfect Video world of ATI but in the end it turned out the complete different way it's so crazy as if both companies have shifted their research and resource priorities over the years Nvidia better and more advanced Video stuff + the whole thing rather bugfree (and a great ISV ecosystem around that to detect left content bugs and fix them very fast, and every 3rd Party Software benefits from that 1 ISV bug report, see all of Donald Grafts nvcuvid.dll fixes) and ATI better and more advanced 3D + lower energy and higher Performance.
The Problem is currently you can't have both :D you need to decide whats more worth to you that gives both a unique marketplace, it will be interesting to see who covers ground again in their ex respected field without losing the other again, my bet here is ATI can cover faster up their Video Problems (most all of them seem Driver related) then Nvidia their current 3D Performance and Energy Problems (Hardware related, not fixed with Fermi) :)
Though it would be also interesting to know how much hard errors Ati has in their UVD ASIC design that can't be repaired by Driver workarounds anymore and how much does Nvidia have in the VPx, but for ATI it seems almost all issues up to date are somehow Driver related (at least for UVD2) ;)
PS: Also you should really double check the Filter Chain for some unwanted filters that might get into your Playback (like some 3rd party Color Space Converter) still Directshow needs extra care :P
daWsOn_s
29th April 2010, 22:01
I know it's about H.264, this time I tried to encode one myself in 5.1 and it seems to work, maybe it still doest support some encoding settings
Anyway what do you mean their video encoder? what is that?
I finally got VC-1 interlaced to work and MPC-HC and avisynth, it just needed to be in a MKV container, it's the only way. Plus I don't see anything related to DXVA enabled or not from WMV9 since whatever I set it never uses hardware acceleration , at least not for me. The only way to use DXVA with VC-1 is MPC-HC internal dxva decoder (only progressive) and powerdvd (and other commercial ones i gues) for both interlaced and progressive:)
Midzuki
29th April 2010, 22:27
WOW so how do you disable hardware acceleration... ?
"Control Panel" --> "Video Properties" --> "Advanced" -->
--> "Settings" --> "Troubleshoot"
mindbomb
9th January 2011, 01:16
Sorry to revive this thread, but what exactly are you supposed to do when you encounter interlaced vc-1 and want to play it in mpc hc?
edit: Using wmvideo decoder dmo with frame time correction actually works really well.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.