summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2014-03-05 19:44:36 -0300
committerMichael Niedermayer <michaelni@gmx.at>2014-03-06 18:23:55 +0100
commit9e0e1f9067430de1655a7b28536b5afed48bded5 (patch)
treea81b3089bbc22fe9056e296a01053c681c2d3c5c
parent69ead9af7519796eebbc452fbbdb43af8d846173 (diff)
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 <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/ra144enc.c3
-rw-r--r--libavcodec/x86/dsputil.asm3
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)