[FFmpeg-cvslog] x86/dsputil: add emms to ff_scalarproduct_int16_mmxext()

James Almer git at videolan.org
Thu Mar 6 20:36:13 CET 2014


ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Wed Mar  5 19:44:36 2014 -0300| [9e0e1f9067430de1655a7b28536b5afed48bded5] | committer: Michael Niedermayer

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 at gmail.com>
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9e0e1f9067430de1655a7b28536b5afed48bded5
---

 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 7f7c9f3..1f4e5ba 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 7162034..d802368 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)



More information about the ffmpeg-cvslog mailing list