[FFmpeg-devel] [PATCH] lavfi: port mcdeint filter from libmpcodecs

Stefano Sabatini stefasab at gmail.com
Tue May 28 15:34:43 CEST 2013


On date Monday 2013-05-27 18:08:36 +0000, Paul B Mahol encoded:
> On 5/27/13, Stefano Sabatini <stefasab at gmail.com> wrote:
> > On date Monday 2013-05-27 17:05:33 +0200, Stefano Sabatini encoded:
> >> On date Monday 2013-05-27 13:30:27 +0200, Clement Boesch encoded:
> >> > On Mon, May 27, 2013 at 03:24:33AM +0200, Stefano Sabatini wrote:
> >> > > TODO: bump minor, update changelog
> >> > > ---
> >> > >  configure                |    1 +
> >> > >  doc/filters.texi         |   33 ++++++
> >> > >  libavfilter/Makefile     |    2 +
> >> > >  libavfilter/allfilters.c |    1 +
> >> > >  libavfilter/vf_mcdeint.c |  288
> >> > > ++++++++++++++++++++++++++++++++++++++++++++++
> >> > >  5 files changed, 325 insertions(+)
> >> > >  create mode 100644 libavfilter/vf_mcdeint.c
> > [...]
> >
> > Updated with a few simplifications and various minor fixes.
> >
> > The command:
> > $ ffmpeg -video_size cif -i ~/s/foreman_cif.yuv -vf
> > tinterlace=interleave_top,mcdeint,showinfo -t 1 -f md5 -
> >
> > still produces output different from mp=mcdeint in the chroma
> > planes. Hints or suggestions for debugging it are welcome.
> 

> And such difference is good or bad?

The difference is unnoticeable with naked eyes, but if you do:
ffplay -i matrixbench_mpeg2.mpg -vf "split[a][b]; [a]unsharp,mp=mcdeint[a1]; [b]unsharp,mp=mcdeint[b1];[a1][b1]blend=all_mode=difference,lutyuv=y='if(val,maxval,0)',showinfo"

it should be visible.

The difference seems related to the presence of a non-null filter
*before* mp=mcdeint (it's the same with the ported mcdeint), similar
effect can be observed replacing unsharp with negate, interlace, etc.
Still can't make a sense out of this!
-- 
FFmpeg = Faithless and Free Maxi Portentous Educated Guru


More information about the ffmpeg-devel mailing list