Of course you’ve heard about AVC, the famous audio codec from On2 (and not the codec used as a base for VP7 and VP8). Out of curiosity I tried to look at it and found out that it was as creative as video codecs.
So here’s how it looks:
- It is 1024-point MDCT based codec.
- It codes samples either in one window or in eight 128-sample windows. There are four modes because of that — long window, short windows and two transitional modes.
- Windows are organised into bands, 49 bands for the long window, 12 bands for each short window (band widths are the same for all sampling frequencies though).
- Frame data consists of: windowing mode, grouping information for short windows, some band flags, run-coded information about used codebooks, scales, coefficients.
- Scales are stored this way: first scale is explicitly coded 7-bit value, other scales are coded as differences and restored as
prev_scale + scale_diff - 60
. - Codebook 0 means no coefficients codec, codebooks 1-8 code quartets of coefficients, codebooks 9-15 code pairs of coefficients, additionally codebook 15 allows escape values to be coded.
- Unscaling is performed as
*dst++ = val * sqrt(val) * scale
.
Do not blame me if that reminds you of some other codec. Bitstream format is different after all. And the second letter of the codec name too.
sounds like you are getting bored of taking apart codecs. ehe
Hey, one letter difference means AVC is at least 33% different than AAC. Maybe as high as 33.3%!