diff --git a/apps/codecs/lib/fft-ffmpeg.c b/apps/codecs/lib/fft-ffmpeg.c index 23cf8b8aed..203a82e7d4 100644 --- a/apps/codecs/lib/fft-ffmpeg.c +++ b/apps/codecs/lib/fft-ffmpeg.c @@ -57,6 +57,10 @@ /* asm-optimised functions and/or macros */ #include "fft-ffmpeg_arm.h" +#ifndef ICODE_ATTR_TREMOR_MDCT +#define ICODE_ATTR_TREMOR_MDCT ICODE_ATTR +#endif + #if 0 static int split_radix_permutation(int i, int n, int inverse) { @@ -268,7 +272,8 @@ static inline void TRANSFORM_ZERO(FFTComplex * z, unsigned int n) #endif /* z[0...8n-1], w[1...2n-1] */ -static void pass(FFTComplex *z_arg, unsigned int STEP_arg, unsigned int n_arg) +void pass(FFTComplex *z_arg, unsigned int STEP_arg, unsigned int n_arg) ICODE_ATTR_TREMOR_MDCT; +void pass(FFTComplex *z_arg, unsigned int STEP_arg, unsigned int n_arg) { register FFTComplex * z = z_arg; register unsigned int STEP = STEP_arg; @@ -314,7 +319,8 @@ static void pass(FFTComplex *z_arg, unsigned int STEP_arg, unsigned int n_arg) 8192/16 (from "ff_cos_16") is 512 bytes. i.e. for fft16, STEP = 8192/16 */ #define DECL_FFT(n,n2,n4)\ -static void fft##n(FFTComplex *z)\ +void fft##n(FFTComplex *z) ICODE_ATTR_TREMOR_MDCT;\ +void fft##n(FFTComplex *z)\ {\ fft##n2(z);\ fft##n4(z+n4*2);\ @@ -374,7 +380,8 @@ static void fft8_dispatch(FFTComplex *z) } #ifndef CONFIG_SMALL -static void fft16(FFTComplex *z) +void fft16(FFTComplex *z) ICODE_ATTR_TREMOR_MDCT; +void fft16(FFTComplex *z) { fft8(z); fft4(z+8); diff --git a/apps/codecs/lib/mdct.c b/apps/codecs/lib/mdct.c index 3c9fe41f20..aefd553f25 100644 --- a/apps/codecs/lib/mdct.c +++ b/apps/codecs/lib/mdct.c @@ -25,6 +25,10 @@ #include "codeclib_misc.h" #include "mdct_lookup.h" +#ifndef ICODE_ATTR_TREMOR_MDCT +#define ICODE_ATTR_TREMOR_MDCT ICODE_ATTR +#endif + /** * Compute the middle half of the inverse MDCT of size N = 2^nbits * thus excluding the parts that can be derived by symmetry @@ -34,6 +38,7 @@ * NOTE - CANNOT CURRENTLY OPERATE IN PLACE (input and output must * not overlap or intersect at all) */ +void ff_imdct_half(unsigned int nbits, fixed32 *output, const fixed32 *input) ICODE_ATTR_TREMOR_MDCT; void ff_imdct_half(unsigned int nbits, fixed32 *output, const fixed32 *input) { int n8, n4, n2, n, j; @@ -244,6 +249,7 @@ void ff_imdct_half(unsigned int nbits, fixed32 *output, const fixed32 *input) * <-----------output-----------> * */ +void ff_imdct_calc(unsigned int nbits, fixed32 *output, const fixed32 *input) ICODE_ATTR_TREMOR_MDCT; void ff_imdct_calc(unsigned int nbits, fixed32 *output, const fixed32 *input) { const int n = (1<