[FFmpeg-user] Question about macroblocks in soft telecined video

Carl Eugen Hoyos ceffmpeg at gmail.com
Sun Sep 6 19:07:29 EEST 2020

Am So., 6. Sept. 2020 um 09:28 Uhr schrieb Mark Filipak
<markfilipak.windows+ffmpeg at gmail.com>:


> Soft telecined video is actually 23/1.001 frames per second of video
> even though the metadata tells the decoder to produce 30/1.001 FPS.

On the FFmpeg user mailing list, "decoder" and "metadata" have
relatively strict meanings. Given these meanings, what you write
is simply wrong.
(Apart from the fact that telecined content does not necessarily
have a framerate of 24000/1001, the whole point is that it can
have any framerate, in the case of ntsc crts any framerate smaller
than 30000/1001.)

> Of course, the metadata is the key to how the stream 'teaches' the
> decoder how to telecine.

But since we don't want to telecine, this is irrelevant: We don't have
access to an ntsc crt. If you decide to telecine, this cannot be done
in the (FFmpeg) decoder, you need a (FFmpeg) video filter.

> MPV is smart enough to recognize 23/1.001 FPS data and to ignore
> the metadata and to play at 23/1.001 FPS.

> Ffmpeg can do the same thing (and thereby eliminate the need to
> transcode)

Telecine and transcoding do not depend on each-other so this is
highly misleading.

> but the ffmpeg user has to tell ffmpeg to do it.

No, in general, this is not true.
(Command line and complete, uncut console output missing.)

A few random remarks:
You provided some definitions (actually claims) in your email without
explaining in which domain you believe they are valid. They are not
valid in the general case (and not valid in most domains).
I believe you somewhere mention that you want to detect soft-
telecined content. This is trivial and is not related to macroblocks.
Your definition of our different interpretations of "interlaced" is
completely backwards and wrong: A digital video stream can be
encoded (!, not decoded as you imply) using encoding techniques
meant for interlaced content. The decoder has to detect this and
comply with it but this has no relevance for a user (it for many years
was very important for FFmpeg developers). For display, it is
very important to know if the actual content is interlaced or not.
Most video players take the first information to decide but this is
not valid in general (or, using your wording, "sloppy").
In both views, this is not necessarily related to macroblocks.

Carl Eugen

More information about the ffmpeg-user mailing list