[FFmpeg-user] Interlaced Scaling

Mark Himsley mark at mdsh.com
Thu Apr 26 21:53:26 CEST 2012

On 26/04/2012 16:14, Robert Nagy wrote:
> I'm trying to figure out interlaced scaling and would appreciate some
> advice.
> As far as I have understood there are two ways to do interlaced scaling.
> Deinterlace, scale and then re-interlace
> -vf yadif=1:-1,scale=w:h,tinterlace=4
> and then "interlace-aware scaling"
> -vf scale=w:h:interl=1
> What are the pros and cons of these respectively? I guess the first option
> would result in fields "bleeding" into each other?

Don't guess - test.

Here is a quick précis of the two methods.

The former, deinterlace-scale-interlace, gives:

* a very high quality scale with no "bleeding" (whatever one can 
interpret bleeding as).

* because of a bug in the FFmpeg filter chain (currently being worked 
on) the last frame will be missing from your output file.

* if you have high-frequency vertical detail in your source, scale it 
down, and display the output on an interlace displaying monitor (and I 
include TFT televisions if correctly set-up) then you will end up with 
video with horrible interlaced twitter.

The latter, using the interlaced scaler, gives:

* if your video includes effectively progressive material (such as a 
locked-off shot, or even a person sitting still) and you scale down, 
then the vertical resolution of your output will be half what you might 
hope for, which is particularly noticeable on near horizontal lines.

> How does "interlace-aware scaling" conceptually work? From what I guess, it
> is the same as splitting an interlaced frame into two half height frames
> (for each field), scale that, and then re-interlace?

The convolution filters in the interlaced scale filter calculate from 
the odd lines and even lines of the source file separately as they 
generate the odd lines and even lines of the output file.


More information about the ffmpeg-user mailing list