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

Mark Filipak (ffmpeg) markfilipak at bog.us
Sat Oct 3 18:44:13 EEST 2020

On 10/01/2020 10:42 PM, Jim DeLaHunt wrote:
> On 2020-10-01 15:37, Mark Filipak (ffmpeg) wrote:
>> On 2020-10-01 15:30, Jim DeLaHunt wrote:
>>> It is an improvement that you are now stating the context, "MPEG-PS binary metadata values". You 
>>> omitted that context before. But you continue to put #2 in the glossary entry, and I continue to 
>>> be of the opinion that the glossary is the wrong place for the content.   The details of the 
>>> table formatting of #2 is a side issue in this discussion.
>> What is #2?
> "#1" and "#2" is your notation, in a message I quoted in my reply. You elided that quote in your 
> reply.

Ah! Thank you, Jim. ...senior moment :-)


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?

What if you woke up and found yourself in a police state?
African-Americans wake up in a police state every day.

What if you woke up and found yourself in a police state?
African-Americans wake up in a police state every day.

More information about the ffmpeg-user mailing list