[FFmpeg-cvslog] arm: Allow overriding the alignment set in the function macro

Martin Storsjö git at videolan.org
Wed Jan 8 05:44:22 CET 2014


ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Tue Jan  7 12:13:11 2014 +0200| [5dae4872357613a0b51120b54a4c5221e0ec3f69] | committer: Martin Storsjö

arm: Allow overriding the alignment set in the function macro

The function macro always sets .align 2 before declaring the
function label (since 5c5e1ea3) and always sets the section to
.text (since 278caa6a).

The .align 5 before certain functions, added in fc252eba, were added
before .text and .align were added to the function macro and thus
became useless/unused when the function macro got them.

This restores the original intention, to align the loop entry
points.

Signed-off-by: Martin Storsjö <martin at martin.st>

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

 libavcodec/arm/dsputil_arm.S |    3 +--
 libavcodec/arm/hpeldsp_arm.S |   24 ++++++++----------------
 libavutil/arm/asm.S          |    4 ++--
 3 files changed, 11 insertions(+), 20 deletions(-)

diff --git a/libavcodec/arm/dsputil_arm.S b/libavcodec/arm/dsputil_arm.S
index f0029ae..82fcf2a 100644
--- a/libavcodec/arm/dsputil_arm.S
+++ b/libavcodec/arm/dsputil_arm.S
@@ -22,9 +22,8 @@
 #include "config.h"
 #include "libavutil/arm/asm.S"
 
-        .align 5
 @ void ff_add_pixels_clamped_arm(int16_t *block, uint8_t *dest, int stride)
-function ff_add_pixels_clamped_arm, export=1
+function ff_add_pixels_clamped_arm, export=1, align=5
         push            {r4-r10}
         mov             r10, #8
 1:
diff --git a/libavcodec/arm/hpeldsp_arm.S b/libavcodec/arm/hpeldsp_arm.S
index d4f97e3..5bacd8e 100644
--- a/libavcodec/arm/hpeldsp_arm.S
+++ b/libavcodec/arm/hpeldsp_arm.S
@@ -89,8 +89,7 @@
 .endm
 
 @ ----------------------------------------------------------------
-        .align 5
-function ff_put_pixels16_arm, export=1
+function ff_put_pixels16_arm, export=1, align=5
         @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
         @ block = word aligned, pixles = unaligned
         pld             [r1]
@@ -141,8 +140,7 @@ function ff_put_pixels16_arm, export=1
 endfunc
 
 @ ----------------------------------------------------------------
-        .align 5
-function ff_put_pixels8_arm, export=1
+function ff_put_pixels8_arm, export=1, align=5
         @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
         @ block = word aligned, pixles = unaligned
         pld             [r1]
@@ -193,8 +191,7 @@ function ff_put_pixels8_arm, export=1
 endfunc
 
 @ ----------------------------------------------------------------
-        .align 5
-function ff_put_pixels8_x2_arm, export=1
+function ff_put_pixels8_x2_arm, export=1, align=5
         @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
         @ block = word aligned, pixles = unaligned
         pld             [r1]
@@ -252,8 +249,7 @@ function ff_put_pixels8_x2_arm, export=1
         pop             {r4-r10,pc}
 endfunc
 
-        .align 5
-function ff_put_no_rnd_pixels8_x2_arm, export=1
+function ff_put_no_rnd_pixels8_x2_arm, export=1, align=5
         @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
         @ block = word aligned, pixles = unaligned
         pld             [r1]
@@ -313,8 +309,7 @@ endfunc
 
 
 @ ----------------------------------------------------------------
-        .align 5
-function ff_put_pixels8_y2_arm, export=1
+function ff_put_pixels8_y2_arm, export=1, align=5
         @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
         @ block = word aligned, pixles = unaligned
         pld             [r1]
@@ -411,8 +406,7 @@ function ff_put_pixels8_y2_arm, export=1
         pop             {r4-r11,pc}
 endfunc
 
-        .align 5
-function ff_put_no_rnd_pixels8_y2_arm, export=1
+function ff_put_no_rnd_pixels8_y2_arm, export=1, align=5
         @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
         @ block = word aligned, pixles = unaligned
         pld             [r1]
@@ -578,8 +572,7 @@ endfunc
         pop             {r4-r11,pc}
 .endm
 
-        .align 5
-function ff_put_pixels8_xy2_arm, export=1
+function ff_put_pixels8_xy2_arm, export=1, align=5
         @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
         @ block = word aligned, pixles = unaligned
         pld             [r1]
@@ -594,8 +587,7 @@ function ff_put_pixels8_xy2_arm, export=1
 4:      RND_XY2_EXPAND  3, lsl
 endfunc
 
-        .align 5
-function ff_put_no_rnd_pixels8_xy2_arm, export=1
+function ff_put_no_rnd_pixels8_xy2_arm, export=1, align=5
         @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
         @ block = word aligned, pixles = unaligned
         pld             [r1]
diff --git a/libavutil/arm/asm.S b/libavutil/arm/asm.S
index 4638200..57efe97 100644
--- a/libavutil/arm/asm.S
+++ b/libavutil/arm/asm.S
@@ -54,7 +54,7 @@
 T       .thumb
 ELF     .eabi_attribute 25, 1           @ Tag_ABI_align_preserved
 
-.macro  function name, export=0
+.macro  function name, export=0, align=2
         .set            .Lpic_idx, 0
         .set            .Lpic_gp, 0
     .macro endfunc
@@ -69,7 +69,7 @@ ELF     .size   \name, . - \name
         .purgem endfunc
     .endm
         .text
-        .align          2
+        .align          \align
     .if \export
         .global EXTERN_ASM\name
 EXTERN_ASM\name:



More information about the ffmpeg-cvslog mailing list