[FFmpeg-devel] [RFC PATCH] avfilter/fastdeint: import simple cpu-optimized deinterlacing algorithms from VLC

Aman Gupta ffmpeg at tmm1.net
Tue Sep 10 01:31:15 EEST 2019


On Mon, Sep 9, 2019 at 3:19 PM Hendrik Leppkes <h.leppkes at gmail.com> wrote:

> On Tue, Sep 10, 2019 at 12:00 AM Aman Gupta <ffmpeg at tmm1.net> wrote:
> >
> > On Mon, Sep 9, 2019 at 2:47 PM Carl Eugen Hoyos <ceffmpeg at gmail.com>
> wrote:
> >
> > > Am Mo., 9. Sept. 2019 um 22:19 Uhr schrieb Aman Gupta <ffmpeg at tmm1.net
> >:
> > > >
> > > > From: Aman Gupta <aman at tmm1.net>
> > > >
> > > > These are simple algorithms which can be run efficiently
> > > > on low powered devices to produce deinteraced images.
> > >
> > > Please provide some numbers about the performance
> > > (and subjective visual quality) of the new C code in
> > > comparison to existing deinterlacers in FFmpeg.
> > >
> >
> > Comparison of visual quality can be seen on VLC's website:
> > https://wiki.videolan.org/Deinterlacing
> >
> > Regarding performance- none of the filters currently available in ffmpeg
> > are fast enough to deinterlace video in real time on ARM chips used by
> > popular Android or iOS devices. They're all very computationally
> expensive,
> > and do not have any ARM SIMD implementations. The deinterlacers from VLC
> > use simple mathematical averages optimized by SIMD, and have been used by
> > VLC on such devices for many years. I don't have any hard numbers to
> share,
> > but in my experience I can decode+deinterlace video for real time
> playback
> > in VLC on any cheap Android phone, whereas other ffmpeg-based players
> > cannot.
> >
>
> None of those algorithms are really worth using, none are actual
> "deinterlacers". Blend and Mean are just plain out terrible, and the
> other options are just dumb bob'ers which you can do with avfilter
> as-is today with a combination of the separatefields filter (which is
> zero-copy based on frame metadata only) and optional scaling
> afterwards.
>

I don't disagree that many of them are overly simplistic. I only copied
them all for completeness sake.

However, as terrible as they may be they're not as bad as displaying
interlaced frames directly. Blend and Linear produce acceptable image
quality imho.

Linear averages lines from both fields to generate a new image. Is
something like this possible with any existing filter combined with
separatefields?

Aman


>
> - Hendrik
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-devel mailing list