diff i386/dsputil_mmx.c @ 8032:0839f325edb5 libavcodec

MMX VP3 Loop Filter
author conrad
date Fri, 17 Oct 2008 03:18:08 +0000
parents eebc7209c47f
children b661cf8690a1
line wrap: on
line diff
--- a/i386/dsputil_mmx.c	Thu Oct 16 13:34:09 2008 +0000
+++ b/i386/dsputil_mmx.c	Fri Oct 17 03:18:08 2008 +0000
@@ -63,7 +63,9 @@
 DECLARE_ALIGNED_8 (const uint64_t, ff_pb_1  ) = 0x0101010101010101ULL;
 DECLARE_ALIGNED_8 (const uint64_t, ff_pb_3  ) = 0x0303030303030303ULL;
 DECLARE_ALIGNED_8 (const uint64_t, ff_pb_7  ) = 0x0707070707070707ULL;
+DECLARE_ALIGNED_8 (const uint64_t, ff_pb_1F ) = 0x1F1F1F1F1F1F1F1FULL;
 DECLARE_ALIGNED_8 (const uint64_t, ff_pb_3F ) = 0x3F3F3F3F3F3F3F3FULL;
+DECLARE_ALIGNED_8 (const uint64_t, ff_pb_81 ) = 0x8181818181818181ULL;
 DECLARE_ALIGNED_8 (const uint64_t, ff_pb_A1 ) = 0xA1A1A1A1A1A1A1A1ULL;
 DECLARE_ALIGNED_8 (const uint64_t, ff_pb_FC ) = 0xFCFCFCFCFCFCFCFCULL;
 
@@ -2591,6 +2593,11 @@
             c->h263_v_loop_filter= h263_v_loop_filter_mmx;
             c->h263_h_loop_filter= h263_h_loop_filter_mmx;
         }
+        if ((ENABLE_VP3_DECODER || ENABLE_THEORA_DECODER) &&
+            !(avctx->flags & CODEC_FLAG_BITEXACT)) {
+            c->vp3_v_loop_filter= ff_vp3_v_loop_filter_mmx;
+            c->vp3_h_loop_filter= ff_vp3_h_loop_filter_mmx;
+        }
         c->put_h264_chroma_pixels_tab[0]= put_h264_chroma_mc8_mmx_rnd;
         c->put_h264_chroma_pixels_tab[1]= put_h264_chroma_mc4_mmx;
         c->put_no_rnd_h264_chroma_pixels_tab[0]= put_h264_chroma_mc8_mmx_nornd;