[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