diff options
author | Christophe Gisquet <christophe.gisquet@gmail.com> | 2012-03-29 22:37:41 +0200 |
---|---|---|
committer | Ronald S. Bultje <rsbultje@gmail.com> | 2012-04-28 10:58:47 -0700 |
commit | fe5ed69dc7f6acf6928c27d614f2be3fc89ed176 (patch) | |
tree | 2cca17e526bfc7d2943cf1a1a80d6accb6229a57 /libavcodec/x86/rv34dsp_init.c | |
parent | 9b9df1cdff149db5bbe6726b236934c5b5fbe21d (diff) | |
download | ffmpeg-fe5ed69dc7f6acf6928c27d614f2be3fc89ed176.tar.gz |
rv34dsp x86: implement MMX2 inverse transform
141 cycles down to 51.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Diffstat (limited to 'libavcodec/x86/rv34dsp_init.c')
-rw-r--r-- | libavcodec/x86/rv34dsp_init.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libavcodec/x86/rv34dsp_init.c b/libavcodec/x86/rv34dsp_init.c index 38831255c9..d91818c375 100644 --- a/libavcodec/x86/rv34dsp_init.c +++ b/libavcodec/x86/rv34dsp_init.c @@ -28,6 +28,7 @@ void ff_rv34_idct_dc_mmx2(DCTELEM *block); void ff_rv34_idct_dc_noround_mmx2(DCTELEM *block); void ff_rv34_idct_dc_add_mmx(uint8_t *dst, ptrdiff_t stride, int dc); void ff_rv34_idct_dc_add_sse4(uint8_t *dst, ptrdiff_t stride, int dc); +void ff_rv34_idct_add_mmx2(uint8_t *dst, ptrdiff_t stride, DCTELEM *block); av_cold void ff_rv34dsp_init_x86(RV34DSPContext* c, DSPContext *dsp) { @@ -38,6 +39,7 @@ av_cold void ff_rv34dsp_init_x86(RV34DSPContext* c, DSPContext *dsp) c->rv34_idct_dc_add = ff_rv34_idct_dc_add_mmx; if (mm_flags & AV_CPU_FLAG_MMX2) { c->rv34_inv_transform_dc = ff_rv34_idct_dc_noround_mmx2; + c->rv34_idct_add = ff_rv34_idct_add_mmx2; } if (mm_flags & AV_CPU_FLAG_SSE4) c->rv34_idct_dc_add = ff_rv34_idct_dc_add_sse4; |