When turning on deinterlacing (mpg input) and choosing the deinterlace methods "Bob", "Linear", "Yadif2", Phosphor" and "Average " the top and bottom fields images are in wrong order: Forward movement of a person results in step forward, half a step back. Visible when using shortcut "e" or playing at low speed.
For methods "X", "yadif" and "mix (dutch: Mengen)" the order is correct.
Tech details:
The attached fiel that shows the problem is created by Cyberlink PowerDirector v 7.00.4020 as an MPEG-2 PAL HQ (Full-D1, 8.0Mbps, 720x576, GOP-pattern BBIBBPBBPBBPBBP).
The original movie was created as a Hi-8 tape on a (1992) Hitachi Hi8 camcorder and transferred with a Silvercrest USB 2.0 A1 video grabber to PowerDirector, using S-video
I just wanted to add to the comments. All the videos sources with top field first displayed in wrong field order when turning any double deinterlacer on (be it Phosphor or Yadif). All the video sources with bottom field first (all DV codec videos) are displayed correctly. Is there a possible just to have a checkbox option or something such that if the user sees the wrong field order, he can check it and the field order will be swapped?
I just wanted to add to the comments. All the videos sources with top field first displayed in wrong field order when turning any double deinterlacer on (be it Phosphor or Yadif). All the video sources with bottom field first (all DV codec videos) are displayed correctly. Is there a possible just to have a checkbox option or something such that if the user sees the wrong field order, he can check it and the field order will be swapped?
No, it should be automatic.
You mean with a simple filter (non frame doubler) it works fine?
Yes, but it doesn't detect it automatically and it seems to assume bottom field first for all sources. I think the user control would be perfect.
I just checked my Huffyuv AVI (with top field first of course) trying all deinterlace modes.
Bob, Yadif(2x), Phosphor are all wrong.
The deinterlace modes where frame rate is not double seem to be fine, but such deinterlacers don't separate the fields, so it can't be wrong. Am I right?
What do you mean you doubt it? VLC never displayed TFF footage correctly using 2x deinterlacers. This has been the case on all platforms Mac OS and Windows as far as I observed. Do you want me to supply you with the same footage of DV AVI and Huffyuv AVI? The former one with bottom field first is displayed correctly and the latter one with top field first is flickering. If you would like, how many seconds of footage do you need?
I also encoded Huffyuv.avi into .mpg file using TMPGEnc using top field first. This file seemed to be played correctly unlike Huffyuv.avi. I didn't upload .mpg.
I also uploaded dv.avi which is the same footage as Huffyuv.avi just to demonstrated that dv.avi is played correctly.
Update. I spoke to someone from digitalFaq.com forum. He informed me that mpg files are played correctly, but AVI files are not because they don't have the information about field order. Thus it is assumed that the field order is BFF for every AVI file. Another thing is that that I authored some DVDs from mpeg2 files that I encoded from Huffyuv AVI files with TMPGenc. While some mpeg 2 source files are played correctly, the DVD itself is not played correctly. I will do more testing and get back here.
In a meanwhile, if that's the case and if source file have incorrect field order information, why not to implement the checkbox to flip field order?
TMPGenc determines field order correctly by analyzing motion of the source file. It then writes field order in mpeg file. However, I don't know whether it is correctly written in DVD. But why not implement the custom flag so that the end user can invert field order if it is not correctly written in the source file? Do you think it doesn't make sense?
Wait a sec. I couldn't find any references to formal AVI definition that it has to be BFF. By DV world you meant Digital Video world and not DV codec, right? :) AFAIK, AVI is the container that may contain different video file formats with various codecs. Some codecs may have BFF and some other TFF. Yes DV codec is BFF. But, AFAIK, Huffyuv codec is always TFF. I have had many capture cards from ATI to Hauppauge WinTV to LifeView FlyVideo to Compro VideoMate and all of them capture in with TFF when selected compression is Huffyuv codec.
As for how to flag it... Why not have the new section between Video->Deinterlace mode and Video->Post processing. Call it something like "Force Field Order" and then have 3 values: None (default), Top Field First, Bottom Field First. If any last 2 are selected, they should overwrite the default settings. What do you think?
--Leonid
PS. If this feature is implemented, I will be ready to throw my multi-system CRT TV out of the window or simply donate it. :)
As far as I remember a while back I saw a C++ code somewhere for VLC which was initializing field order flag based on some condition. If this is the case, maybe just simply enforce condition if TFF or BFF selected? Why need to swap?
I created a separate ticket for the 'Swap field order' RFE at https://trac.videolan.org/vlc/ticket/10191 because it is quite off-topic in this deinterlacing-related ticket.
In MPlayer there's an option called field-dominance to force deinterlacing with TTF or BTF which fixes this problem. It should be easy to implement it in VLC in the deinterlacing options section.
Hello, I guess nobody has started working on it. Can anyone implement the feature? It really shouldn't take more than 15 minutes do add a manual selection.