diff --git a/libavcodec/x86/dsputil_init.c b/libavcodec/x86/dsputil_init.c index 36fa38fb2a..e0b40410a7 100644 --- a/libavcodec/x86/dsputil_init.c +++ b/libavcodec/x86/dsputil_init.c @@ -27,6 +27,7 @@ #include "libavutil/x86/cpu.h" #include "libavcodec/dsputil.h" #include "libavcodec/simple_idct.h" +#include "libavcodec/version.h" #include "dsputil_x86.h" #include "idct_xvid.h" @@ -582,15 +583,16 @@ static av_cold void dsputil_init_sse(DSPContext *c, AVCodecContext *avctx, #if HAVE_SSE_INLINE const int high_bit_depth = avctx->bits_per_raw_sample > 8; + c->vector_clipf = ff_vector_clipf_sse; + + /* XvMCCreateBlocks() may not allocate 16-byte aligned blocks */ + if (CONFIG_XVMC && avctx->hwaccel && avctx->hwaccel->decode_mb) + return; + if (!high_bit_depth) { - if (!(CONFIG_XVMC && avctx->hwaccel && avctx->hwaccel->decode_mb)) { - /* XvMCCreateBlocks() may not allocate 16-byte aligned blocks */ c->clear_block = ff_clear_block_sse; c->clear_blocks = ff_clear_blocks_sse; - } } - - c->vector_clipf = ff_vector_clipf_sse; #endif /* HAVE_SSE_INLINE */ #if HAVE_YASM