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

Justin Ruggles justin.ruggles
Mon Jun 14 03:16:23 CEST 2010

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
>>  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.

- 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?


More information about the ffmpeg-devel mailing list