changeset 10766:78c2be62260a libavcodec

Fix XvMC. XvMCCreateBlocks() may not allocate 16-byte aligned blocks, so we can't use SSE-optimized routines.
author gb
date Mon, 04 Jan 2010 09:19:32 +0000
parents 8963dc7bb923
children 1e0d87fc2818
files x86/dsputil_mmx.c
diffstat 1 files changed, 3 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/x86/dsputil_mmx.c	Sun Jan 03 21:21:41 2010 +0000
+++ b/x86/dsputil_mmx.c	Mon Jan 04 09:19:32 2010 +0000
@@ -2596,7 +2596,9 @@
         c->add_pixels_clamped = add_pixels_clamped_mmx;
         c->clear_block  = clear_block_mmx;
         c->clear_blocks = clear_blocks_mmx;
-        if (mm_flags & FF_MM_SSE){
+        if ((mm_flags & FF_MM_SSE) &&
+            !(CONFIG_MPEG_XVMC_DECODER && avctx->xvmc_acceleration > 1)){
+            /* XvMCCreateBlocks() may not allocate 16-byte aligned blocks */
             c->clear_block  = clear_block_sse;
             c->clear_blocks = clear_blocks_sse;
         }