]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/fft-internal.h
adpcm: Clip step_index values read from the bitstream at the beginning of each frame.
[ffmpeg] / libavcodec / fft-internal.h
index 1f240dbd18facaa13f8b3fdd8140f5a6bfdab276..d30571b7339d3bc5d3b289b372a41e5a464a840d 100644 (file)
@@ -39,6 +39,8 @@
 #include "libavutil/intmath.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)
 
+#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 /* CONFIG_FFT_FLOAT */
 
 #define ff_imdct_calc_c FFT_NAME(ff_imdct_calc_c)