---
 libavcodec/4xm.c           |    1 +
 libavcodec/ac3enc.c        |    1 +
 libavcodec/apedec.c        |    1 +
 libavcodec/asv1.c          |    1 +
 libavcodec/bink.c          |    1 +
 libavcodec/cljr.c          |    1 +
 libavcodec/dsputil.h       |   20 +------------------
 libavcodec/dv.c            |    1 +
 libavcodec/faandct.c       |    1 +
 libavcodec/faanidct.c      |    1 +
 libavcodec/ffv1.c          |    1 +
 libavcodec/huffyuv.c       |    1 +
 libavcodec/imgconvert.c    |    1 +
 libavcodec/jpeglsenc.c     |    1 +
 libavcodec/ljpegenc.c      |    1 +
 libavcodec/mjpegdec.c      |    1 +
 libavcodec/mpeg12.c        |    1 +
 libavcodec/mpegvideo.c     |    1 +
 libavcodec/mpegvideo_enc.c |    1 +
 libavcodec/ratecontrol.c   |    1 +
 libavcodec/snow.c          |    1 +
 libavcodec/utils.c         |    1 +
 libavcodec/vcr1.c          |    1 +
 libavcodec/vp3.c           |    1 +
 libavutil/cpu_internal.h   |   46 ++++++++++++++++++++++++++++++++++++++++++++
 25 files changed, 70 insertions(+), 19 deletions(-)
 create mode 100644 libavutil/cpu_internal.h

diff --git a/libavcodec/4xm.c b/libavcodec/4xm.c
index 176feb9..ca39faf 100644
--- a/libavcodec/4xm.c
+++ b/libavcodec/4xm.c
@@ -24,6 +24,7 @@
  * 4XM codec.
  */
 
+#include "libavutil/cpu_internal.h"
 #include "libavutil/intreadwrite.h"
 #include "avcodec.h"
 #include "dsputil.h"
diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c
index 5014fdb..6776532 100644
--- a/libavcodec/ac3enc.c
+++ b/libavcodec/ac3enc.c
@@ -34,6 +34,7 @@
 #include "libavutil/audioconvert.h"
 #include "libavutil/avassert.h"
 #include "libavutil/avstring.h"
+#include "libavutil/cpu_internal.h"
 #include "libavutil/crc.h"
 #include "libavutil/opt.h"
 #include "avcodec.h"
diff --git a/libavcodec/apedec.c b/libavcodec/apedec.c
index d5a7efd..8de7b2f 100644
--- a/libavcodec/apedec.c
+++ b/libavcodec/apedec.c
@@ -26,6 +26,7 @@
 #include "get_bits.h"
 #include "bytestream.h"
 #include "libavutil/audioconvert.h"
+#include "libavutil/cpu_internal.h"
 
 /**
  * @file
diff --git a/libavcodec/asv1.c b/libavcodec/asv1.c
index e8ab07b..52399d8 100644
--- a/libavcodec/asv1.c
+++ b/libavcodec/asv1.c
@@ -26,6 +26,7 @@
 
 #include "avcodec.h"
 #include "libavutil/common.h"
+#include "libavutil/cpu_internal.h"
 #include "put_bits.h"
 #include "dsputil.h"
 #include "mpeg12data.h"
diff --git a/libavcodec/bink.c b/libavcodec/bink.c
index 34d4d10..950c739 100644
--- a/libavcodec/bink.c
+++ b/libavcodec/bink.c
@@ -20,6 +20,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "libavutil/cpu_internal.h"
 #include "libavutil/imgutils.h"
 #include "avcodec.h"
 #include "dsputil.h"
diff --git a/libavcodec/cljr.c b/libavcodec/cljr.c
index e2b01e2..a95d6cc 100644
--- a/libavcodec/cljr.c
+++ b/libavcodec/cljr.c
@@ -24,6 +24,7 @@
  * Cirrus Logic AccuPak codec.
  */
 
+#include "libavutil/cpu_internal.h"
 #include "avcodec.h"
 #include "dsputil.h"
 #include "get_bits.h"
diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h
index 78d2152..74230ca 100644
--- a/libavcodec/dsputil.h
+++ b/libavcodec/dsputil.h
@@ -630,13 +630,6 @@ static inline int get_penalty_factor(int lambda, int 
lambda2, int type){
     }
 }
 
-/**
- * Empty mmx state.
- * this must be called between any dsp function and float/double code.
- * for example sin(); dsp->idct_put(); emms_c(); cos()
- */
-#define emms_c()
-
 void dsputil_init_alpha(DSPContext* c, AVCodecContext *avctx);
 void dsputil_init_arm(DSPContext* c, AVCodecContext *avctx);
 void dsputil_init_bfin(DSPContext* c, AVCodecContext *avctx);
@@ -654,18 +647,7 @@ void ff_intrax8dsp_init(DSPContext* c, AVCodecContext 
*avctx);
 void ff_mlp_init(DSPContext* c, AVCodecContext *avctx);
 void ff_mlp_init_x86(DSPContext* c, AVCodecContext *avctx);
 
-#if HAVE_MMX
-
-#undef emms_c
-
-static inline void emms(void)
-{
-    __asm__ volatile ("emms;":::"memory");
-}
-
-#define emms_c() emms()
-
-#elif ARCH_ARM
+#if ARCH_ARM
 
 #if HAVE_NEON
 #   define STRIDE_ALIGN 16
diff --git a/libavcodec/dv.c b/libavcodec/dv.c
index 4ee4e5e..a47d64b 100644
--- a/libavcodec/dv.c
+++ b/libavcodec/dv.c
@@ -38,6 +38,7 @@
  * DV codec.
  */
 #define ALT_BITSTREAM_READER
+#include "libavutil/cpu_internal.h"
 #include "avcodec.h"
 #include "dsputil.h"
 #include "get_bits.h"
diff --git a/libavcodec/faandct.c b/libavcodec/faandct.c
index a986f65..495c69c 100644
--- a/libavcodec/faandct.c
+++ b/libavcodec/faandct.c
@@ -25,6 +25,7 @@
  * @author Michael Niedermayer <[email protected]>
  */
 
+#include "libavutil/cpu_internal.h"
 #include "dsputil.h"
 #include "faandct.h"
 
diff --git a/libavcodec/faanidct.c b/libavcodec/faanidct.c
index 0b9b458..09de594 100644
--- a/libavcodec/faanidct.c
+++ b/libavcodec/faanidct.c
@@ -18,6 +18,7 @@
  * License along with Libav; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
+#include "libavutil/cpu_internal.h"
 #include "faanidct.h"
 
 /* To allow switching to double. */
diff --git a/libavcodec/ffv1.c b/libavcodec/ffv1.c
index 53edbb3..7557f81 100644
--- a/libavcodec/ffv1.c
+++ b/libavcodec/ffv1.c
@@ -33,6 +33,7 @@
 #include "golomb.h"
 #include "mathops.h"
 #include "libavutil/avassert.h"
+#include "libavutil/cpu_internal.h"
 
 #define MAX_PLANES 4
 #define CONTEXT_SIZE 32
diff --git a/libavcodec/huffyuv.c b/libavcodec/huffyuv.c
index a399142..f00435c 100644
--- a/libavcodec/huffyuv.c
+++ b/libavcodec/huffyuv.c
@@ -28,6 +28,7 @@
  * huffyuv codec for libavcodec.
  */
 
+#include "libavutil/cpu_internal.h"
 #include "avcodec.h"
 #include "get_bits.h"
 #include "put_bits.h"
diff --git a/libavcodec/imgconvert.c b/libavcodec/imgconvert.c
index 23e4318..3e020cf 100644
--- a/libavcodec/imgconvert.c
+++ b/libavcodec/imgconvert.c
@@ -35,6 +35,7 @@
 #include "internal.h"
 #include "imgconvert.h"
 #include "libavutil/colorspace.h"
+#include "libavutil/cpu_internal.h"
 #include "libavutil/pixdesc.h"
 #include "libavutil/imgutils.h"
 
diff --git a/libavcodec/jpeglsenc.c b/libavcodec/jpeglsenc.c
index a825cf9..68b784a 100644
--- a/libavcodec/jpeglsenc.c
+++ b/libavcodec/jpeglsenc.c
@@ -25,6 +25,7 @@
  * JPEG-LS encoder.
  */
 
+#include "libavutil/cpu_internal.h"
 #include "avcodec.h"
 #include "get_bits.h"
 #include "golomb.h"
diff --git a/libavcodec/ljpegenc.c b/libavcodec/ljpegenc.c
index 56a60c9..2072c3c 100644
--- a/libavcodec/ljpegenc.c
+++ b/libavcodec/ljpegenc.c
@@ -30,6 +30,7 @@
  * lossless JPEG encoder.
  */
 
+#include "libavutil/cpu_internal.h"
 #include "avcodec.h"
 #include "dsputil.h"
 #include "mpegvideo.h"
diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c
index 391d58d..7697650 100644
--- a/libavcodec/mjpegdec.c
+++ b/libavcodec/mjpegdec.c
@@ -33,6 +33,7 @@
 //#define DEBUG
 #include <assert.h>
 
+#include "libavutil/cpu_internal.h"
 #include "libavutil/imgutils.h"
 #include "avcodec.h"
 #include "dsputil.h"
diff --git a/libavcodec/mpeg12.c b/libavcodec/mpeg12.c
index 88ed533..d4b685c 100644
--- a/libavcodec/mpeg12.c
+++ b/libavcodec/mpeg12.c
@@ -26,6 +26,7 @@
  */
 
 //#define DEBUG
+#include "libavutil/cpu_internal.h"
 #include "internal.h"
 #include "avcodec.h"
 #include "dsputil.h"
diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
index 09e8134..5c71a33 100644
--- a/libavcodec/mpegvideo.c
+++ b/libavcodec/mpegvideo.c
@@ -27,6 +27,7 @@
  * The simplest mpeg encoder (well, it was the simplest!).
  */
 
+#include "libavutil/cpu_internal.h"
 #include "libavutil/intmath.h"
 #include "libavutil/imgutils.h"
 #include "avcodec.h"
diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c
index 8df05c4..b02e41e 100644
--- a/libavcodec/mpegvideo_enc.c
+++ b/libavcodec/mpegvideo_enc.c
@@ -27,6 +27,7 @@
  * The simplest mpeg encoder (well, it was the simplest!).
  */
 
+#include "libavutil/cpu_internal.h"
 #include "libavutil/intmath.h"
 #include "avcodec.h"
 #include "dsputil.h"
diff --git a/libavcodec/ratecontrol.c b/libavcodec/ratecontrol.c
index 0d7b995..90629ab 100644
--- a/libavcodec/ratecontrol.c
+++ b/libavcodec/ratecontrol.c
@@ -25,6 +25,7 @@
  * Rate control for video encoders.
  */
 
+#include "libavutil/cpu_internal.h"
 #include "libavutil/intmath.h"
 #include "avcodec.h"
 #include "dsputil.h"
diff --git a/libavcodec/snow.c b/libavcodec/snow.c
index 6db0b29..2495c72 100644
--- a/libavcodec/snow.c
+++ b/libavcodec/snow.c
@@ -18,6 +18,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "libavutil/cpu_internal.h"
 #include "libavutil/intmath.h"
 #include "avcodec.h"
 #include "dsputil.h"
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 9e87994..46cae59 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -27,6 +27,7 @@
 
 #include "libavutil/avstring.h"
 #include "libavutil/integer.h"
+#include "libavutil/cpu_internal.h"
 #include "libavutil/crc.h"
 #include "libavutil/pixdesc.h"
 #include "libavutil/audioconvert.h"
diff --git a/libavcodec/vcr1.c b/libavcodec/vcr1.c
index aaf8eae..15b52b9 100644
--- a/libavcodec/vcr1.c
+++ b/libavcodec/vcr1.c
@@ -24,6 +24,7 @@
  * ati vcr1 codec.
  */
 
+#include "libavutil/cpu_internal.h"
 #include "avcodec.h"
 #include "dsputil.h"
 
diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c
index c3dff7f..a33b098 100644
--- a/libavcodec/vp3.c
+++ b/libavcodec/vp3.c
@@ -33,6 +33,7 @@
 #include <stdlib.h>
 #include <string.h>
 
+#include "libavutil/cpu_internal.h"
 #include "libavutil/imgutils.h"
 #include "avcodec.h"
 #include "dsputil.h"
diff --git a/libavutil/cpu_internal.h b/libavutil/cpu_internal.h
new file mode 100644
index 0000000..f7ee5d0
--- /dev/null
+++ b/libavutil/cpu_internal.h
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2000, 2001, 2002 Fabrice Bellard
+ *
+ * This file is part of Libav.
+ *
+ * Libav is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * Libav is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with Libav; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef AVUTIL_CPU_INTERNAL_H
+#define AVUTIL_CPU_INTERNAL_H
+
+#include "config.h"
+
+/**
+ * Empty mmx state.
+ * this must be called between any dsp function and float/double code.
+ * for example sin(); dsp->idct_put(); emms_c(); cos()
+ */
+#define emms_c()
+
+#if HAVE_MMX
+
+#undef emms_c
+
+static inline void emms(void)
+{
+    __asm__ volatile ("emms;":::"memory");
+}
+
+#define emms_c() emms()
+
+#endif /* HAVE_MMX */
+
+#endif /* AVUTIL_CPU_INTERNAL_H */
-- 
1.7.4.4

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to