[FFmpeg-user] Glossary: d-NTSC & d-PAL

Jim DeLaHunt list+ffmpeg-user at jdlh.com
Sun Oct 4 03:09:01 EEST 2020

On 2020-10-03 08:44, Mark Filipak (ffmpeg) wrote:

> The text two paragraphs below was my original response. I include it 
> just for the sake of completeness and for Jim's benefit, however, 
> things have... progressed (in a way).
> My goal (for a long time) is to differentiate hard telecine from 
> pseudo NTSC (which I'm calling d-NTSC). I thought I'd found the 
> differentiation: The combined values of 'progressive_sequence' and 
> 'progressive_frame' MPEG-PS metadata. I was wrong. The video that I 
> thought was hard telecined was actually soft telecined. When I 
> realized my error, I revised my response:
> "'progressive_sequence' = 0 & 'progressive_frame' = 1 means that the 
> frame is soft telecined",
> and only then realized that I'd screwed the pooch: that I still had no 
> way to differentiate hard telecine from d-NTSC. I'm withdrawing the 
> d-NTSC & d-PAL entries and will rework them when I can, in fact, 
> differentiate d-NTSC & d-PAL from hard telecine. (sigh!)
> If I understand your point, it is that the definition is followed by a 
> table (of sorts) that you think is content and not a suitable part of 
> the definition. Okay, let me try to explain and maybe you can suggest 
> a better way, eh?
> The 'table' isn't really a table. It's the metadata values that are 
> necessary for the d-NTSC frame to be a d-NTSC frame. I provide it so 
> that readers can verify that, "Yes, indeed, I'm looking at a d-NTSC 
> frame". The big clue is that 'progressive_sequence' (from the 
> sequence_extension metadata structure) and 'progressive_frame' (from 
> the picture_coding_extension metadata structure) are both zero. My 
> friend, it took me months to figure that out because H.262 doesn't put 
> things together. Here's the straight dope:
> 'progressive_sequence' = 1 means the frame is a picture.
> 'progressive_sequence' = 0 & 'progressive_frame' = 0 means that the 
> frame is d-NTSC or d-PAL.
> 'progressive_sequence' = 0 & 'progressive_frame' = 1 means that the 
> frame is soft telecined.
> Without that info, you can't tell d-NTSC from hard telecined unless 
> you single step through the video frames and know what to look for.
> The other metadata in the 'table' is the rest of the stuff that 
> distinguishes d-NTSC from d-PAL: width, height, aspect ratio, etc.
> So, you see, the metadata has to be part of the definition, or at 
> least that's what I think.
> Do you have a better idea? 

When you say, "My goal (for a long time) is to differentiate hard 
telecine from pseudo NTSC (which I'm calling d-NTSC).… [using] MPEG-PS 
metadata", it sounds to that your goal is to describe different content 
structures in the context of an MPEG-PS stream. The right document for 
doing this work is a guide to or explanation of MPEG-PS stream contents. 
As part of describing a content structure, it is probably quite helpful 
to list the metadata values which identify that structure. But this 
document is not a glossary.

It also sounds to me like you are coining the term "d-NTSC" to name one 
kind of content structure. It is perfectly in scope to define names in 
such a guide or explanation.  But it sounds like you aren't claiming 
that the term "d-NTSC" is [also] defined by some other document, such as 
the H.262 specification. Fine.

In the glossary, I would expect to see a term, e.g. "d-NTSC", and then 
one or more entries describing meanings of that term, each with an 
explanation of the term and a cross-reference to where the term is 
defined or used in an important way, e.g. to "Mark's Guide to MPEG-PS 
Stream Content Structures", section X.Y, "pseudo-NTSC content".

Or simply put, what you are drafting in this thread is an entry in 
Mark's Guide to MPEG-PS, not a glossary entry. In my humble opinion.

       —Jim DeLaHunt

More information about the ffmpeg-user mailing list