[FFmpeg-cvslog] avcodec/ra144enc: avoid calling emms when the SSE2 version is used

Michael Niedermayer git at videolan.org
Wed Mar 5 14:30:12 CET 2014


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Wed Mar  5 14:17:55 2014 +0100| [100e8f8b67b40ea1bcc858df5ee8e50012c0959d] | committer: Michael Niedermayer

avcodec/ra144enc: avoid calling emms when the SSE2 version is used

emms is a rather slow operation

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 libavcodec/ra144enc.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/libavcodec/ra144enc.c b/libavcodec/ra144enc.c
index cafedda..7f7c9f3 100644
--- a/libavcodec/ra144enc.c
+++ b/libavcodec/ra144enc.c
@@ -34,7 +34,7 @@
 #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,7 +376,8 @@ 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;
-        emms_c();
+        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++) {



More information about the ffmpeg-cvslog mailing list