[FFmpeg-cvslog] ARM: use const macro to define constant data in asm

Mans Rullgard git at videolan.org
Mon Jul 11 05:52:41 CEST 2011


ffmpeg | branch: master | Mans Rullgard <mans at mansr.com> | Sat Jul  9 12:37:08 2011 +0100| [11043d80f60ca37330f5f1afb8ee956665a71290] | committer: Mans Rullgard

ARM: use const macro to define constant data in asm

Signed-off-by: Mans Rullgard <mans at mansr.com>

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

 libavcodec/arm/fft_neon.S         |   16 +++++++++-------
 libavcodec/arm/h264idct_neon.S    |    5 +++--
 libavcodec/arm/h264pred_neon.S    |    7 ++-----
 libavcodec/arm/simple_idct_neon.S |    5 ++---
 libavcodec/arm/vp3dsp_neon.S      |    8 ++------
 libavcodec/arm/vp8_armv6.S        |    4 ++--
 6 files changed, 20 insertions(+), 25 deletions(-)

diff --git a/libavcodec/arm/fft_neon.S b/libavcodec/arm/fft_neon.S
index 8876218..b79a2dc 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 eadf2e7..6c62e0f 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 fe8a369..815b67b 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 cbed9ee..0c4e05d 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 c1a55ca..279b132 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 1d89c68..594046d 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



More information about the ffmpeg-cvslog mailing list