Double deinterlace with full motion - ffmpeg + yadif 50i-50p 60i-60p

It turns out that the video I was attempting to double-deinterlace was actually 25p that was encoded into a 50i video file in order to conform to an older AVCHD standard. Apparently this is a common practice for tapeless cameras from the mid-late 2000s. So of course when I attempt to deinterlace I only end up with, at most, the original source 25 frames per second because there is no motion between the fields.

f:v yadif=1 does exactly what is described - it takes true interlaced 50i footage and turns it into astonishingly high-quality 50p output using a motion-weighted bob algorithm, just the same as the "yadif 2x" realtime filter does in VLC. The output is of nearly double the effective vertical resolution over frame-discarded deinterlace. It is now one of my favorite video filters because practically nothing else appears to offer this capability.


I used this command:

ffmpeg -i source_50i.MTS -aspect 1920:1080 -vf yadif=1,scale=1920:1080 -c:v libx264 -preset fast -profile:v high -crf 23 -ac 2 -strict experimental -c:a aac -b:a 96k -movflags +faststart -y result_50p.mp4

and it worked fine!

I didn't check if the yadif method good or not good quality, but really created from 50i MTS to 50p mp4 from a camcorder source file. The source file was 19 MB and the result was 21MB.