changeset 11788:b2c0b7034aab libavcodec

vp3: The DC-only IDCT is surprisingly not supposed to be bitexact to the full IDCT. Fix this.
author conrad
date Fri, 28 May 2010 07:01:34 +0000
parents c3ca752c24ef
children 2064f8a1691e
files x86/vp3dsp_mmx.c
diffstat 1 files changed, 1 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/x86/vp3dsp_mmx.c	Thu May 27 14:50:19 2010 +0000
+++ b/x86/vp3dsp_mmx.c	Fri May 28 07:01:34 2010 +0000
@@ -398,9 +398,7 @@
 
 void ff_vp3_idct_dc_add_mmx2(uint8_t *dest, int linesize, const DCTELEM *block)
 {
-    int dc = block[0];
-    dc = (46341*dc)>>16;
-    dc = (46341*dc + (8<<16))>>20;
+    int dc = (block[0] + 15) >> 5;
 
     __asm__ volatile(
         "movd          %3, %%mm0 \n\t"