From 9e0e1f9067430de1655a7b28536b5afed48bded5 Mon Sep 17 00:00:00 2001 From: James Almer Date: Wed, 5 Mar 2014 19:44:36 -0300 Subject: [PATCH] x86/dsputil: add emms to ff_scalarproduct_int16_mmxext() Also undo the changes to ra144enc.c from previous commits. Should fix ticket #3429 Signed-off-by: James Almer Signed-off-by: Michael Niedermayer --- libavcodec/ra144enc.c | 3 --- libavcodec/x86/dsputil.asm | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libavcodec/ra144enc.c b/libavcodec/ra144enc.c index 7f7c9f39b7..1f4e5bae45 100644 --- a/libavcodec/ra144enc.c +++ b/libavcodec/ra144enc.c @@ -34,7 +34,6 @@ #include "mathops.h" #include "put_bits.h" #include "ra144.h" -#include "libavutil/x86/cpu.h" static av_cold int ra144_encode_close(AVCodecContext *avctx) { @@ -376,8 +375,6 @@ static void ra144_encode_subblock(RA144Context *ractx, ff_copy_and_dup(ractx->buffer_a, ractx->adapt_cb, cba_idx + BLOCKSIZE / 2 - 1); m[0] = (ff_irms(&ractx->dsp, ractx->buffer_a) * rms) >> 12; - if (!EXTERNAL_SSE2(av_get_cpu_flags())) - emms_c(); } fixed_cb_search(work + LPC_ORDER, coefs, data, cba_idx, &cb1_idx, &cb2_idx); for (i = 0; i < BLOCKSIZE; i++) { diff --git a/libavcodec/x86/dsputil.asm b/libavcodec/x86/dsputil.asm index 7162034c67..d802368e1a 100644 --- a/libavcodec/x86/dsputil.asm +++ b/libavcodec/x86/dsputil.asm @@ -61,6 +61,9 @@ cglobal scalarproduct_int16, 3,3,3, v1, v2, order %endif paddd m2, m0 movd eax, m2 +%if mmsize == 8 + emms +%endif RET ; int scalarproduct_and_madd_int16(int16_t *v1, int16_t *v2, int16_t *v3, int order, int mul)