[FFmpeg-devel] [PATCH] Port tinterlace filter from MPlayer.

Stefano Sabatini stefano.sabatini-lala at poste.it
Tue Jun 28 12:43:01 CEST 2011


On date Tuesday 2011-06-28 13:08:23 +0300, Ivan Kalvachev encoded:
> On 6/28/11, Stefano Sabatini <stefano.sabatini-lala at poste.it> wrote:
[...]
> > 2) Regarding mode 3:
> > |Expand each frame to full height, but pad alternate lines with
> > |black; framerate unchanged and double height.
> >
> > the padded lines are always the even lines, if I'm not wrong real
> > television devices alternate even and odd lines scanning, which in
> > this case generate a very fastidious flickering effect (which
> > theoretically should not be not be perceived at high framerates).
> >
> > I can add another mode (would be "5" for retaining MPlayer
> > compatibility), for implementing this behavior, I'd like to hear some
> > interlace "experts" opinion regarding this.
> 
> Mode 3 of this filter is working as advertised, at least in mplayer.
> I have no idea why it doesn't work for you, as the source code is
> looking quite straight forward:
>   (pseudo code;)
>   case 3: if(vf->priv->frame&1 ==0) {copy_pic(plane,stride*2) } else
> {copypic(plane+stride, stride*2); }; output(); break;
>   vf->priv->frame++;
> 
> If you want to make mode 5, you can make it like mode 3 but double the
> framerate.
> aka:
>   take 1 frame,
>   output top_field of the frame and black the other.
>   output bottom_field of the frame and black the other.
>   repeat.

There is nothing wrong with mode 3, but I wonder if it makes sense to
implement this mode 5 (easily done with ~5 lines of code) for
"emulating" television devices.
-- 
FFmpeg = Fundamental and Foolish Murdering Perennial Enhanced Gadget


More information about the ffmpeg-devel mailing list