On Sunday, October 19, 2003, at 10:47 PM, Grigory Abuladze wrote:
I am working with mad-0.15.0 I hope someone may give me answer on this questions:
- The result of this function III_exponents() in layer3.c file is signed int exponents[39] array. My question - in which format is result presented?
The resulting exponents represent multiples of 1/4 -- in other words, imagine a fixed binary point to the left of the two least significant bits.
Xr = is^(4/3) * 2^(exp) (sign not discussed)
What value exp can be and what step? -88.5 <= exp <= 11.5, 0 <= is[i] <= 8207 are this equation true?
I calculate -81.5 <= exp <= 11.25 based on the theoretical limits of the requantization formula variables.
Also 0 <= is[i] <= 8206, although there is some debate over whether ISO/IEC 11172-3 actually permits values greater than 8191.
From III_requantize() it is look like step is 2^(1/4) - where
can I take this information?
Yes, from the requantization and scaling formula presented in ISO/IEC 11172-3, the exponent may be a multiple of 1/4 depending on global_gain and, for short blocks, subblock_gain[w].