summaryrefslogtreecommitdiff
path: root/libavcodec/dcadsp.h
diff options
context:
space:
mode:
authorChristophe Gisquet <christophe.gisquet@gmail.com>2012-05-11 11:17:36 +0200
committerJanne Grunau <janne-libav@jannau.net>2014-02-07 22:51:59 +0100
commit2bd44cb705340c4f7bd7e459a1efed5074bf45fc (patch)
tree6b628e195347f7ac49f71e2882cd57a1a5c1fed4 /libavcodec/dcadsp.h
parente3fec3f095ab5ea08ee662942d98526aaf5e3635 (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/dcadsp.h')
-rw-r--r--libavcodec/dcadsp.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/libavcodec/dcadsp.h b/libavcodec/dcadsp.h
index ec88be71f0..0f79dd643e 100644
--- a/libavcodec/dcadsp.h
+++ b/libavcodec/dcadsp.h
@@ -31,6 +31,7 @@ typedef struct DCADSPContext {
int *synth_buf_offset, float synth_buf2[32],
const float window[512], float *samples_out,
float raXin[32], float scale);
+ void (*int8x8_fmul_int32)(float *dst, const int8_t *src, int scale);
} DCADSPContext;
void ff_dcadsp_init(DCADSPContext *s);