Enables back the mmx/sse optimized version of the vp3 idct.
authorAurelien Jacobs <aurel@gnuage.org>
Tue, 12 Sep 2006 20:58:17 +0000 (20:58 +0000)
committerAurelien Jacobs <aurel@gnuage.org>
Tue, 12 Sep 2006 20:58:17 +0000 (20:58 +0000)
It generates different md5sum than the reference C implementation,
but no visual difference, so enabled only when bitexact is not set.

Originally committed as revision 6241 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/i386/dsputil_mmx.c

index aa592d92fb67d010e34dc55c60dff288f8ce0084..74c6f52173468986ddfad9f922013c1c57b57ce6 100644 (file)
@@ -3053,8 +3053,8 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx)
                     c->idct    = ff_mmx_idct;
                 }
                 c->idct_permutation_type= FF_LIBMPEG2_IDCT_PERM;
-#if 0
-            }else if(idct_algo==FF_IDCT_VP3){
+            }else if(idct_algo==FF_IDCT_VP3 &&
+                     !(avctx->flags & CODEC_FLAG_BITEXACT)){
                 if(mm_flags & MM_SSE2){
                     c->idct_put= ff_vp3_idct_put_sse2;
                     c->idct_add= ff_vp3_idct_add_sse2;
@@ -3067,7 +3067,6 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx)
                     c->idct    = ff_vp3_idct_mmx;
                     c->idct_permutation_type= FF_PARTTRANS_IDCT_PERM;
                 }
-#endif
             }else if(idct_algo==FF_IDCT_CAVS){
                     c->idct_permutation_type= FF_TRANSPOSE_IDCT_PERM;
 #ifdef CONFIG_GPL