[FFmpeg-cvslog] x86: deduplicate some constants

Christophe Gisquet git at videolan.org
Thu Mar 16 03:09:21 EET 2017


ffmpeg | branch: master | Christophe Gisquet <christophe.gisquet at gmail.com> | Wed Aug  6 07:43:39 2014 +0000| [3c504bc3599f00bfc5923adc114beef34bce11d0] | committer: Anton Khirnov

x86: deduplicate some constants

Signed-off-by: Anton Khirnov <anton at khirnov.net>

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

 libavcodec/x86/constants.c              | 2 ++
 libavcodec/x86/constants.h              | 3 +++
 libavcodec/x86/h264_intrapred_10bit.asm | 2 +-
 libavcodec/x86/hevc_deblock.asm         | 2 +-
 libavcodec/x86/vp8dsp.asm               | 2 +-
 libavcodec/x86/vp9dsp.asm               | 3 +--
 6 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/libavcodec/x86/constants.c b/libavcodec/x86/constants.c
index 5b8d1b2..47f6ef5 100644
--- a/libavcodec/x86/constants.c
+++ b/libavcodec/x86/constants.c
@@ -43,8 +43,10 @@ DECLARE_ALIGNED(16, const xmm_reg,  ff_pw_64)   = { 0x0040004000400040ULL, 0x004
 DECLARE_ALIGNED(8,  const uint64_t, ff_pw_96)   =   0x0060006000600060ULL;
 DECLARE_ALIGNED(8,  const uint64_t, ff_pw_128)  =   0x0080008000800080ULL;
 DECLARE_ALIGNED(8,  const uint64_t, ff_pw_255)  =   0x00ff00ff00ff00ffULL;
+DECLARE_ALIGNED(16, const xmm_reg,  ff_pw_256)  = { 0x0100010001000100ULL, 0x0100010001000100ULL };
 DECLARE_ALIGNED(16, const xmm_reg,  ff_pw_512)  = { 0x0200020002000200ULL, 0x0200020002000200ULL };
 DECLARE_ALIGNED(16, const xmm_reg,  ff_pw_1019) = { 0x03FB03FB03FB03FBULL, 0x03FB03FB03FB03FBULL };
+DECLARE_ALIGNED(16, const xmm_reg,  ff_pw_m1)   = { 0xFFFFFFFFFFFFFFFFULL, 0xFFFFFFFFFFFFFFFFULL };
 
 DECLARE_ALIGNED(16, const xmm_reg,  ff_pb_0)    = { 0x0000000000000000ULL, 0x0000000000000000ULL };
 DECLARE_ALIGNED(16, const xmm_reg,  ff_pb_1)    = { 0x0101010101010101ULL, 0x0101010101010101ULL };
diff --git a/libavcodec/x86/constants.h b/libavcodec/x86/constants.h
index f38fbe3..c3b8d50 100644
--- a/libavcodec/x86/constants.h
+++ b/libavcodec/x86/constants.h
@@ -42,6 +42,9 @@ 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_pw_256;
+extern const xmm_reg  ff_pw_512;
+extern const xmm_reg  ff_pw_m1;
 
 extern const xmm_reg  ff_pb_1;
 extern const xmm_reg  ff_pb_3;
diff --git a/libavcodec/x86/h264_intrapred_10bit.asm b/libavcodec/x86/h264_intrapred_10bit.asm
index 55790a9..ecbe57b 100644
--- a/libavcodec/x86/h264_intrapred_10bit.asm
+++ b/libavcodec/x86/h264_intrapred_10bit.asm
@@ -26,6 +26,7 @@
 
 SECTION_RODATA
 
+cextern pw_512
 cextern pw_16
 cextern pw_8
 cextern pw_4
@@ -35,7 +36,6 @@ cextern pw_1
 pw_m32101234: dw -3, -2, -1, 0, 1, 2, 3, 4
 pw_m3:        times 8 dw -3
 pw_pixel_max: times 8 dw ((1 << 10)-1)
-pw_512:       times 8 dw 512
 pd_17:        times 4 dd 17
 pd_16:        times 4 dd 16
 
diff --git a/libavcodec/x86/hevc_deblock.asm b/libavcodec/x86/hevc_deblock.asm
index 1e895f0..153eaf7 100644
--- a/libavcodec/x86/hevc_deblock.asm
+++ b/libavcodec/x86/hevc_deblock.asm
@@ -27,12 +27,12 @@
 SECTION_RODATA
 
 pw_pixel_max: times 8 dw ((1 << 10)-1)
-pw_m1:        times 8 dw -1
 pw_m2:        times 8 dw -2
 pd_1 :        times 4 dd  1
 
 cextern pw_4
 cextern pw_8
+cextern pw_m1
 
 SECTION .text
 INIT_XMM sse2
diff --git a/libavcodec/x86/vp8dsp.asm b/libavcodec/x86/vp8dsp.asm
index adc9730..e17d3b2 100644
--- a/libavcodec/x86/vp8dsp.asm
+++ b/libavcodec/x86/vp8dsp.asm
@@ -143,13 +143,13 @@ filter_h6_shuf1: db 0, 5, 1, 6, 2, 7, 3, 8, 4, 9, 5, 10, 6, 11,  7, 12
 filter_h6_shuf2: db 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6,  7, 7,  8,  8,  9
 filter_h6_shuf3: db 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,  9, 9, 10, 10, 11
 
-pw_256:   times 8 dw 256
 pw_20091: times 4 dw 20091
 pw_17734: times 4 dw 17734
 
 cextern pw_3
 cextern pw_4
 cextern pw_64
+cextern pw_256
 
 SECTION .text
 
diff --git a/libavcodec/x86/vp9dsp.asm b/libavcodec/x86/vp9dsp.asm
index 6488f30..442fc2b 100644
--- a/libavcodec/x86/vp9dsp.asm
+++ b/libavcodec/x86/vp9dsp.asm
@@ -24,8 +24,7 @@
 
 SECTION_RODATA
 
-; FIXME share with vp8dsp.asm
-pw_256:   times 8 dw 256
+cextern pw_256
 
 %macro F8_TAPS 8
 times 8 db %1, %2



More information about the ffmpeg-cvslog mailing list