[FFmpeg-user] Changing scan type (progressive<->interlaced) without reencoding.

Nicolas Gaullier nicolas.gaullier at cji.paris
Tue Dec 6 11:56:17 EET 2022

>As the title says, is this at all possible? My concern is mostly with mpeg2 and h264 that have content of one type but encoded/marked as another.
In a general manner, amongst other things, interlaced encoding involves interlaced DCT, so this is not possible because it is not a simple "mark".
In some very limited scenarios, it is possible to tag interlaced content as progressive-segmented frame (PsF). Take mpeg2/h264: I have never seen any implementation (neither encoder or decoder) of the flags that actually allow to mark progressive content, so PsF is pure theory here. So today, for example, only "progressive sequence" mpeg2 is considered progressive : you have to transcode.

>Most notably content that has progressive video but stored interlaced.
"encoded" rather than "stored", but yes, it is indeed very commonplace.
Nevertheless, be very very carefull, it is also very very commonplace to have interlaced branding/finishing on progressive content, so it can end up with  1 hours of pure progressive content with 3x period of 10s where an interlaced title appear or disappear in a corner... This is why deinterlacing filters are both so useful and so tricky.


More information about the ffmpeg-user mailing list