[FFmpeg-cvslog] r23358 - trunk/libavcodec/x86/vp3dsp_mmx.c

conrad subversion
Fri May 28 09:01:35 CEST 2010


Author: conrad
Date: Fri May 28 09:01:34 2010
New Revision: 23358

Log:
vp3: The DC-only IDCT is surprisingly not supposed to be bitexact to the
full IDCT. Fix this.

Modified:
   trunk/libavcodec/x86/vp3dsp_mmx.c

Modified: trunk/libavcodec/x86/vp3dsp_mmx.c
==============================================================================
--- trunk/libavcodec/x86/vp3dsp_mmx.c	Thu May 27 23:23:04 2010	(r23357)
+++ trunk/libavcodec/x86/vp3dsp_mmx.c	Fri May 28 09:01:34 2010	(r23358)
@@ -398,9 +398,7 @@ void ff_vp3_idct_add_mmx(uint8_t *dest, 
 
 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"



More information about the ffmpeg-cvslog mailing list