---
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