[alsa-devel] [PATCHv4 2/2] ASoC: OMAP-McBSP: ASoC interface for McBSP sidetone
ilkka.koskinen at nokia.com
ilkka.koskinen at nokia.com
Fri Feb 19 16:12:54 CET 2010
>From: Nurkkala Eero.An (EXT-Offcode/Oulu)
>Sent: 19 February, 2010 14:58
>
>> I'm a bit confused. What do you mean by that?
>>
>> AFAICS, Q1.14 defines values [-16384.0, +16383.5], which are
>mapped in the
>> driver to integers [-32768, 32767], right? Moreover, those
>Q1.14 values in
>> registers are mapped to [-2, 2] in HW. So is there a problem
>somewhere?
>>
>> Cheers, Ilkka
>
>No, don't get me wrong, not saying there's a problem with the
>positive gains,
>Q1.14: its range is [-16384.0, +16383.5] = [0x8000, 0x8001 … 0xFFFF,
>0x0000, 0x0001 … 0x7FFE, 0x7FFF]
>if I read this correctly, your min is 0xFFFF, but the real min maybe
>0x8000? To be honest, it may be just me interpreting that incorrectly..
>...as if the value is in two's complement, it goes the opposite:
>http://en.wikipedia.org/wiki/Two%27s_complement , see:
>1 0 0 0 0 0 0 0 = −128
>1 1 1 1 1 1 1 1 = −1
>what do you think? maybe try it out to see the truth..
Oops, I seemed to copy Q1.14 instead of Q14.1, but isn't it still the same.
When I added some debug messages it still seemed to be corret.
Lowest number (-32768) is represented with 16th bit '1' and the rest are
zeros, right? That is 0x8000.
-1 has all the bits set (0xffff) and 0 has all the bit cleared (0x0000).
Highest positive value has 16th bit cleared and the rest set (0x7fff).
Or did I interpret something wrong?
Cheers, Ilkka
More information about the Alsa-devel
mailing list