Log in

View Full Version : Is MPEG-2 AAC MPEG-4 ISO-compliant?


Chibi Jasmin
22nd April 2002, 11:28
I searched through a lot of more or less complicated posts and documents, but couldn't find a simple clear answer, if anyone knows, please help:

There is an MPEG-2 AAC standard and an extended MPEG-4 AAC standard. The question is: Is the "old" MPEG-2 AAC compliant to the MPEG-4 ISO specs?

Chibi Jasmin
22nd April 2002, 14:53
This is the most stupid answer I have ever seen.

For example, this is what I found:

"What about MPEG-4. Is there a relationship between AAC and MPEG-4?
Yes there is. AAC will be part of MPEG-4. So all future MPEG-4 decoders should be able to decode MPEG-2 AAC bitstreams as well, at least if provided as a raw data stream without any transmission protocol.

So MPEG-4 AAC will be the same as MPEG-2 AAC?
No, not exactly the same. MPEG-4 AAC will be a superset of MPEG-2 AAC. There are some additional features, namely a different predictor, a method called Perceptual Noise Substitution and a different coding kernel which facilitates scaleable systems, called BSAC (Bit Sliced Arithmetic Coding). For details, please visit our MPEG-4 web pages."

Or:

"MPEG-2 file (normal LC profile) is identical to MPEG-4 LC except 2 bytes in ADTS header. Raw mode without header is identical."
"The MPEG-4 systems layer allows codecs according to existing (MPEG) standards, e.g. MPEG-2 AAC, to be used."

But as I have no clue about this header thing, I don't know, if the MPEG-2 header is compliant also, or only MPEG-4 header...

Another one:

"The presence of the MPEG-2 AAC standard within the MPEG-4 tool set provides for general compression of audio in the upper bitrate range."

But does this refer to MPEG-4 Header? Or MPEG-2 Header. The problem is AACENC LC Profile gives you an MPEG-2 Header (any hidden settings to force it to MPEG-4?) and its raw mode doesn't work with mp4creator. That's why I am using LTP Profile at the moment, which is only part of mpeg-4 to ensure compatibility.

And much more...but it does never clearly state, if MPEG-2 AAC is in ISO-specs, so you can use it without modification (for example this ADTS header thing...is it also compliant with MPEG-2 header)...and there might be other differences between MPEG-2 AAC and MPEG-4 AAC, I don't even know of...

But thanx for your great comment! Was really helpful...

MaTTeR
22nd April 2002, 16:07
I'm jealous of how gentle your responses are bobotns:confused: Be nice, I find the question interesting and valid.

Chibi Jasmin
22nd April 2002, 21:23
I wonder what you had to say in your 242 previous posts...

ChristianHJW
22nd April 2002, 23:27
lol

Chibi, you are right, and a few others may wonder as well ;) ...

About your question : The only once who could really answer it in detail IMHO is Ivan Dimkovic, the coder of PsyTel encoder over at hydrogenaudio.org . PM or email him there about this very interesting question please, i'd really like to know ..

Chibi Jasmin
22nd April 2002, 23:41
Thanx, have posted there....

RadicalEd
23rd April 2002, 00:11
bobotns, MPEG 1 audio is compliant with MPEG 2 =P

Chibi Jasmin
23rd April 2002, 07:53
Here is the answer I got over at hydrogenaudio:

------
Quote:

Lemessee if I can clarify things for you.

Theoretically, any player capable of playing MPEG4 AAC is able to play MPEG2 AAC. First, because MPEG2 AAC is identical to MPEG4 AAC - except for the famous 2 bits in the ADTS header. There isn't any kind of "MPEG2 AAC"-only technology - like the "MPEG4 AAC"-only technologies: PNS, LTP and, soon, SBR (I just finished coding the Huffman tables for SBR AAC. )

MPEG2 AAC is completely compliant with MPEG4 AAC. They share the same compression algorithms. That's why I said somewhere that there's no sense in saying that a RAW AAC file is MPEG4 or MPEG2 - there's no difference! It's plain MPEG AAC.

The headers are the same too. The same structure, either ADIF or ADTS. And both MPEG2 and MPEG4 AAC use these headers.

The raw AAC mode doesn't work with MP4 creator for the simple reason that it's RAW! MP4creator can't guess how many channels there are in the stream, nor the sampling rate.

If you feed a raw AAC to the winamp plugin or FAAD, it will suppose it's 41kHz, 2channels, 16bit; and try to play.

I have already used MPEG2 AAC LC files with MP4creator, and they muxed and played fine. But LTP is fine, too.

Hope it helped.

Regards;

Roberto.

End of quote:
--------

This is the main thing, I guess. If anyone wants to follow the thread further, it's here: http://www.hydrogenaudio.org/forums/showthread.php?s=&threadid=1636

MaTTeR
23rd April 2002, 07:57
Ouch...as I said before, many thx for bringing up the question:)

Nice insight and will obviously clarify a few things for people.

RadicalEd
23rd April 2002, 21:22
uh.. not really related to audio but where did bobotns replies go? The humor of the thread makes a lot more sense with them ;)

Chibi Jasmin
23rd April 2002, 21:36
I highly suggest following the discussion on hydrogenaudio...seems to be MPEG-2 AAC LC (including MPEG-2 ADTS headers) is maybe NOT MPEG-4 compliant...

MaTTeR
23rd April 2002, 21:39
bobotns has deleted his own replies, mind you without anyone requesting it.