[Mp4-tech] Re: [Audio] detecting audio profile of a m4a file
Ralph Sperschneider
ralph.sperschneider iis.fraunhofer.de
Fri Dec 1 16:53:42 ESTEDT 2006
Dear Rjay,
rjay wrote:
> Hello all,
>
> I have an M4a parser that was written using 14496-12:2005,
> 14496-14:2003 and 14496-1:2004 for reference.
>
> One of my objectives is to find the profile of the audio track (Main,
> Low complexity, LTP, HE, etc) and make the decision to play only Low
> Complexity files since my decoder only supports low complexity profiles.
Please do not mix up AudioObjectTypes (AOT) with profiles. The
relationship between the AOTs and the profiles can be found in
ISO/IEC14496-3, "Table 1.3 — Audio Profiles definition".
>
> From what i understand, this information is available in the
> esds->decoderConfigDescriptor. (7.2.6.6.1 from 14496-12:2005)
> The spec has a further reference to 14496-3, subclause 6.2.1 if the
> objectID value is 0x40 and I get the 5 bits of audioObjectType as
> specified in table 1.8 and I find the corresponding profile from the
> audioObjectType from table 1.1 in 14496-3.
>
> Is this the correct way to be identifying the profile?
The described way to identify the audio profile is correct.
>
> Using this logic, m4a files that have been generated using Xilisoft
> audio convertor are identified correctly by my parser (and by the MPUI
> tool)
> But I have a whole bunch (dozens) of test files, with different
> profiles, that all have the value of 5 bits corresponding to Low
> complexity, even though i know the profile is not LC. MP4UI also
> incorrectly identifies these files as LC.
There exists no low complexity profile. Which value in Table 1.12 do you
refer to?
>
> Looking at the dump of the headers between say an LTP file generated
> by Xilisoft audio convertor and one of the incorrectly identified LTP
> test files, I noticed that the ftyp atom has the majorbrand value as
> mp42 for the xilisoft generated file, while the incorrectly identified
> one has the major brand as isom.
>
> Is there a difference for how the esds atom should be parsed for the 2
> ftyps? My understanding was that both are based on 14496-12?
>
In ISO/IEC 14496-12 you find in subclause "4.3 File Type Box": "The type
‘isom’ (ISO Base Media file) is defined in this section of this
specification, as identifying files that conform to the ISO Base Media
File Format. More specific identifiers can be used to identify precise
versions of specifications providing more detail. This brand should not
be used as the major brand; this base file format should be derived into
another specification to be used. There is therefore no defined normal
file extension, or mime type assigned to this brand, nor definition of
the minor version when ‘isom’ is the major brand."
In ISO/IEC 14496-14 you find in clause "4 File Identification": "The
brand ‘mp41’ is defined as identifying version 1 of this specification
(ISO/IEC 14496-1:2001), and the brand ‘mp42’ identifies this version of
the specification; at least one of these brands shall appear in the
compatible-brands list in the file-type box, in all files conforming to
this specification."
Hence: Both major brands are correct, the mp42 brand is more specific.
Best regards,
Ralph
--
Dipl.-Ing. Ralph Sperschneider | Phone: +49 9131 776 344
Fraunhofer IIS | Fax: +49 9131 776 398
Am Wolfsmantel 33 | mailto:ralph.sperschneider iis.fraunhofer.de
D 91058 Erlangen | http://www.iis.fraunhofer.de/amm/
More information about the Mp4-tech
mailing list