aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMans Rullgard <mans@mansr.com>2011-07-09 12:37:08 +0100
committerMans Rullgard <mans@mansr.com>2011-07-10 17:56:06 +0100
commit11043d80f60ca37330f5f1afb8ee956665a71290 (patch)
tree4130024372ffb84b30112245fa8b156db912c62b
parent39c2a6bf44b25534fdbc9b6ac3844dab28ba5b0e (diff)
downloadffmpeg-11043d80f60ca37330f5f1afb8ee956665a71290.tar.gz
ARM: use const macro to define constant data in asm
Signed-off-by: Mans Rullgard <mans@mansr.com>
-rw-r--r--libavcodec/arm/fft_neon.S16
-rw-r--r--libavcodec/arm/h264idct_neon.S5
-rw-r--r--libavcodec/arm/h264pred_neon.S7
-rw-r--r--libavcodec/arm/simple_idct_neon.S5
-rw-r--r--libavcodec/arm/vp3dsp_neon.S8
-rw-r--r--libavcodec/arm/vp8_armv6.S4
6 files changed, 20 insertions, 25 deletions
diff --git a/libavcodec/arm/fft_neon.S b/libavcodec/arm/fft_neon.S
index 887621834e..b79a2dc265 100644
--- a/libavcodec/arm/fft_neon.S
+++ b/libavcodec/arm/fft_neon.S
@@ -349,9 +349,7 @@ function ff_fft_permute_neon, export=1
pop {r4,pc}
endfunc
- .section .rodata
- .align 4
-fft_tab_neon:
+const fft_tab_neon
.word fft4_neon
.word fft8_neon
.word fft16_neon
@@ -367,8 +365,12 @@ fft_tab_neon:
.word fft16384_neon
.word fft32768_neon
.word fft65536_neon
-ELF .size fft_tab_neon, . - fft_tab_neon
+endconst
- .align 4
-pmmp: .float +1.0, -1.0, -1.0, +1.0
-mppm: .float -M_SQRT1_2, M_SQRT1_2, M_SQRT1_2, -M_SQRT1_2
+const pmmp, align=4
+ .float +1.0, -1.0, -1.0, +1.0
+endconst
+
+const mppm, align=4
+ .float -M_SQRT1_2, M_SQRT1_2, M_SQRT1_2, -M_SQRT1_2
+endconst
diff --git a/libavcodec/arm/h264idct_neon.S b/libavcodec/arm/h264idct_neon.S
index eadf2e711d..6c62e0f7cb 100644
--- a/libavcodec/arm/h264idct_neon.S
+++ b/libavcodec/arm/h264idct_neon.S
@@ -383,8 +383,8 @@ function ff_h264_idct8_add4_neon, export=1
pop {r4-r8,pc}
endfunc
- .section .rodata
-scan8: .byte 4+ 1*8, 5+ 1*8, 4+ 2*8, 5+ 2*8
+const scan8
+ .byte 4+ 1*8, 5+ 1*8, 4+ 2*8, 5+ 2*8
.byte 6+ 1*8, 7+ 1*8, 6+ 2*8, 7+ 2*8
.byte 4+ 3*8, 5+ 3*8, 4+ 4*8, 5+ 4*8
.byte 6+ 3*8, 7+ 3*8, 6+ 4*8, 7+ 4*8
@@ -396,3 +396,4 @@ scan8: .byte 4+ 1*8, 5+ 1*8, 4+ 2*8, 5+ 2*8
.byte 6+11*8, 7+11*8, 6+12*8, 7+12*8
.byte 4+13*8, 5+13*8, 4+14*8, 5+14*8
.byte 6+13*8, 7+13*8, 6+14*8, 7+14*8
+endconst
diff --git a/libavcodec/arm/h264pred_neon.S b/libavcodec/arm/h264pred_neon.S
index fe8a369a90..815b67b81f 100644
--- a/libavcodec/arm/h264pred_neon.S
+++ b/libavcodec/arm/h264pred_neon.S
@@ -166,12 +166,9 @@ function ff_pred16x16_plane_neon, export=1
bx lr
endfunc
- .section .rodata
- .align 4
-p16weight:
+const p16weight, align=4
.short 1,2,3,4,5,6,7,8
-
- .text
+endconst
function ff_pred8x8_hor_neon, export=1
sub r2, r0, #1
diff --git a/libavcodec/arm/simple_idct_neon.S b/libavcodec/arm/simple_idct_neon.S
index cbed9eefe4..0c4e05d869 100644
--- a/libavcodec/arm/simple_idct_neon.S
+++ b/libavcodec/arm/simple_idct_neon.S
@@ -243,10 +243,9 @@ function idct_col4_st8_neon
bx lr
endfunc
- .section .rodata
- .align 4
-idct_coeff_neon:
+const idct_coeff_neon, align=4
.short W1, W2, W3, W4, W5, W6, W7, W4c
+endconst
.macro idct_start data
push {r4-r7, lr}
diff --git a/libavcodec/arm/vp3dsp_neon.S b/libavcodec/arm/vp3dsp_neon.S
index c1a55cad2f..279b13225b 100644
--- a/libavcodec/arm/vp3dsp_neon.S
+++ b/libavcodec/arm/vp3dsp_neon.S
@@ -20,11 +20,9 @@
#include "asm.S"
-.section .rodata
-.align 4
-
-vp3_idct_constants:
+const vp3_idct_constants, align=4
.short 64277, 60547, 54491, 46341, 36410, 25080, 12785
+endconst
#define xC1S7 d0[0]
#define xC2S6 d0[1]
@@ -34,8 +32,6 @@ vp3_idct_constants:
#define xC6S2 d1[1]
#define xC7S1 d1[2]
-.text
-
.macro vp3_loop_filter
vsubl.u8 q3, d18, d17
vsubl.u8 q2, d16, d19
diff --git a/libavcodec/arm/vp8_armv6.S b/libavcodec/arm/vp8_armv6.S
index 1d89c68909..594046d709 100644
--- a/libavcodec/arm/vp8_armv6.S
+++ b/libavcodec/arm/vp8_armv6.S
@@ -240,9 +240,9 @@ A orrcs r8, r8, r10, lsl r6
b 5b
endfunc
- .section .rodata
-zigzag_scan:
+const zigzag_scan
.byte 0, 2, 8, 16
.byte 10, 4, 6, 12
.byte 18, 24, 26, 20
.byte 14, 22, 28, 30
+endconst