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

Carl Eugen Hoyos ceffmpeg at gmail.com
Sun Sep 6 22:31:12 EEST 2020

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

> > (Apart from the fact that telecined content does not necessarily

Sorry for the typo here, this should have said "soft telecined".

> > have a framerate of 24000/1001, ...
> That's an ad homonym attack.


> I didn't say "telecined". I said "soft telecined". *Soft telecined*
> frames *do* have an FPS of 24/1.001.

Not necessarily.

> >... the whole point is that it can
> > have any framerate, in the case of ntsc crts any framerate smaller
> > than 30000/1001.)
> CRTs? What does the display device have to do with anything?

Because they are the reasons soft-telecine in vob streams was
invented - you should ignore the feature if you don't use one.

> (And NTSC CRTs definitely do have 30/1.001 Hz frame rate.

Yes, that's my point (although soft telecine was also necessary
for pal tv's if your input was < 25fps).

> Solely 30/1.001 Hz frame rate. Otherwise, they're not NTSC.)
> >> 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.
> You continue to fail to understand the issue.

No, you fail to understand that this is the FFmpeg user mailing list.

> I'm addressing undecoded video, not decoded video. Why
> am I addressing undecoded video? Because that's what's on a
> DVD or BD.

> You don't care about that because you (ffmpeg developers)

(The FFmpeg developers care a lot about all these things. But
they are mostly off-topic on this mailing list.)

> get undecoded frames from the decoder.

No. We provide these decoded frames to our users.

> We (ffmpeg users) need to
> detect what's on discs because that's important.

Which you can do to some extent.

If you really believe that there is an information missing, please
provide a sample stream and tell us what the command line
utility does not tell you about it (note though that in the past many
developers argued that we should print less information, not more).

> >> 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.
> They do depend on each other. Users transcode soft telecined video to
> get 24FPS because they think that's what they need to do. Instead, all
> they need to do is force 24/1.001

This does not sound correct to me.

> -- at least, that's what I think, but I'm unsure because ffmpeg is so
> poorly documented.

That may or may not be true but I wonder how it is related.

> >> 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.)
> I don't know how to respond to that. Console output doesn't have
> anything to do with adequate documentation.

No, only with posts on this mailing list.

> The issue isn't a command line mistake. The issue is: How does ffmpeg work?

I can often answer this question for specific use cases.

> > A few random remarks:
> > You provided some definitions (actually claims) in your email without
> > explaining in which domain you believe they are valid. ...
> The 'domain' is undecoded video as found on DVDs & BDs.

These are two (very) different domains with very different (and
incompatible) definitions.

> >... 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.
> So-called "progressive" video -- I prefer "concurrent" -- is contained in interlaced data structures
> within the macroblocks. Hard telecined video (which may or may not be concurrent depending on
> whether it comes from cinema or from TV) is contained in deinterlaced data within the macroblocks
> that the decoder interlaces to make frames as part of the decoding process. My question has to do
> with whether, for soft telecine, the fields in the chrominance blocks of undecoded macroblocks is
> deinterlaced or interlaced.

As said before: I don't think this makes sense (not even for mpeg2 video).

> > Your definition of our different interpretations of "interlaced" is
> > completely backwards and wrong: ...
> If you read H.222 and H.262 carefully

Given that reading these two is uncommon on the development mailing list
(longtime bugs that nobody wants to attack depend on them), I fear we will
not be able to discuss them here.

Carl Eugen

PS: I hope people will forgive me - contrary to my first mail, this one
does contain an ad-hominem attack.

More information about the ffmpeg-user mailing list