[FFmpeg-devel] [PATCH 4/4] avformat/mxfenc: add some missing content package rates
Baptiste Coudurier
baptiste.coudurier at gmail.com
Tue Mar 3 18:03:21 EET 2020
Hey Marton,
> On Mar 2, 2020, at 5:18 PM, Marton Balint <cus at passwd.hu> wrote:
>
>
>
> On Mon, 2 Mar 2020, Baptiste Coudurier wrote:
>
>> Hey guys,
>>
>>
>>> On Mar 2, 2020, at 12:57 PM, Marton Balint <cus at passwd.hu> wrote:
>>> On Mon, 2 Mar 2020, Tomas Härdin wrote:
>>>> fre 2020-02-28 klockan 10:30 +0100 skrev Marton Balint:
>>>>> On Fri, 28 Feb 2020, Carl Eugen Hoyos wrote:
>>>>> > Am Fr., 28. Feb. 2020 um 01:38 Uhr schrieb Marton Balint <cus at passwd.hu>:
>>>>> > > Fixes ticket #8523.
>>>>> > > > > Signed-off-by: Marton Balint <cus at passwd.hu>
>>>>> > > ---
>>>>> > > libavformat/mxf.c | 13 +++++++++++++
>>>>> > > 1 file changed, 13 insertions(+)
>>>>> > > > > diff --git a/libavformat/mxf.c b/libavformat/mxf.c
>>>>> > > index 14056647c5..987410258a 100644
>>>>> > > --- a/libavformat/mxf.c
>>>>> > > +++ b/libavformat/mxf.c
>>>>> > > @@ -135,10 +135,23 @@ static const MXFContentPackageRate mxf_content_package_rates[] = {
>>>>> > > { 2, { 1, 24 } },
>>>>> > > { 3, { 1001, 24000 } },
>>>>> > > { 4, { 1, 25 } },
>>>>> > > + { 6, { 1, 30 } },
>>>>> > > { 7, { 1001, 30000 } },
>>>>> > > + { 8, { 1 , 48 } },
>>>>> > > + { 9, { 1001, 48000 } },
>>>>> > > { 10, { 1, 50 } },
>>>>> > > { 12, { 1, 60 } },
>>>>> > > { 13, { 1001, 60000 } },
>>>>> > > + { 14, { 1, 72 } },
>>>>> > > + { 15, { 1001, 72000 } },
>>>>> > > + { 16, { 1, 75 } },
>>>>> > > + { 18, { 1, 90 } },
>>>>> > > + { 19, { 1001, 90000 } },
>>>>> > > + { 20, { 1, 96 } },
>>>>> > > + { 21, { 1001, 96000 } },
>>>>> > > + { 22, { 1, 100 } },
>>>>> > > + { 24, { 1, 120 } },
>>>>> > > + { 25, { 1001, 120000} },
>>>>> > > Are these still the only supported frame rates?
>>>>> These are the *package* rates that SMPTE 326M defines (technically it defines the /1.001 version of 25, 50, 75 and 100 fps, but those are not used).
>>>> For the record, this is section 7.2 Content package rate in SMPTE 326M-
>>>> 2000. What is not initially obvious is that mxf_content_package_rates-
>>>>> rate is bits b5..b0. A comment about this would be nice, I don't like
>>>> magical tables in the MXF codebase not being justified by references :)
>>>> You could technically have 25/1.001, 50/1.001, 75/1.001 and 100/1.001
>>>> too. But it's probably wise not to do that.
>>> I am not sure, maybe we should add all possible values, even if they are uncommon. After all I found out that for example 50/1.001 is actually supported for mkvmerge:
>>
>> It seems like if we were to do that, we would open the door to allowing essences that don’t support the package rate and we should definitely NOT do that.
>
> I am not sure I understand, there are two different things to consider:
>
> 1) support every frame rate which can be exactly represented by a package rate as defined in SMPTE 326M, even uncommon ones like 50/1.001.
>
> 2) support all frame rates and write 0 (undefined) as the package rate for frame rates which cannot be exactly represented
>
> You are voting against 2), right? 1) should not cause any "compatibility" issues as far as I see.
I’m against 1 and 2 actually. We should only explicitly support rates and validate that we are creating files that are compatible with other equipment and software that support them officially.
—
Baptiste
More information about the ffmpeg-devel
mailing list