summaryrefslogtreecommitdiff
path: root/libavcodec/fft-internal.h
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-04-03 02:28:01 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-04-03 02:28:01 +0200
commitf35439699f5546774b840ae9fba7df82729ef0ff (patch)
tree92c22313b8eda656421372955598d647aa64242e /libavcodec/fft-internal.h
parent85c9365d65c4d03c468cead13f722ddce89d8495 (diff)
parentbc154882e11f4a218cc8cfb10ae0b4cbc83b5f9f (diff)
Merge remote branch 'qatar/master'
* qatar/master: Fixed-point MDCT with 32-bit unscaled output lavc: deprecate rate_emu lavc: mark hurry_up for removal on next major bump parser: mark av_parser_parse() for removal on next major bump lavc: add missing audioconvert includes jvdec: don't use deprecated CODEC_TYPE_*/PKT_FLAG_KEY Conflicts: libavcodec/h264.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/fft-internal.h')
-rw-r--r--libavcodec/fft-internal.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/libavcodec/fft-internal.h b/libavcodec/fft-internal.h
index ae76eafc4e..61066bb18b 100644
--- a/libavcodec/fft-internal.h
+++ b/libavcodec/fft-internal.h
@@ -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)
@@ -49,11 +51,17 @@
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)