[FFmpeg-devel] [PATCH] allow high audio sample rates in mov/mp4 muxer

Alex Converse alex.converse
Mon Jun 14 05:01:58 CEST 2010


On Sun, Jun 13, 2010 at 9:16 PM, Justin Ruggles
<justin.ruggles at gmail.com> wrote:
> Michael Niedermayer wrote:
>
>> On Sun, Jun 13, 2010 at 12:52:29PM -0400, Justin Ruggles wrote:
>>> Baptiste Coudurier wrote:
>>>
>>>> On 6/12/10 8:26 AM, Justin Ruggles wrote:
>>>>> Baptiste Coudurier wrote:
>>>>>
>>>>>> On 06/10/2010 01:27 PM, Justin Ruggles wrote:
>>>>>>> Alex Converse wrote:
>>>>>>>
>>>>>>>> On Thu, Jun 10, 2010 at 1:54 PM, Justin Ruggles
>>>>>>>> <justin.ruggles at gmail.com> ? wrote:
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> This patch allows the use of sample rates> ? 65535 in mov/mp4 (e.g. 96kHz
>>>>>>>>> and 192kHz). ?I don't know where to find this info in the MP4 spec, but
>>>>>>>>> this is how the MPEG-4 ALS Reference Software does it.
>>>>>>>>>
>>>>>>>> It might also be a good idea to look at the AAC 88.2/96 kHz test vectors.
>>>>>>> Well, it seems that it shouldn't be 0, but should be the actual sample
>>>>>>> rate using more than 16 bits. ?I guess the reserved value that follows
>>>>>>> is no longer reserved. ?I'll send a new patch soon.
>>>>>> Humm, I don't feel confident about this.
>>>>>> Can we ask ISO about this ?
>>>>> Ok, so after some more research, it looks like the reference samples and
>>>>> the specs are in agreement that the sample rate field is 16.16 fixed
>>>>> point and that only the low 16 bits of the sample rate are written.
>>>> Can you please quote the specs ? Just for reference.
>>>
>>> ISO 14496-12 3rd Ed. 2008
>>> 8.5.2.3 ?Sample Description Box, Semantics
>>> SampleRate is the sampling rate expressed as a 16.16 fixed-point number
>>> (hi.lo)
>>
>> Numbers 0.0 - 65535.65535 can be expressed as 16.16 fixed point.
>> Numbers outside this range cannot be expressed as fixed point unless you
>> define one of the used concepts like "expressed" differently from common
>> sense.
>> Thus it follows that in ISO 14496-12 3rd Ed. 2008 the existence of a
>> Sample Description Box in a file is incompatible with sampling rates
>> beyond 65535.65535.
>>
>> Of course this conclusion can only be drawn if we take the quoted text
>> litterally and assume the spec is written by a person who used exact
>> language.
>> I tend toward asking ISO as well and also to point out that the spec is
>> unclear either way.
>
> The spec is certainly unclear and some ISO references differ:
>
> - The reference samples for 96kHz AAC write a value of 30464.0000, which
> is the low 16 bits of 96000.
>

I'm seeing 0 for al0[0-2]_96.mp4.
http://streams.videolan.org/Mpeg_Conformance/ftp.iis.fhg.de/mpeg4audio-conformance/compressedMp4/al00_44.mp4

> - The reference encoder for ALS writes 0 if the sample rate is > 65535,
> otherwise it writes the actual sample rate. ?This most recent version of
> the ALS reference encoder is only a few months old.
>
> So Who/Where do we ask ISO? ?Alex, any can you shed any light on this?
>

The mp4-tech list is the only place I know to ask such questions.

--Alex



More information about the ffmpeg-devel mailing list