[FFmpeg-user] Interlaced x264
Carl Eugen Hoyos
cehoyos at ag.or.at
Tue Apr 5 12:26:27 CEST 2016
Anatol <anatol2002 <at> gmail.com> writes:
> Following are idet results of my file:
Which file? The input or output file? Of which operation?
Sorry if my question was unlear.
> [Parsed_idet_0] Repeated Fields: Neither: 903 Top: 0
> Bottom: 1
> [Parsed_idet_0] Single frame detection: TFF: 0 BFF: 0
> Progressive: 220 Undetermined: 684
> [Parsed_idet_0] Multi frame detection: TFF: 0 BFF: 0
> Progressive: 902 Undetermined: 2
> While those are idet of a sample file that was generated from
> the same source and with similar encoding params (more or less),
> but with PAFF/TFF:
Which FFmpeg command created the file that idet detects as TFF?
Please understand that there are two *completely* unrelated
definitions related to your question:
I consider a file "interlaced" if horizontal motion, if
checked visually, leads to ugly combing effects.
Mediainfo cannot detect if a file is "interlaced" (according
to my above definition) because you have to inspect the
frames, usually visually but idet can do this for you.
Another definition of "interlaced" is the used encoding
type: Either the whole frame was encoded "progressively" or
every frame was encoded as two fields (interlaced, PAFF) or
(the following is said to produce better compression) a
more sophisticated method that also leads to "interlaced"
encoding as detected by Mediainfo is used.
This second definition of "interlaced" applies to all SD
DVB streams I know, no matter if they contain live
(really interlaced) content or 24/25fps movie or TV content
that has no combing artefacts, no matter how interlaced it
is supposed to be.
Or to say it differently: You can use interlaced encoding
for progressive input material (as you did in your example)
but the output will still be progressive although Mediainfo
will claim it is interlaced. If you used PAFF, the encoding
efficiency is expected to be (slightly) worse than if you
had used progressive encoding. For MBAFF, this disadvantage
may not exist but the "interlaced" output would still be
progressive because the input was progressive.
If you use progressive encoding for interlaced input you
need a (very) much higher bitrate to get acceptable quality.
You may want to look at the interlace filter but if your
input is <50fps, you won't be happy with the output.
If you absolutely (really) want to get a few ugly arefacts
in your input stream to make somebody happy, try the phase
More information about the ffmpeg-user