]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/fft-internal.h
qtrle: Properly use AVFrame API
[ffmpeg] / libavcodec / fft-internal.h
index 1f240dbd18facaa13f8b3fdd8140f5a6bfdab276..a449ec058a087bdc6928d554a691d6abe154f33d 100644 (file)
@@ -19,7 +19,7 @@
 #ifndef AVCODEC_FFT_INTERNAL_H
 #define AVCODEC_FFT_INTERNAL_H
 
-#if CONFIG_FFT_FLOAT
+#if FFT_FLOAT
 
 #define FIX15(v) (v)
 #define sqrthalf (float)M_SQRT1_2
 
 #else
 
-#include "libavutil/intmath.h"
+#include "fft.h"
 #include "mathops.h"
 
+void ff_mdct_calcw_c(FFTContext *s, FFTDouble *output, const FFTSample *input);
+
 #define SCALE_FLOAT(a, bits) lrint((a) * (double)(1 << (bits)))
 #define FIX15(a) av_clip(SCALE_FLOAT(a, 15), -32767, 32767)
 
         y = (a + b) >> 1;                       \
     } while (0)
 
-#define CMUL(dre, dim, are, aim, bre, bim) do {                 \
-        (dre) = (MUL16(are, bre) - MUL16(aim, bim)) >> 15;      \
-        (dim) = (MUL16(are, bim) + MUL16(aim, bre)) >> 15;      \
+#define CMULS(dre, dim, are, aim, bre, bim, sh) do {            \
+        (dre) = (MUL16(are, bre) - MUL16(aim, bim)) >> sh;      \
+        (dim) = (MUL16(are, bim) + MUL16(aim, bre)) >> sh;      \
     } while (0)
 
-#endif /* CONFIG_FFT_FLOAT */
+#define CMUL(dre, dim, are, aim, bre, bim)      \
+    CMULS(dre, dim, are, aim, bre, bim, 15)
+
+#define CMULL(dre, dim, are, aim, bre, bim)     \
+    CMULS(dre, dim, are, aim, bre, bim, 0)
+
+#endif /* FFT_FLOAT */
 
 #define ff_imdct_calc_c FFT_NAME(ff_imdct_calc_c)
 #define ff_imdct_half_c FFT_NAME(ff_imdct_half_c)