summaryrefslogtreecommitdiff
path: root/libavcodec/x86
diff options
context:
space:
mode:
authorChristophe GISQUET <christophe.gisquet@gmail.com>2012-01-03 20:38:29 +0100
committerJanne Grunau <janne-libav@jannau.net>2012-01-16 19:26:41 +0100
commit9ba9c3402499d90e54f8aa111b62c278206d11af (patch)
treeac059d08bf032cfbf7454c02e72bd5175a2e5b70 /libavcodec/x86
parentffa0923eee7707acf07a0847b6bac89b86e227dc (diff)
rv34: 1-pass inter MB reconstruction
Implement 1-pass inverse transform and reconstruction for inter blocks.
Diffstat (limited to 'libavcodec/x86')
-rw-r--r--libavcodec/x86/rv34dsp.asm4
-rw-r--r--libavcodec/x86/rv34dsp_init.c3
2 files changed, 3 insertions, 4 deletions
diff --git a/libavcodec/x86/rv34dsp.asm b/libavcodec/x86/rv34dsp.asm
index c8eeebbfeb..2d2f6e19e6 100644
--- a/libavcodec/x86/rv34dsp.asm
+++ b/libavcodec/x86/rv34dsp.asm
@@ -42,9 +42,9 @@ cglobal rv34_idct_%1_mmx2, 1, 2, 0
movd m0, r1
pshufw m0, m0, 0
movq [r0+ 0], m0
+ movq [r0+ 8], m0
movq [r0+16], m0
- movq [r0+32], m0
- movq [r0+48], m0
+ movq [r0+24], m0
REP_RET
%endmacro
diff --git a/libavcodec/x86/rv34dsp_init.c b/libavcodec/x86/rv34dsp_init.c
index c10ae4ee96..f3d2e172e7 100644
--- a/libavcodec/x86/rv34dsp_init.c
+++ b/libavcodec/x86/rv34dsp_init.c
@@ -37,8 +37,7 @@ av_cold void ff_rv34dsp_init_x86(RV34DSPContext* c, DSPContext *dsp)
if (mm_flags & AV_CPU_FLAG_MMX)
c->rv34_idct_dc_add = ff_rv34_idct_dc_add_mmx;
if (mm_flags & AV_CPU_FLAG_MMX2) {
- c->rv34_inv_transform_dc_tab[0] = ff_rv34_idct_dc_mmx2;
- c->rv34_inv_transform_dc_tab[1] = ff_rv34_idct_dc_noround_mmx2;
+ c->rv34_inv_transform_dc = ff_rv34_idct_dc_noround_mmx2;
}
if (mm_flags & AV_CPU_FLAG_SSE4)
c->rv34_idct_dc_add = ff_rv34_idct_dc_add_sse4;