[FFmpeg-user] decomb versus deinterlace

Mark Filipak markfilipak.windows+ffmpeg at gmail.com
Sun Apr 19 01:45:37 EEST 2020

On 04/18/2020 05:35 PM, Jim DeLaHunt wrote:
> On 2020-04-18 13:06, Mark Filipak wrote:
>> Forgive me if this subject seems pedantic to you. I think it's important and the source of a lot 
>> of misunderstanding.
>> As always, correct me if I'm wrong.
>> According to the MPEG spec, interlace relates to fields that are temporally offset by 1/60th 
>> second (NTSC) or 1/50th second (PAL) that typically originate as telecast streams.
>> Deinterlacing is conversion of the i30-telecast (or i25-telecast) to p30 (or p25) and, optionally, 
>> smoothing the resulting p30 (or p25) frames.
>> Combing is fields that are temporally offset by 1/24th second (or 1/25th second) resulting from 
>> telecine up-conversion of p24 to p30 (or p25).
>> Decombing is smoothing combed frames.
> I like this as an attempt to explain terms simply but clearly and unambiguously. Thank you!

You're very kind. Thank you.

> It would be even better if you would define "frame" and "field" as part of this ...

I actually prefer the words
"field" exclusively for a single telecast scan (thus: "odd scan", "even scan"),
"picture" (as "picture" is defined in the MPEG spec) in lieu of "frame" for a single (progressive), 
full-height image, and
"half-picture" in lieu of "field" for half-height images that are extracted from pictures on an 
odd-/even-line basis (thus: "odd half-picture", "even half-picture").
I believe that the above definitions are consistent with the MPEG spec, though even in the spec the 
terms "scan" and "field" are used somewhat interchangeably.

To me, fields are containers for encoded scans & half-pictures, and frames are containers for 
encoded pictures.

I must confess that I'm ignorant of the internal structures of fields and frames. I have fairly deep 
understanding of MPEG PES streams:

PES Header formats & PES Stream formats & PES Flags & PES Header Extensions
- MPEG Video Sequences & MPEG Sequence Headers & MPEG Sequence Extensions
- - GOPs & User Data & MPEG Picture Headers & MPEG Picture Coding Extensions
- - - MPEG Frames.

However, the insides of MPEG Frames is unknown to me.

For example, are fields that contain encoded scans stored differently from fields that contain 
encoded half-pictures? I suspect not, but I don't really know. The reason I suspect not is a 
logically historical reason: Scans predate soft telecine. Soft telecine was not defined until late 
summer 1999 and was invented to shoehorn progressive content into the existing interlace container 
(i.e., field) formats. So, for compatibility, I imagine that fields that contain scans and fields 
that contain half-pictures are indistinguishable except at the PES Header level.

For example, are field structures stored inside frame structures?

For example, if a video is field-based, are there really even frame structures? Or do GOPs consist 
of just a serial string of field structures?

More information about the ffmpeg-user mailing list