[FFmpeg-devel] [PATCH 1/2] fftools/cmdutils: make the default swscale flags identical for simple and complex filter graph

Linjie Fu linjie.justin.fu at gmail.com
Mon Aug 2 19:55:19 EEST 2021


On Tue, Aug 3, 2021 at 12:48 AM Michael Niedermayer <michael at niedermayer.cc>
wrote:

> On Sun, Aug 01, 2021 at 04:08:17PM +0200, Nicolas George wrote:
> > Linjie Fu (12021-08-01):
> > > Checked swscale, it uses bicubic by default.
> > > Scale filter sets the flags to bilinear if sws_scale_opt is not
> initialized
> > > by sws_dict.
> > >
> > > We should use the same default flags for both simple and complex filter
> > > graphs, either from swscale, or from scale filter.
> > > If prefer to keep it identical with swscale, we may modify the flags
> in the
> > > scale filter.
> >
> > Thanks. I also think that unless there is a good reason, we should rely
> > on a single default, from the lowest level. So:
> >
> > - remove flags="bilinear" from vf_scale;
> >
> > - remove setting defaults in ffmpeg.
> >
> > Unless somebody can find a good reason for different defaults.

> Michael, it is your commit, 8155bbc944c314fc202d31b0e4a3c77b8efc8dde,
> > that introduced it. Any comments?
> >
> > Also, the current code in libswscale looks nonsensical:
> >
> >         if (dstW < srcW && dstH < srcH)
> >             flags |= SWS_BICUBIC;
> >         else if (dstW > srcW && dstH > srcH)
> >             flags |= SWS_BICUBIC;
> >         else
> >             flags |= SWS_BICUBIC;
> >
> > It was originally 6b3ff6f91a535d6383f41ca7bdf760165dcb6015 with some
> > logic, but it was cancelled by the merge commit
> > 5710f55e490d0c3cf7348b3ca91c8c0fe4274be2.
> >

> "The default is left at bicubic until someone has compared the scalers
> > properly speed and quality wise."
> >
> > But eight years later nobody did.
>
> In case someone tests this, it should test
> 1. human subjective quality in addition to some objective quality
> 2. scaling + compression
> 3. various material, noisy and less crisp material may favor
>    different scalers than super flawless crisp images


Just update the patch set as suggested and  keep the default to "bicubic"
for now,  until we get a better choice, thx.

- linjie


More information about the ffmpeg-devel mailing list