i'm new to this forum, but have been reading quite a lot of interesting posts on here and it seems like a well informed set of people posting on here
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 as it looks like this is what our customers will want. i've got it working and decoding the test streams from mpeg.
(you can get them here: ftp://mpaudconf:adif2mp4@ftp.iis.fhg.de/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