Hi!
I am working with mad-0.15.0 I hope someone may give me answer on this questions:
1. 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?
2. 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?
From III_requantize() it is look like step is 2^(1/4) - where can I take this information?
Thank for Your answers.
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].
Hello Rob,
Monday, October 20, 2003, 7:04:18 PM, you wrote: RL> 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?
RL> The resulting exponents represent multiples of 1/4 -- in other words, RL> imagine a fixed binary point to the left of the two least significant RL> 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?
RL> I calculate -81.5 <= exp <= 11.25 based on the theoretical limits of RL> the requantization formula variables.
RL> Also 0 <= is[i] <= 8206, although there is some debate over whether RL> 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?
RL> Yes, from the requantization and scaling formula presented in ISO/IEC RL> 11172-3, the exponent may be a multiple of 1/4 depending on global_gain RL> and, for short blocks, subblock_gain[w].
Thanks for answer!
and one more Does it true |Xr|<1 ? and is[i] & exp managed so above statement is always correct?
Thanks.
On Monday, October 20, 2003, at 04:24 AM, Grigory Abuladze wrote:
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.
Thanks for answer!
and one more Does it true |Xr|<1 ? and is[i] & exp managed so above statement is always correct?
In general, no, you cannot assume this is true although it usually is. When |Xr|>1 it is usually not much greater than 1, but there are no technical boundaries. The end goal is to have the PCM after synthesis also |s|<1, but this too is not guaranteed, and leads to the need for clipping or other reduction mechanisms outside the decoder.