diff options
author | Christophe Gisquet <christophe.gisquet@gmail.com> | 2012-05-11 13:17:36 +0400 |
---|---|---|
committer | Janne Grunau <janne-libav@jannau.net> | 2014-02-08 01:51:59 +0400 |
commit | 2bd44cb705340c4f7bd7e459a1efed5074bf45fc (patch) | |
tree | 6b628e195347f7ac49f71e2882cd57a1a5c1fed4 /libavcodec/arm | |
parent | e3fec3f095ab5ea08ee662942d98526aaf5e3635 (diff) |
dcadsp: add int8x8_fmul_int32 to dsp context
It is currently declared as a macro who is set to inlinable functions,
among which a Neon and a default C implementations.
Add a DSP parameter to each inline function, unused except by the
default C implementation which calls a function from the DSP context.
On an Arrandale CPU, gain for an inlined SSE2 function vs. a call:
- Win32: 29 to 26 cycles
- Win64: 25 to 23 cycles
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Diffstat (limited to 'libavcodec/arm')
-rw-r--r-- | libavcodec/arm/dca.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/arm/dca.h b/libavcodec/arm/dca.h index 39ec2b6bc8..06e3ea6ba3 100644 --- a/libavcodec/arm/dca.h +++ b/libavcodec/arm/dca.h @@ -83,7 +83,8 @@ static inline int decode_blockcodes(int code1, int code2, int levels, #if HAVE_NEON_INLINE && HAVE_ASM_MOD_Y #define int8x8_fmul_int32 int8x8_fmul_int32 -static inline void int8x8_fmul_int32(float *dst, const int8_t *src, int scale) +static inline void int8x8_fmul_int32(av_unused DCADSPContext *dsp, + float *dst, const int8_t *src, int scale) { __asm__ ("vcvt.f32.s32 %2, %2, #4 \n" "vld1.8 {d0}, [%1,:64] \n" |