summaryrefslogtreecommitdiff
path: root/libavcodec/x86
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-05-09 11:35:37 +0200
committerMichael Niedermayer <michaelni@gmx.at>2013-05-09 11:36:29 +0200
commit164899c6e8588c25a1b50d0a0ea285812c36e3d3 (patch)
tree0a96263d98511208753d8ed5edf8d0ece49a18a8 /libavcodec/x86
parent5747d835c775597dcfd8ee1c49dfa5c6fe391c7c (diff)
parent71469f3b636fbe06b6aca5933f9fdebddd8d5f57 (diff)
Merge commit '71469f3b636fbe06b6aca5933f9fdebddd8d5f57'
* commit '71469f3b636fbe06b6aca5933f9fdebddd8d5f57': x86: dsputil: Move constant declarations into separate header Conflicts: libavcodec/x86/dsputil_mmx.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/x86')
-rw-r--r--libavcodec/x86/cavsdsp.c1
-rw-r--r--libavcodec/x86/constants.c1
-rw-r--r--libavcodec/x86/constants.h51
-rw-r--r--libavcodec/x86/dsputil_mmx.c1
-rw-r--r--libavcodec/x86/dsputil_mmx.h24
-rw-r--r--libavcodec/x86/vc1dsp_mmx.c3
6 files changed, 57 insertions, 24 deletions
diff --git a/libavcodec/x86/cavsdsp.c b/libavcodec/x86/cavsdsp.c
index 986fc80ea3..0b40e5a405 100644
--- a/libavcodec/x86/cavsdsp.c
+++ b/libavcodec/x86/cavsdsp.c
@@ -28,6 +28,7 @@
#include "libavutil/x86/asm.h"
#include "libavutil/x86/cpu.h"
#include "libavcodec/cavsdsp.h"
+#include "constants.h"
#include "dsputil_mmx.h"
#include "config.h"
diff --git a/libavcodec/x86/constants.c b/libavcodec/x86/constants.c
index b532e6bdd5..3bba80bd87 100644
--- a/libavcodec/x86/constants.c
+++ b/libavcodec/x86/constants.c
@@ -20,6 +20,7 @@
#include "libavutil/mem.h"
#include "libavutil/x86/asm.h" // for xmm_reg
+#include "constants.h"
DECLARE_ALIGNED(8, const uint64_t, ff_wtwo) = 0x0002000200020002ULL;
diff --git a/libavcodec/x86/constants.h b/libavcodec/x86/constants.h
new file mode 100644
index 0000000000..8097bc49f0
--- /dev/null
+++ b/libavcodec/x86/constants.h
@@ -0,0 +1,51 @@
+/*
+ * MMX/SSE constants used across x86 dsp optimizations.
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg 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.
+ *
+ * FFmpeg 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 FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef AVCODEC_X86_CONSTANTS_H
+#define AVCODEC_X86_CONSTANTS_H
+
+#include <stdint.h>
+
+#include "libavutil/x86/asm.h"
+
+extern const uint64_t ff_wtwo;
+
+extern const xmm_reg ff_pw_3;
+extern const xmm_reg ff_pw_4;
+extern const xmm_reg ff_pw_5;
+extern const xmm_reg ff_pw_8;
+extern const uint64_t ff_pw_15;
+extern const xmm_reg ff_pw_16;
+extern const xmm_reg ff_pw_18;
+extern const uint64_t ff_pw_20;
+extern const xmm_reg ff_pw_32;
+extern const uint64_t ff_pw_42;
+extern const uint64_t ff_pw_53;
+extern const xmm_reg ff_pw_64;
+extern const uint64_t ff_pw_96;
+extern const uint64_t ff_pw_128;
+extern const uint64_t ff_pw_255;
+
+extern const xmm_reg ff_pb_1;
+extern const xmm_reg ff_pb_3;
+extern const xmm_reg ff_pb_F8;
+extern const uint64_t ff_pb_FC;
+
+#endif /* AVCODEC_X86_CONSTANTS_H */
diff --git a/libavcodec/x86/dsputil_mmx.c b/libavcodec/x86/dsputil_mmx.c
index 98bf8fdf61..35d1eb8947 100644
--- a/libavcodec/x86/dsputil_mmx.c
+++ b/libavcodec/x86/dsputil_mmx.c
@@ -30,6 +30,7 @@
#include "libavcodec/mpegvideo.h"
#include "libavcodec/simple_idct.h"
#include "libavcodec/videodsp.h"
+#include "constants.h"
#include "dsputil_mmx.h"
#include "idct_xvid.h"
#include "diracdsp_mmx.h"
diff --git a/libavcodec/x86/dsputil_mmx.h b/libavcodec/x86/dsputil_mmx.h
index 16711c2038..9bd4015d0d 100644
--- a/libavcodec/x86/dsputil_mmx.h
+++ b/libavcodec/x86/dsputil_mmx.h
@@ -27,29 +27,7 @@
#include "libavcodec/dsputil.h"
#include "libavutil/x86/asm.h"
-
-extern const uint64_t ff_wtwo;
-
-extern const xmm_reg ff_pw_3;
-extern const xmm_reg ff_pw_4;
-extern const xmm_reg ff_pw_5;
-extern const xmm_reg ff_pw_8;
-extern const uint64_t ff_pw_15;
-extern const xmm_reg ff_pw_16;
-extern const xmm_reg ff_pw_18;
-extern const uint64_t ff_pw_20;
-extern const xmm_reg ff_pw_32;
-extern const uint64_t ff_pw_42;
-extern const uint64_t ff_pw_53;
-extern const xmm_reg ff_pw_64;
-extern const uint64_t ff_pw_96;
-extern const uint64_t ff_pw_128;
-extern const uint64_t ff_pw_255;
-
-extern const xmm_reg ff_pb_1;
-extern const xmm_reg ff_pb_3;
-extern const xmm_reg ff_pb_F8;
-extern const uint64_t ff_pb_FC;
+#include "constants.h"
#define SBUTTERFLY(a,b,t,n,m)\
"mov" #m " " #a ", " #t " \n\t" /* abcd */\
diff --git a/libavcodec/x86/vc1dsp_mmx.c b/libavcodec/x86/vc1dsp_mmx.c
index 9077c3a4df..c50f779984 100644
--- a/libavcodec/x86/vc1dsp_mmx.c
+++ b/libavcodec/x86/vc1dsp_mmx.c
@@ -28,8 +28,9 @@
#include "libavutil/mem.h"
#include "libavutil/x86/asm.h"
#include "libavutil/x86/cpu.h"
-#include "dsputil_mmx.h"
#include "libavcodec/vc1dsp.h"
+#include "constants.h"
+#include "dsputil_mmx.h"
#include "vc1dsp.h"
#if HAVE_INLINE_ASM