[FFmpeg-cvslog] x86: better share ff_pw_2

Christophe Gisquet git at videolan.org
Wed Aug 6 19:44:36 CEST 2014


ffmpeg | branch: master | Christophe Gisquet <christophe.gisquet at gmail.com> | Wed Aug  6 07:43:40 2014 +0000| [71db2d08b1f1eeda3b47564662365a7886ca5d3e] | committer: Michael Niedermayer

x86: better share ff_pw_2

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

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

 libavcodec/x86/constants.c  |    2 --
 libavcodec/x86/constants.h  |    3 +--
 libavcodec/x86/dwt_yasm.asm |    3 ++-
 libavcodec/x86/inline_asm.h |    2 +-
 4 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/libavcodec/x86/constants.c b/libavcodec/x86/constants.c
index ee3f1a5..bfb0ff3 100644
--- a/libavcodec/x86/constants.c
+++ b/libavcodec/x86/constants.c
@@ -22,8 +22,6 @@
 #include "libavutil/x86/asm.h" // for xmm_reg
 #include "constants.h"
 
-DECLARE_ALIGNED(8,  const uint64_t, ff_wtwo) = 0x0002000200020002ULL;
-
 DECLARE_ALIGNED(16, const xmm_reg,  ff_pw_1)    = { 0x0001000100010001ULL, 0x0001000100010001ULL };
 DECLARE_ALIGNED(16, const xmm_reg,  ff_pw_2)    = { 0x0002000200020002ULL, 0x0002000200020002ULL };
 DECLARE_ALIGNED(16, const xmm_reg,  ff_pw_3)    = { 0x0003000300030003ULL, 0x0003000300030003ULL };
diff --git a/libavcodec/x86/constants.h b/libavcodec/x86/constants.h
index 4520515..c85a54e 100644
--- a/libavcodec/x86/constants.h
+++ b/libavcodec/x86/constants.h
@@ -25,8 +25,7 @@
 
 #include "libavutil/x86/asm.h"
 
-extern const uint64_t ff_wtwo;
-
+extern const xmm_reg  ff_pw_2;
 extern const xmm_reg  ff_pw_3;
 extern const xmm_reg  ff_pw_4;
 extern const xmm_reg  ff_pw_5;
diff --git a/libavcodec/x86/dwt_yasm.asm b/libavcodec/x86/dwt_yasm.asm
index 5253abc..1d8e793 100644
--- a/libavcodec/x86/dwt_yasm.asm
+++ b/libavcodec/x86/dwt_yasm.asm
@@ -23,11 +23,12 @@
 
 SECTION_RODATA
 pw_1: times 8 dw 1
-pw_2: times 8 dw 2
 pw_8: times 8 dw 8
 pw_16: times 8 dw 16
 pw_1991: times 4 dw 9,-1
 
+cextern pw_2
+
 section .text
 
 ; %1 -= (%2 + %3 + 2)>>2     %4 is pw_2
diff --git a/libavcodec/x86/inline_asm.h b/libavcodec/x86/inline_asm.h
index c2f1bf0..3e65a76 100644
--- a/libavcodec/x86/inline_asm.h
+++ b/libavcodec/x86/inline_asm.h
@@ -37,7 +37,7 @@
         "paddb   %%"#regd", %%"#regd"   \n\t" ::)
 
 #ifndef PIC
-#define MOVQ_WTWO(regd) __asm__ volatile ("movq %0, %%"#regd" \n\t" :: "m"(ff_wtwo))
+#define MOVQ_WTWO(regd) __asm__ volatile ("movq %0, %%"#regd" \n\t" :: "m"(ff_pw_2))
 #else
 // for shared library it's better to use this way for accessing constants
 // pcmpeqd -> -1



More information about the ffmpeg-cvslog mailing list