summaryrefslogtreecommitdiff
path: root/libavcodec/opus_celt.c
diff options
context:
space:
mode:
authorJanne Grunau <janne-libav@jannau.net>2014-04-28 17:56:43 +0200
committerJanne Grunau <janne-libav@jannau.net>2014-05-15 18:17:02 +0200
commitd3f5b94762fb803c0f3b29f9ad6c5eaa813998ba (patch)
tree62d2b426d38f8540bdcfb5e126666c89e4cdb279 /libavcodec/opus_celt.c
parent7c5ca546a0747a20c7f7fb5550455c3042699ee9 (diff)
aarch64: opus NEON iMDCT and FFT
Opus celt decoding 11% faster and the iMDCT over 2.5 times faster on Apple's A7.
Diffstat (limited to 'libavcodec/opus_celt.c')
-rw-r--r--libavcodec/opus_celt.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libavcodec/opus_celt.c b/libavcodec/opus_celt.c
index 6757136a9c..e77ca6f69a 100644
--- a/libavcodec/opus_celt.c
+++ b/libavcodec/opus_celt.c
@@ -29,6 +29,7 @@
#include "libavutil/float_dsp.h"
#include "opus.h"
+#include "opus_imdct.h"
enum CeltSpread {
CELT_SPREAD_NONE,
@@ -2095,8 +2096,8 @@ int ff_celt_decode_frame(CeltContext *s, OpusRangeCoder *rc,
for (j = 0; j < s->blocks; j++) {
float *dst = frame->buf + 1024 + j * s->blocksize;
- ff_celt_imdct_half(imdct, dst + CELT_OVERLAP / 2, s->coeffs[i] + j,
- s->blocks, imdct_scale);
+ imdct->imdct_half(imdct, dst + CELT_OVERLAP / 2, s->coeffs[i] + j,
+ s->blocks, imdct_scale);
s->dsp.vector_fmul_window(dst, dst, dst + CELT_OVERLAP / 2,
celt_window, CELT_OVERLAP / 2);
}