summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/codecs/libfaad/cfft.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/apps/codecs/libfaad/cfft.c b/apps/codecs/libfaad/cfft.c
index 07859756e0..806dc8f895 100644
--- a/apps/codecs/libfaad/cfft.c
+++ b/apps/codecs/libfaad/cfft.c
@@ -847,24 +847,16 @@ static INLINE void cfftf1neg(uint16_t n, complex_t *c, complex_t *ch,
847 } 847 }
848} 848}
849 849
850#if (__GNUC__ == 4) && (__GNUC_MINOR__ == 2) && (__GNUC_PATCHLEVEL__ >= 1)
851/* To me (Daniel S) this looks like a compiler error/problem so we only
852 silence it this way on this specific compiler version we know causes this
853 Known to happen for 4.2.1 until 4.2.3 */
854#define COMPLEXPTR *(const complex_t **)
855#else
856#define COMPLEXPTR (const complex_t *)
857#endif
858
859
860void cfftf(cfft_info *cfft, complex_t *c) 850void cfftf(cfft_info *cfft, complex_t *c)
861{ 851{
862 cfftf1neg(cfft->n, c, cfft->work, (const uint16_t*)cfft->ifac, COMPLEXPTR cfft->tab, -1); 852 const complex_t *ct = (const complex_t*)cfft->tab;
853 cfftf1neg(cfft->n, c, cfft->work, (const uint16_t*)cfft->ifac, ct, -1);
863} 854}
864 855
865void cfftb(cfft_info *cfft, complex_t *c) 856void cfftb(cfft_info *cfft, complex_t *c)
866{ 857{
867 cfftf1pos(cfft->n, c, cfft->work, (const uint16_t*)cfft->ifac, COMPLEXPTR cfft->tab, +1); 858 const complex_t *ct = (const complex_t*)cfft->tab;
859 cfftf1pos(cfft->n, c, cfft->work, (const uint16_t*)cfft->ifac, ct, +1);
868} 860}
869 861
870static void cffti1(uint16_t n, complex_t *wa, uint16_t *ifac) 862static void cffti1(uint16_t n, complex_t *wa, uint16_t *ifac)