diff options
author | Thom Johansen <thomj@rockbox.org> | 2006-03-21 01:09:53 +0000 |
---|---|---|
committer | Thom Johansen <thomj@rockbox.org> | 2006-03-21 01:09:53 +0000 |
commit | c00ec115989529c72f1153871524c66253c5fb12 (patch) | |
tree | cd9dc17c2882a460116c6663c443d57d811778aa /apps/eq.c | |
parent | 5405753096fe8058c27e7a8ef808b9b89805c536 (diff) | |
download | rockbox-c00ec115989529c72f1153871524c66253c5fb12.tar.gz rockbox-c00ec115989529c72f1153871524c66253c5fb12.zip |
Further 64 bit related fixes. EQ should now work in AMD64 sim.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9142 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/eq.c')
-rw-r--r-- | apps/eq.c | 18 |
1 files changed, 9 insertions, 9 deletions
@@ -138,13 +138,13 @@ static long dbtoA(long db) db is s15.16 fixed point and describes gain/attenuation at peak freq. c is a pointer where the coefs will be stored. */ -void eq_pk_coefs(unsigned long cutoff, unsigned long Q, long db, long *c) +void eq_pk_coefs(unsigned long cutoff, unsigned long Q, long db, int32_t *c) { const long one = 1 << 28; /* s3.28 */ const long A = dbtoA(db); const long alpha = DIV64(fsin(cutoff), 2*Q, 15); /* s1.30 */ - long a0, a1, a2; /* these are all s3.28 format */ - long b0, b1, b2; + int32_t a0, a1, a2; /* these are all s3.28 format */ + int32_t b0, b1, b2; /* possible numerical ranges listed after each coef */ b0 = one + FRACMUL(alpha, A); /* [1.25..5] */ @@ -161,7 +161,7 @@ void eq_pk_coefs(unsigned long cutoff, unsigned long Q, long db, long *c) } /* Calculate coefficients for lowshelf filter */ -void eq_ls_coefs(unsigned long cutoff, unsigned long Q, long db, long *c) +void eq_ls_coefs(unsigned long cutoff, unsigned long Q, long db, int32_t *c) { const long one = 1 << 24; /* s7.24 */ const long A = dbtoA(db); @@ -169,8 +169,8 @@ void eq_ls_coefs(unsigned long cutoff, unsigned long Q, long db, long *c) const long ap1 = (A >> 5) + one; const long am1 = (A >> 5) - one; const long twosqrtalpha = 2*(FRACMUL(fsqrt(A >> 5, 24), alpha) << 1); - long a0, a1, a2; /* these are all s7.24 format */ - long b0, b1, b2; + int32_t a0, a1, a2; /* these are all s7.24 format */ + int32_t b0, b1, b2; long cs = fcos(cutoff); b0 = FRACMUL(A, ap1 - FRACMUL(am1, cs) + twosqrtalpha) << 2; @@ -188,7 +188,7 @@ void eq_ls_coefs(unsigned long cutoff, unsigned long Q, long db, long *c) } /* Calculate coefficients for highshelf filter */ -void eq_hs_coefs(unsigned long cutoff, unsigned long Q, long db, long *c) +void eq_hs_coefs(unsigned long cutoff, unsigned long Q, long db, int32_t *c) { const long one = 1 << 24; /* s7.24 */ const long A = dbtoA(db); @@ -196,8 +196,8 @@ void eq_hs_coefs(unsigned long cutoff, unsigned long Q, long db, long *c) const long ap1 = (A >> 5) + one; const long am1 = (A >> 5) - one; const long twosqrtalpha = 2*(FRACMUL(fsqrt(A >> 5, 24), alpha) << 1); - long a0, a1, a2; /* these are all s7.24 format */ - long b0, b1, b2; + int32_t a0, a1, a2; /* these are all s7.24 format */ + int32_t b0, b1, b2; long cs = fcos(cutoff); b0 = FRACMUL(A, ap1 + FRACMUL(am1, cs) + twosqrtalpha) << 2; |