What is 'yuv420p(tv, smpte170m, progressive)'?

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

What is 'yuv420p(tv, smpte170m, progressive)'?

Mark Filipak
... yuv420p(tv, progressive) ... 29.97 fps ...
... yuv420p(tv, smpte170m, top first) ... 29.97 fps ...
... yuv420p(tv, smpte170m, progressive) ... 29.97 fps ...

The top one appears to be soft telecined.
The middle on appears to be hard telecined.
What's the bottom one?

Thanks,
Mark.
--
COVID-19 perspective, 10AM, 18 May 2020:
The U.S. is 4% of world population, 32% of cases, 29% of deaths.
U.S. mortality: Of all cases resolved, 21% have resolved by death.
22 January: The U.S. & S.Korea reported 1st cases on the same day.
6 March: S.Korea (pop: 51 million) had done 140,000, 4-hour tests.
6 March: The U.S. (pop: 331 million) had done 2000, 7-day tests.
12 May: U.S. death count passed total cases that China ever had.
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: What is 'yuv420p(tv, smpte170m, progressive)'?

Carl Eugen Hoyos-2
Am Di., 19. Mai 2020 um 00:29 Uhr schrieb Mark Filipak
<[hidden email]>:
>
> ... yuv420p(tv, progressive) ... 29.97 fps ...
> ... yuv420p(tv, smpte170m, top first) ... 29.97 fps ...
> ... yuv420p(tv, smpte170m, progressive) ... 29.97 fps ...

https://www.google.com/search?q=SMPTE+170M
You did a lot to make me believe that you know much
better what this is than anybody else on this mailing list...

> The top one appears to be soft telecined.
> The middle on appears to be hard telecined.
> What's the bottom one?

Why your question is - as usually - far from understandable
I'd say it is safe to assume the third one is not hard telecined.

Carl Eugen
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: What is 'yuv420p(tv, smpte170m, progressive)'?

Mark Filipak
On 05/18/2020 07:04 PM, Carl Eugen Hoyos wrote:

> Am Di., 19. Mai 2020 um 00:29 Uhr schrieb Mark Filipak
> <[hidden email]>:
>>
>> ... yuv420p(tv, progressive) ... 29.97 fps ...
>> ... yuv420p(tv, smpte170m, top first) ... 29.97 fps ...
>> ... yuv420p(tv, smpte170m, progressive) ... 29.97 fps ...
>
> https://www.google.com/search?q=SMPTE+170M
> You did a lot to make me believe that you know much
> better what this is than anybody else on this mailing list...

I have nothing but questions. The first one is: What do you mean? I don't understand your responses,
Carl Eugen, but I assume they are due to English being a second language. If it's convenient,
respond in German. I'll translate it.

I know what SMPTE 170M is.

>> The top one appears to be soft telecined.
>> The middle on appears to be hard telecined.
>> What's the bottom one?
>
> Why your question is - as usually - far from understandable

I'm sorry, Carl Eugen. Let me rephrase it. What does 'yuv420p(tv, smpte170m, progressive)' indicate?

> I'd say it is safe to assume the third one is not hard telecined.
>
> Carl Eugen

You know that I'm a retired hardware designer -- digital hardware, not analog TV. But I'm not an
ffmpeg programmer. I have to guess what ffmpeg does because I can't seem to get clear cut answers
here. I seem to get only mystery answers.

_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: What is 'yuv420p(tv, smpte170m, progressive)'?

Mark Filipak
In reply to this post by Carl Eugen Hoyos-2
On 05/18/2020 07:04 PM, Carl Eugen Hoyos wrote:

> Am Di., 19. Mai 2020 um 00:29 Uhr schrieb Mark Filipak
> <[hidden email]>:
>>
>> ... yuv420p(tv, progressive) ... 29.97 fps ...
>> ... yuv420p(tv, smpte170m, top first) ... 29.97 fps ...
>> ... yuv420p(tv, smpte170m, progressive) ... 29.97 fps ...
>
> https://www.google.com/search?q=SMPTE+170M
> You did a lot to make me believe that you know much
> better what this is than anybody else on this mailing list...
>
>> The top one appears to be soft telecined.
>> The middle on appears to be hard telecined.
>> What's the bottom one?
>
> Why your question is - as usually - far from understandable
> I'd say it is safe to assume the third one is not hard telecined.
>
> Carl Eugen

Perhaps if I show some metadata, my question/confusion will become clear. Below are actual samples
of 'progressive', 'smpte170m', and 'smpte170m'+'progressive'. The metadata names are compatible with
the MPEG2 specification; the metadata was obtained via VOBEdit; the field metadata for 4 successive
frames is via ffprobe.

Stream ... mpeg2video, yuv420p(tv, progressive) ... 29.97 fps ...
   progressive_sequence:  0
   picture_structure:     3
   top_field_first:       1 > 1 > 0 > 0
   repeat_first_field:    0 > 1 > 0 > 1
   progressive_frame:     1
   MPV says "FPS: 29.970 (specified) 23.976 (estimated)".
Stream ... mpeg2video, yuv420p(tv, smpte170m, top first) ... 29.97 fps ...
   progressive_sequence:  0
   picture_structure:     3
   top_field_first:       1 > 1 > 1 > 1
   repeat_first_field:    0 > 0 > 0 > 0
   progressive_frame:     0
   MPV says "FPS: 29.970 (specified) 29.970 (estimated)".
Stream ... mpeg2video, yuv420p(tv, smpte170m, progressive) ... 29.97 fps ...
   progressive_sequence:  0
   picture_structure:     3
   top_field_first:       1 > 1 > 1 > 1
   repeat_first_field:    0 > 0 > 0 > 0
   progressive_frame:     1
   MPV says "FPS: 29.970 (specified) 29.970 (estimated)".

Top video: Obviously soft telecined; in fact, 23 pull-down.
Middle video: I would say this is interlace camera output.
   But how can it be interlace with 'picture_structure'==3 (i.e. Frame)?
Bottom video: Contrary to what I originally wrote, this one now looks like hard telecine to me.

Am I right? You are the video guru, Carl Eugen, so I ask for confirmation.

If I am right, then my quest is over and I now have a way to automate the best transcode for each
particular type of source video (i.e., relying on 'progressive' versus 'smpte170m' versus
'smpte170m'+'progressive').

Regards,
Mark.
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: What is 'yuv420p(tv, smpte170m, progressive)'?

Carl Eugen Hoyos-2


> Am 19.05.2020 um 06:18 schrieb Mark Filipak <[hidden email]>:
>
> relying on 'progressive' versus 'smpte170m'

I don’t think this distinction makes any sense.

Carl Eugen
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: What is 'yuv420p(tv, smpte170m, progressive)'?

Mark Filipak
On 05/19/2020 02:18 AM, Carl Eugen Hoyos wrote:
>> Am 19.05.2020 um 06:18 schrieb Mark Filipak <[hidden email]>:
>>
>> relying on 'progressive' versus 'smpte170m'
>
> I don’t think this distinction makes any sense.
>
> Carl Eugen

Why do you say that, Carl Eugen?

If ffmpeg defines "progressive" as a video that contains picture-frames or soft telecine, then I
want to simply transcode.

If ffmpeg uses "smpte170m" with "progressive" to denote hard telecine, then I want to detelecine first.

If ffmpeg uses "smpte170m" without "progressive" to denote odd/even scan fields separated by
1/(field_rate) seconds (e.g. telecast video), then I want to either, 1, deinterlace, or 2, bob &
frame double before transcoding.

If all that is correct, and if I can use ffprobe to determine those cases, then I can automate the
transcodes via a script that processes individual source files or whole discs.

I realize there will be cases that require further probing (e.g. mixed sources such as "Making of"
documentaries) or that require special processing (e.g. totally screwed up 'PTS's and/or audio sync
problems), but those cases will be rare and will be evident when played back. I also realize that
fixing up audio & subtitle streams (e.g. naming and setting defaults) will require something like
MKVToolNix (or mkvmerge), but if I can bulk transcode several discs simultaneously, overnight, then
the bulk of the job can be done while I sleep and I can do the fixups in the morning -- remuxing is
fast.

I also realize that some videos use branching and that I have to look at 'mpls' & 'IFO' files
because ffmpeg doesn't support those (or does it?), but I'll know about branching in advance and
transcode them manually via HandBrake.

I value your input, but I need to understand it to make use of it. I hope that I've added enough
distinction that it now makes sense. And I hope you and others will post back.

Thanks, and Regards - Mark.
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: What is 'yuv420p(tv, smpte170m, progressive)'?

Moritz Barsnick
On Tue, May 19, 2020 at 09:56:51 -0400, Mark Filipak wrote:
> If ffmpeg uses "smpte170m" with "progressive" to denote hard
> telecine, then I want to detelecine first.

I thought it was understood that "smpte170m" is a notation for a
colorspace or color encoding (in the widest sense), while "progressive"
says something about frame/field order and relation of frames/fields to
each other.

How does "smpte170m" have anything to do with your
deinterlacing/bobbing/frame doubling?

> I value your input, but I need to understand it to make use of it. I
> hope that I've added enough distinction that it now makes sense. And
> I hope you and others will post back.

Not quite. Carl Eugen's friendly Google link could have explained what
SMTPE 170m (even if the first hits reference "analog[ue]"), but you
claimed "I know what SMPTE 170M is". I don't understand how the two
concepts relate, so you would need to elaborate on that.

Moritz
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: What is 'yuv420p(tv, smpte170m, progressive)'?

Mark Filipak
On 05/19/2020 10:43 AM, Moritz Barsnick wrote:
> On Tue, May 19, 2020 at 09:56:51 -0400, Mark Filipak wrote:
>> If ffmpeg uses "smpte170m" with "progressive" to denote hard
>> telecine, then I want to detelecine first.
>
> I thought it was understood that "smpte170m" is a notation for a
> colorspace or color encoding (in the widest sense), while "progressive"
> says something about frame/field order and relation of frames/fields to
> each other.

SMPTE standard 170M, "Composite Analog Video Signal – NTSC for Studio Applications"

> How does "smpte170m" have anything to do with your
> deinterlacing/bobbing/frame doubling?

Not explicitly. It defines NTSC-M signalling (which includes the use of "c" colorimetry) but also
all the properties of NTSC-M broadcast analog video including features of the carrier and
bandwidths. Broadly it defines alternating-line fields that differ in time by 1/(field_rate) seconds
where field_rate = 60000/1001Hz. I'm not terribly familiar with DVB or ATSC, but ATSC is based on
NTSC-M.

Regarding why "smpte170m" & "progressive" & "top field first" and other notations appear to be
arguments to a supposed yuv420p() function, well, you'll have to ask the developers.

>> I value your input, but I need to understand it to make use of it. I
>> hope that I've added enough distinction that it now makes sense. And
>> I hope you and others will post back.
>
> Not quite. Carl Eugen's friendly Google link could have explained what
> SMTPE 170m (even if the first hits reference "analog[ue]"), but you
> claimed "I know what SMPTE 170M is". I don't understand how the two
> concepts relate, so you would need to elaborate on that.

Carl Eugen didn't need to elaborate because SMPTE 170M *is* the U.S. *analog* TV standard. When
someone cites "SMPTE 170M", they refer to NTSC-M.

_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: What is 'yuv420p(tv, smpte170m, progressive)'?

Carl Eugen Hoyos-2
Am Di., 19. Mai 2020 um 17:51 Uhr schrieb Mark Filipak
<[hidden email]>:

> Regarding why "smpte170m" & "progressive" & "top field first" and other
> notations appear to be arguments to a supposed yuv420p() function,
> well, you'll have to ask the developers.

There is no such function, the encoding properties that are not necessarily
related to each other are not arguments to anything. These properties are
in parentheses because they are - from FFmpeg's point-of-view - less
important for decoding than resolution, aspect ratio and other properties.
"tff" and "bff" do not necessarily imply interlaced (or telecined) content,
while "progressive" can theoretically be interlaced (or hard telecined) it
is very unlikely.

Carl Eugen
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: What is 'yuv420p(tv, smpte170m, progressive)'?

Mark Filipak
On 05/19/2020 12:30 PM, Carl Eugen Hoyos wrote:

> Am Di., 19. Mai 2020 um 17:51 Uhr schrieb Mark Filipak
> <[hidden email]>:
>
>> Regarding why "smpte170m" & "progressive" & "top field first" and other
>> notations appear to be arguments to a supposed yuv420p() function,
>> well, you'll have to ask the developers.
>
> There is no such function, the encoding properties that are not necessarily
> related to each other are not arguments to anything. These properties are
> in parentheses because they are - from FFmpeg's point-of-view - less
> important for decoding than resolution, aspect ratio and other properties.

> "tff" and "bff" do not necessarily imply interlaced (or telecined) content,

Then why are they reported by ffprobe & ffmpeg, eh?

> while "progressive" can theoretically be interlaced (or hard telecined) it
> is very unlikely.

That statement seems contrary to the MPEG standard.

How well does ffmpeg conform to the definitions found in the MPEG specification? In particular:

"Pictures to be coded can be either interlaced or progressive."

Regarding interlace,
"Intro. 4.1.2  Coding interlaced video
"Each frame of interlaced video consists of two fields which are separated by one field-period."
That would appear to preclude hard telecine because for the combed frames, the two fields are
separated by one frame-period, not one field-period. Thus, the hard telecine frames that exhibit
combing are combed, not interlaced. I know that most people say "interlace", but that's just a point
of confusion.

"3.64 frame: A frame contains lines of spatial information of a video signal. For progressive video,
these lines contain samples starting from one time instant and continuing through successive lines
to the bottom of the frame. For interlaced video, a frame consists of two fields, a top field and a
bottom field. One of these fields will commence one field period later than the other."

Regarding progressive,
"3.103 progressive: The property of film frames where all the samples of the frame represent the
same instances in time."

Thus, I conclude that the combed frames in a hard telecine are not interlaced and, by the preceding
definition, are not progressive, either. Anyone who knows this stuff knows that without thinking too
hard about it, but people who are new to this technology are greatly confused by references to
interlace when the situation is not an interlace situation, or to progressive when the situation is
not a progressive situation. It impacts the interpretation of deinterlace, what deinterlace does,
when to apply it, and what to expect.

The stuff above is important because if the structure of a transcode is wrong, then all the
smoothing filters or whatnot filters will not achieve what people want to achieve.
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: What is 'yuv420p(tv, smpte170m, progressive)'?

Carl Eugen Hoyos-2
Am Di., 19. Mai 2020 um 21:22 Uhr schrieb Mark Filipak
<[hidden email]>:

> > while "progressive" can theoretically be interlaced (or hard
> > telecined) it is very unlikely.
>
> That statement seems contrary to the MPEG standard.

I have already explained to you that when we use term "interlaced",
this is not related to the MPEG standard (note to interested readers:
There is no "MPEG standard").

[Completely irrelevant stuff removed]

> The stuff above is important because if the structure of a transcode
> is wrong, then all the smoothing filters or whatnot filters will not
> achieve what people want to achieve.

Funny that you mention that:
Many people are very happy with the filters.

Carl Eugen
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: What is 'yuv420p(tv, smpte170m, progressive)'?

Mark Filipak
On 05/19/2020 05:50 PM, Carl Eugen Hoyos wrote:

> Am Di., 19. Mai 2020 um 21:22 Uhr schrieb Mark Filipak
> <[hidden email]>:
>
>>> while "progressive" can theoretically be interlaced (or hard
>>> telecined) it is very unlikely.
>>
>> That statement seems contrary to the MPEG standard.
>
> I have already explained to you that when we use term "interlaced",
> this is not related to the MPEG standard (note to interested readers:
> There is no "MPEG standard").

Like almost everyone, rather than pay Swiss francs, I downloaded ITU-T H.262
(https://www.itu.int/rec/T-REC-H.262) which is the free version of ISO/IEC 13818-2 and is the only
part of interest (and that includes detailed descriptions of the differences between H.262 and
ISO/IEC 13818-2). The quotations I previously listed are from ITU-T H.262.

Nonetheless, the Motion Picture Experts Group certainly seems to think it has standards
(https://mpeg.chiariglione.org/who-we-are):
"Welcome to the ISO/IEC JTC 1/SC 29/WG 11 web site also know as MPEG, the Moving Picture Experts
Group. The MPEG acronym is also used to indicate a suite of ISO/IEC digital media standards
developed by this JTC 1 Working Group."

ISO/IEC 13818-1:2019 (https://www.iso.org/standard/75928.html)
Information technology — Generic coding of moving pictures and associated audio information — Part
1: Systems

ISO/IEC 13818-2:2013 (https://www.iso.org/standard/61152.html)
Information technology — Generic coding of moving pictures and associated audio information — Part
2: Video

ISO/IEC 13818-3:1998 (https://www.iso.org/standard/26797.html)
Information technology — Generic coding of moving pictures and associated audio information — Part
3: Audio

ISO/IEC 13818-4:2004 (https://www.iso.org/standard/40092.html)
Information technology — Generic coding of moving pictures and associated audio information — Part
4: Conformance testing

ISO/IEC TR 13818-5:2005 (https://www.iso.org/standard/39486.html)
Information technology — Generic coding of moving pictures and associated audio information — Part
5: Software simulation

ISO/IEC 13818-6:1998 (https://www.iso.org/standard/25039.html)
Information technology — Generic coding of moving pictures and associated audio information — Part
6: Extensions for DSM-CC

ISO/IEC 13818-7:2006 (https://www.iso.org/standard/43345.html)
Information technology — Generic coding of moving pictures and associated audio information — Part
7: Advanced Audio Coding (AAC)

ISO/IEC 13818-9:1996 (https://www.iso.org/standard/25434.html)
Information technology — Generic coding of moving pictures and associated audio information — Part
9: Extension for real time interface for systems decoders

ISO/IEC 13818-10:1999 (https://www.iso.org/standard/27044.html)
Information technology — Generic coding of moving pictures and associated audio information — Part
10: Conformance extensions for Digital Storage Media Command and Control (DSM-CC)

ISO/IEC 13818-11:2004 (https://www.iso.org/standard/37680.html)
Information technology — Generic coding of moving pictures and associated audio information — Part
11: IPMP on MPEG-2 systems

_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: What is 'yuv420p(tv, smpte170m, progressive)'?

Mark Filipak
In reply to this post by Carl Eugen Hoyos-2
On 05/19/2020 05:50 PM, Carl Eugen Hoyos wrote:

> Am Di., 19. Mai 2020 um 21:22 Uhr schrieb Mark Filipak
> <[hidden email]>:
>
>>> while "progressive" can theoretically be interlaced (or hard
>>> telecined) it is very unlikely.
>>
>> That statement seems contrary to the MPEG standard.
>
> I have already explained to you that when we use term "interlaced",
> this is not related to the MPEG standard

Okay, then what does "progressive" mean? What does "smpte170m" mean? What does
"smpte170m"+"progressive" mean?

_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".