I have a PAL MPEG-2 576i 25fps raw capture (presumably either straight from satellite or a DVD recorder) that I would like to encode to AVC. I'd like to deinterlace the file during compression with either ffmpeg or some other tool (maybe a frontend like Handbrake?).

What deinterlacing filter should I use with PAL 576i raw footage?

2 Answers 2


I don't agree that the other answer is a good idea in general, because "-vf yadif" will drop half the frames, thus resulting in a poor substitute of the original footage. Here is the thing: 576i25 means that you have 50 interlaced fields per second, rendering motion of objects fluid and natural to the human eye. You can get a high speed video at 50 frames per second easily by means of this:

ffmpeg -i in.mpg -vf yadif=1 out.mp4

Please note the difference, i.e. yadif=1 is specified. If you don't give a value, the yadif filter defaults to yadif=0 which cuts the frame rate of TV footage in 2.

Some people think that, because 25 fps is close to the theatrical movie speed (24p), the resulting video should look better, right?. Big mistake. The director of any project for TV had in mind that the target medium was TV and acted accordingly, using different techniques and taking a different artistic approach, allowing for instance a lot of fast movement, pan and zoom, or a hand-held camera to give a more subjective point of view. Also, a higher shutter speed is usual in TV without producing the nasty stroboscopic look because the frame rate is high. But later, when that footage gets converted to half frame rate the result is not "cinema look" but simply bad TV footage with stroboscopic movement.

  • Thanks for the good answer. 👍 So many articles on the web seem to get this wrong! To achieve the same thing in Handbrake, in the Filters tab you need to choose Deinterlace: Yadif and Deinterlace Preset: Bob. (Or you may also be able to choose Decomb + Bob, I'm not sure which is technically better.)
    – Simon East
    Aug 12, 2019 at 4:46
  • (Update to my previous comment: When using Decomb (as opposed to Yadif) it auto-detects the frames where interlacing is present and deinterlaces only those, although beware that it won't always get it correct.)
    – Simon East
    Aug 12, 2019 at 4:59
  • @SimonEast so does yadif (add deint=1).
    – Gyan
    Aug 12, 2019 at 17:42

The same as with any interlaced footage: yadif

ffmpeg -i in.mpg -vf yadif out.mp4

(I've skipped the encoding parameters)

  • Thanks, I'll test this answer as soon as I get back to my work machine. Are there no special parameters to pass in to apply different filters? I've done some compression before but am generally new to yadif. What if the source was NTSC or film? Wouldn't the interlacing be different? How does yadif know the difference?
    – JAL
    Nov 28, 2016 at 5:19
  • The video stream with its context (resolution, rate..etc) is passed along to a filter when executed.
    – Gyan
    Nov 28, 2016 at 5:41
  • If the source was film, it wouldn't be interlaced. The pulldown applied during telecine (24->30) can be reversed using the detelecine filter.
    – Gyan
    Nov 28, 2016 at 5:45
  • 1
    @JAL Other deinterlacing filters to try are nnedi and w3fdif.
    – llogan
    Nov 28, 2016 at 18:35
  • 1
    @Mulvya I know you are an expert on ffmpeg, but I think your advice here may not be good, because you are giving the message that it is always the right thing to do to demote a 50 Hz footage to 25 Hz. Depending on the shutter speed and the amount of pan/zoom, the resulting 25 Hz can look really crappy. The yadif filter alone drops half of the fields. Without any more information, the OP is safer with -vf "yadif=1" that generates 50p from 50i, and not 25p like in your code. I have nothing to say if the footage is a TV render of a classic movie, but in any other case, 50i to 25p is disastrous.
    – Mephisto
    Dec 6, 2017 at 20:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.