mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-14 02:27:39 -04:00
Commit FS#12130 - Fix ADX decoding on 64-bit systems by Sean Bartell. Fixes an incorrect assumption in the ADX decoder that sizeof(int) == 32 when performing fixed point math. Update comments in the fixed point library to correct this.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29927 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
79dd27de82
commit
0497adffcf
3 changed files with 3 additions and 3 deletions
|
@ -129,7 +129,7 @@ enum codec_status codec_run(void)
|
||||||
|
|
||||||
fp_sincos((unsigned long)phasemultiple,&z);
|
fp_sincos((unsigned long)phasemultiple,&z);
|
||||||
|
|
||||||
a = (M_SQRT2*big28)-(z*big28/LONG_MAX);
|
a = (M_SQRT2*big28) - (z >> 3);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* In the long passed to fsqrt there are only 4 nonfractional bits,
|
* In the long passed to fsqrt there are only 4 nonfractional bits,
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
* where phase is a 32 bit unsigned integer with 0 representing 0
|
* where phase is a 32 bit unsigned integer with 0 representing 0
|
||||||
* and 0xFFFFFFFF representing 2*pi, and *cos is the address to
|
* and 0xFFFFFFFF representing 2*pi, and *cos is the address to
|
||||||
* a long signed integer. Value returned is a long signed integer
|
* a long signed integer. Value returned is a long signed integer
|
||||||
* from LONG_MIN to LONG_MAX, representing -1 to 1 respectively.
|
* from -0x80000000 to 0x7fffffff, representing -1 to 1 respectively.
|
||||||
* That is, value is a fixed point integer with 31 fractional bits.
|
* That is, value is a fixed point integer with 31 fractional bits.
|
||||||
*
|
*
|
||||||
* Take square root of a fixed point number:
|
* Take square root of a fixed point number:
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
* where phase is a 32 bit unsigned integer with 0 representing 0
|
* where phase is a 32 bit unsigned integer with 0 representing 0
|
||||||
* and 0xFFFFFFFF representing 2*pi, and *cos is the address to
|
* and 0xFFFFFFFF representing 2*pi, and *cos is the address to
|
||||||
* a long signed integer. Value returned is a long signed integer
|
* a long signed integer. Value returned is a long signed integer
|
||||||
* from LONG_MIN to LONG_MAX, representing -1 to 1 respectively.
|
* from -0x80000000 to 0x7fffffff, representing -1 to 1 respectively.
|
||||||
* That is, value is a fixed point integer with 31 fractional bits.
|
* That is, value is a fixed point integer with 31 fractional bits.
|
||||||
*
|
*
|
||||||
* Take square root of a fixed point number:
|
* Take square root of a fixed point number:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue