[Mp4-tech] [AAC Audio] [ADTS]

D.Domazet Danijel.Domazet zg.htnet.hr
Fri Feb 11 10:04:49 ESTEDT 2005


Hi,
Here is what I would do:
1.) use some other well tested decoder to check the bitstream, FAAD2 for
example, try playing the files using different players
2.) ask your customers about the encoder they used, how old are these
bitstreams, ADTS header has changed a year or two ago, two 'emphasis' bits
were left out (after 'home' bit)
3.) your 'protection absent' is 0 so you will have CRC protection added at
the end of ADTS header - check it
'channel_config' is usualy 1 (mono, center front speaker) or 2 (stereo,
left+right front speakers). If it is 0 like you say, than channel
configuration is not specified in the ADTS header and must be given in the
program_config_element().
'num_raw_data_blocks' is usualy 0 (which means you have 0+1=1 raw_data_block
in the stream). It looks suspicious to me that you have 2 raw_data_blocks
(since your raw_data_blocks is 1   +1=2).
'layer' bits must be '00' so your headers are probably not valid.
Hope that helped,
Daniel
----- Original Message ----- 
From: "Will Bolam" <w.bolam vqual.biz>
To: <mp4-tech lists.mpegif.org>
Sent: Thursday, February 10, 2024 6:24 PM
Subject: [Mp4-tech] [AAC Audio] [ADTS]
> hi all,
>
> i've recently been looking at implementing an AAC decoder, and i now have
> this working (based on the ISO reference code), i'm currently adding ADTS
> support. i've got it working and decoding the test streams from here:
> ftp://mpaudconf:[email protected]/g...io-conformance/ (the adts
> streams are in the mpeg2 aac folder)
>
> however i am unable to decode any of the various test streams we have from
> customers. the test streams i have look like ADTS - they have the ADTS
sync
> word (12 1's) every so often in the file (including at the start), but the
> rest of the ADTS header doesn't seem right - the layer field seems always
to
> be 2, when all specs i've seen say this must always be 0.
>
> example header that doesn't work is:
>
> 1111 1111 1111 - syncword
>
> 1 - mpeg 2/4 flag
>
> 10 - layer
>
> 0 - protection absent
>
> 11 - profile obj type
>
> 0001 - sampling frequency index
>
> 0 - private bit
>
> 000 - channel config (Q. - is 0 valid for ADTS channel config? how else
> would it be calculated?)
>
> 0000 - 4 copyright flags
>
> 0010 1000 1111 1 - frame length
>
> 1000 1010 101 - buffer fullness
>
> 01 - num raw data blocks
>
> does anyone know whether that is or isn't a valid ADTS header? are there
any
> other audio file formats that use 12 1's as a sync word?
>
> any help much appreciated!
>
> regards,
>
> will
>
>
> _______________________________________________
> NOTE: Please use clear subject lines for your posts. Include [audio,
[video], [systems], [general] or another apppropriate identifier to indicate
the type of question you have.
>
> Note: Conduct on the mailing list is subject to the Antitrust guidelines
found at
http://www.mpegif.org/public/documents/vault/mp-out-30042-Antitrust.php
>
>



More information about the Mp4-tech mailing list