diff options
-rw-r--r-- | apps/codecs/libfaad/cfft.c | 16 |
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 | |||
860 | void cfftf(cfft_info *cfft, complex_t *c) | 850 | void 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 | ||
865 | void cfftb(cfft_info *cfft, complex_t *c) | 856 | void 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 | ||
870 | static void cffti1(uint16_t n, complex_t *wa, uint16_t *ifac) | 862 | static void cffti1(uint16_t n, complex_t *wa, uint16_t *ifac) |