Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: AAC frames and ADTS frames (Read 3403 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

AAC frames and ADTS frames

Hello. How many AAC frames are contained inside an ADTS frame?


Re: AAC frames and ADTS frames

Reply #2
Did you try to ask ChatGPT? :)

"An ADTS (Audio Data Transport Stream) frame typically contains one AAC (Advanced Audio Coding) frame. This is done to ensure maximum compatibility across different systems and devices."
https://wiki.multimedia.cx/index.php/ADTS
https://wiki.multimedia.cx/index.php/Understanding_AAC




No, and I don't trust it at all. It often gives horribly wrong answers. Thanks for the links but I already read these.

Re: AAC frames and ADTS frames

Reply #3
According to the information on this page, there may be anywhere from one to four AAC frames in each ADTS frame.

Re: AAC frames and ADTS frames

Reply #4
...that's that horribly wrong page ChatGPT gave with the results to furthr look into :)
TAPE LOADING ERROR

Re: AAC frames and ADTS frames

Reply #5
According to the information on this page, there may be anywhere from one to four AAC frames in each ADTS frame.

I didn't catch that information in the first read, thank you!

...that's that horribly wrong page ChatGPT gave with the results to furthr look into :)

I think this page isn't wrong, why do you think it's wrong @itisljar ? Also, I think I have to say that ChatGPT almost never gave a link to me as a citation, and it would be great if it was programmed to do that.

 

Re: AAC frames and ADTS frames

Reply #6
Also, is the setup data that is shown at https://wiki.multimedia.cx/index.php/Understanding_AAC something like an AAC frame header or is it something like a MP4 container header or is it something different? And, does the "if (frequency index == 15) 24 bits: frequency" there mean arbitary sample rates can be used, and what does "dependsOnCoreCoder" and "extensionFlag" do?

Re: AAC frames and ADTS frames

Reply #7
Also, is the setup data that is shown at https://wiki.multimedia.cx/index.php/Understanding_AAC something like an AAC frame header or is it something like a MP4 container header or is it something different?
It's a stream descriptor, so it's more like a container header.

And, does the "if (frequency index == 15) 24 bits: frequency" there mean arbitary sample rates can be used,
As long as it fits in 24 bits, yes.

and what does "dependsOnCoreCoder" and "extensionFlag" do?
For the common AAC flavors, they do nothing because they're always 0.

DependsOnCoreCoder is used for scalable streams to indicate that you need to decode the "core" stream before you can decode the current stream. ExtensionFlag is used for error-resilient streams.

Re: AAC frames and ADTS frames

Reply #8
Also, is the setup data that is shown at https://wiki.multimedia.cx/index.php/Understanding_AAC something like an AAC frame header or is it something like a MP4 container header or is it something different?
It's a stream descriptor, so it's more like a container header.

And, does the "if (frequency index == 15) 24 bits: frequency" there mean arbitary sample rates can be used,
As long as it fits in 24 bits, yes.

and what does "dependsOnCoreCoder" and "extensionFlag" do?
For the common AAC flavors, they do nothing because they're always 0.

DependsOnCoreCoder is used for scalable streams to indicate that you need to decode the "core" stream before you can decode the current stream. ExtensionFlag is used for error-resilient streams.

I can't believe the second answer but much thanks. Just one clarification request for the first answer: Does that setup data also exist in ADTS streams or does it only exist in MP4 streams @Octocontrabass ?









Re: AAC frames and ADTS frames

Reply #17
I couldn't see the space for all of the required information here, I already read this page.
ADTS only supports a subset of AAC. All the information required for that subset is present in the ADTS frame header.





Re: AAC frames and ADTS frames

Reply #22
So it does not support HE-AAC and xHE-AAC, right?
HE-AAC is backwards-compatible with AAC LC, so it's supported. xHE-AAC is not backwards-compatible, so it's not supported.

Also, there's nothing indicating the frame length (1024 or 960) so which frame length is used?
1024.

Thanks, but there's nothing that can indicate that's HE-AAC so how does the player know it's HE-AAC?

Re: AAC frames and ADTS frames

Reply #23
Thanks, but there's nothing that can indicate that's HE-AAC so how does the player know it's HE-AAC?
The player finds SBR elements in the frame when it decodes the audio (and PS elements if it's HE-AACv2).

Re: AAC frames and ADTS frames

Reply #24
My car stereo will pay AAC-LC, but won't play any of the other AAC profiles.