diff options
author | Måns Rullgård <mans@mansr.com> | 2008-10-27 00:25:09 +0000 |
---|---|---|
committer | Måns Rullgård <mans@mansr.com> | 2008-10-27 00:25:09 +0000 |
commit | c130bedc99346d644f71ff52b0c762c9bf8d38ec (patch) | |
tree | 7b7325347f537eed2b52d7c3ef26d6ea41cd8aff /libavcodec | |
parent | c72ab301888952c317030f631c70a16ec83d800f (diff) | |
download | ffmpeg-c130bedc99346d644f71ff52b0c762c9bf8d38ec.tar.gz |
ARM: use new macros for assembler function labels
Originally committed as revision 15725 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/armv4l/dsputil_arm_s.S | 33 | ||||
-rw-r--r-- | libavcodec/armv4l/jrevdct_arm.S | 6 | ||||
-rw-r--r-- | libavcodec/armv4l/simple_idct_arm.S | 6 | ||||
-rw-r--r-- | libavcodec/armv4l/simple_idct_armv5te.S | 40 | ||||
-rw-r--r-- | libavcodec/armv4l/simple_idct_armv6.S | 40 |
5 files changed, 42 insertions, 83 deletions
diff --git a/libavcodec/armv4l/dsputil_arm_s.S b/libavcodec/armv4l/dsputil_arm_s.S index ccd26ac83b..196f966dd6 100644 --- a/libavcodec/armv4l/dsputil_arm_s.S +++ b/libavcodec/armv4l/dsputil_arm_s.S @@ -20,6 +20,7 @@ @ #include "config.h" +#include "asm.S" #ifndef HAVE_PLD .macro pld reg @@ -79,8 +80,7 @@ @ ---------------------------------------------------------------- .align 8 - .global put_pixels16_arm -put_pixels16_arm: +function put_pixels16_arm, export=1 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned pld [r1] @@ -138,11 +138,11 @@ put_pixels16_arm: .word 2b .word 3b .word 4b + .endfunc @ ---------------------------------------------------------------- .align 8 - .global put_pixels8_arm -put_pixels8_arm: +function put_pixels8_arm, export=1 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned pld [r1] @@ -200,11 +200,11 @@ put_pixels8_arm: .word 2b .word 3b .word 4b + .endfunc @ ---------------------------------------------------------------- .align 8 - .global put_pixels8_x2_arm -put_pixels8_x2_arm: +function put_pixels8_x2_arm, export=1 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned pld [r1] @@ -270,10 +270,10 @@ put_pixels8_x2_arm: .word 2b .word 3b .word 4b + .endfunc .align 8 - .global put_no_rnd_pixels8_x2_arm -put_no_rnd_pixels8_x2_arm: +function put_no_rnd_pixels8_x2_arm, export=1 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned pld [r1] @@ -339,12 +339,12 @@ put_no_rnd_pixels8_x2_arm: .word 2b .word 3b .word 4b + .endfunc @ ---------------------------------------------------------------- .align 8 - .global put_pixels8_y2_arm -put_pixels8_y2_arm: +function put_pixels8_y2_arm, export=1 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned pld [r1] @@ -450,10 +450,10 @@ put_pixels8_y2_arm: .word 2b .word 3b .word 4b + .endfunc .align 8 - .global put_no_rnd_pixels8_y2_arm -put_no_rnd_pixels8_y2_arm: +function put_no_rnd_pixels8_y2_arm, export=1 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned pld [r1] @@ -558,6 +558,7 @@ put_no_rnd_pixels8_y2_arm: .word 2b .word 3b .word 4b + .endfunc @ ---------------------------------------------------------------- .macro RND_XY2_IT align @@ -625,8 +626,7 @@ put_no_rnd_pixels8_y2_arm: .endm .align 8 - .global put_pixels8_xy2_arm -put_pixels8_xy2_arm: +function put_pixels8_xy2_arm, export=1 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned pld [r1] @@ -659,10 +659,10 @@ put_pixels8_xy2_arm: .word 0x02020202 .word 0xFCFCFCFC >> 2 .word 0x0F0F0F0F + .endfunc .align 8 - .global put_no_rnd_pixels8_xy2_arm -put_no_rnd_pixels8_xy2_arm: +function put_no_rnd_pixels8_xy2_arm, export=1 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned pld [r1] @@ -695,3 +695,4 @@ put_no_rnd_pixels8_xy2_arm: .word 0x01010101 .word 0xFCFCFCFC >> 2 .word 0x0F0F0F0F + .endfunc diff --git a/libavcodec/armv4l/jrevdct_arm.S b/libavcodec/armv4l/jrevdct_arm.S index 294ea47509..90bc2784ec 100644 --- a/libavcodec/armv4l/jrevdct_arm.S +++ b/libavcodec/armv4l/jrevdct_arm.S @@ -24,6 +24,9 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ + +#include "asm.S" + #define FIX_0_298631336 2446 #define FIX_0_541196100 4433 #define FIX_0_765366865 6270 @@ -54,8 +57,7 @@ .text .align - .global j_rev_dct_ARM -j_rev_dct_ARM: +function j_rev_dct_ARM, export=1 stmdb sp!, { r4 - r12, lr } @ all callee saved regs sub sp, sp, #4 @ reserve some space on the stack diff --git a/libavcodec/armv4l/simple_idct_arm.S b/libavcodec/armv4l/simple_idct_arm.S index 98e9009709..16ade1f3da 100644 --- a/libavcodec/armv4l/simple_idct_arm.S +++ b/libavcodec/armv4l/simple_idct_arm.S @@ -24,6 +24,8 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "asm.S" + /* useful constants for the algorithm, they are save in __constant_ptr__ at */ /* the end of the source code.*/ #define W1 22725 @@ -53,10 +55,8 @@ .text - .align - .global simple_idct_ARM -simple_idct_ARM: +function simple_idct_ARM, export=1 @@ void simple_idct_ARM(int16_t *block) @@ save stack for reg needed (take all of them), @@ R0-R3 are scratch regs, so no need to save them, but R0 contains the pointer to block diff --git a/libavcodec/armv4l/simple_idct_armv5te.S b/libavcodec/armv4l/simple_idct_armv5te.S index 8add331272..58040ec1ba 100644 --- a/libavcodec/armv4l/simple_idct_armv5te.S +++ b/libavcodec/armv4l/simple_idct_armv5te.S @@ -21,6 +21,8 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "asm.S" + #define W1 22725 /* cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5 */ #define W2 21407 /* cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5 */ #define W3 19266 /* cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5 */ @@ -41,10 +43,7 @@ w13: .long W13 w26: .long W26 w57: .long W57 - .align - .type idct_row_armv5te, %function - .func idct_row_armv5te -idct_row_armv5te: +function idct_row_armv5te str lr, [sp, #-4]! ldrd v1, [a1, #8] @@ -262,10 +261,7 @@ row_dc_only: sub fp, fp, a4 .endm - .align - .type idct_col_armv5te, %function - .func idct_col_armv5te -idct_col_armv5te: +function idct_col_armv5te str lr, [sp, #-4]! idct_col @@ -337,10 +333,7 @@ idct_col_armv5te: ldr pc, [sp], #4 .endfunc - .align - .type idct_col_put_armv5te, %function - .func idct_col_put_armv5te -idct_col_put_armv5te: +function idct_col_put_armv5te str lr, [sp, #-4]! idct_col @@ -457,10 +450,7 @@ idct_col_put_armv5te: ldr pc, [sp], #4 .endfunc - .align - .type idct_col_add_armv5te, %function - .func idct_col_add_armv5te -idct_col_add_armv5te: +function idct_col_add_armv5te str lr, [sp, #-4]! idct_col @@ -610,11 +600,7 @@ idct_col_add_armv5te: ldr pc, [sp], #4 .endfunc - .align - .global simple_idct_armv5te - .type simple_idct_armv5te, %function - .func simple_idct_armv5te -simple_idct_armv5te: +function simple_idct_armv5te, export=1 stmfd sp!, {v1, v2, v3, v4, v5, v6, v7, fp, lr} bl idct_row_armv5te @@ -646,11 +632,7 @@ simple_idct_armv5te: ldmfd sp!, {v1, v2, v3, v4, v5, v6, v7, fp, pc} .endfunc - .align - .global simple_idct_add_armv5te - .type simple_idct_add_armv5te, %function - .func simple_idct_add_armv5te -simple_idct_add_armv5te: +function simple_idct_add_armv5te, export=1 stmfd sp!, {a1, a2, v1, v2, v3, v4, v5, v6, v7, fp, lr} mov a1, a3 @@ -685,11 +667,7 @@ simple_idct_add_armv5te: ldmfd sp!, {v1, v2, v3, v4, v5, v6, v7, fp, pc} .endfunc - .align - .global simple_idct_put_armv5te - .type simple_idct_put_armv5te, %function - .func simple_idct_put_armv5te -simple_idct_put_armv5te: +function simple_idct_put_armv5te, export=1 stmfd sp!, {a1, a2, v1, v2, v3, v4, v5, v6, v7, fp, lr} mov a1, a3 diff --git a/libavcodec/armv4l/simple_idct_armv6.S b/libavcodec/armv4l/simple_idct_armv6.S index ab18c9f870..4f3330d223 100644 --- a/libavcodec/armv4l/simple_idct_armv6.S +++ b/libavcodec/armv4l/simple_idct_armv6.S @@ -21,6 +21,8 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "asm.S" + #define W1 22725 /* cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5 */ #define W2 21407 /* cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5 */ #define W3 19266 /* cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5 */ @@ -190,10 +192,7 @@ w57: .long W57 a1 = source a2 = dest */ - .align - .type idct_row_armv6, %function - .func idct_row_armv6 -idct_row_armv6: +function idct_row_armv6 str lr, [sp, #-4]! ldr lr, [a1, #12] /* lr = row[7,5] */ @@ -245,10 +244,7 @@ idct_row_armv6: a1 = source a2 = dest */ - .align - .type idct_col_armv6, %function - .func idct_col_armv6 -idct_col_armv6: +function idct_col_armv6 stmfd sp!, {a2, lr} ldr a3, [a1] /* a3 = row[2,0] */ @@ -276,10 +272,7 @@ idct_col_armv6: a2 = dest a3 = line size */ - .align - .type idct_col_put_armv6, %function - .func idct_col_put_armv6 -idct_col_put_armv6: +function idct_col_put_armv6 stmfd sp!, {a2, a3, lr} ldr a3, [a1] /* a3 = row[2,0] */ @@ -309,10 +302,7 @@ idct_col_put_armv6: a2 = dest a3 = line size */ - .align - .type idct_col_add_armv6, %function - .func idct_col_add_armv6 -idct_col_add_armv6: +function idct_col_add_armv6 stmfd sp!, {a2, a3, lr} ldr a3, [a1] /* a3 = row[2,0] */ @@ -393,12 +383,8 @@ idct_col_add_armv6: sub a1, a1, #(16*7) .endm - .align - .global ff_simple_idct_armv6 - .type ff_simple_idct_armv6, %function - .func ff_simple_idct_armv6 /* void ff_simple_idct_armv6(DCTELEM *data); */ -ff_simple_idct_armv6: +function ff_simple_idct_armv6, export=1 stmfd sp!, {v1, v2, v3, v4, v5, v6, v7, fp, lr} sub sp, sp, #128 @@ -412,12 +398,8 @@ ff_simple_idct_armv6: ldmfd sp!, {v1, v2, v3, v4, v5, v6, v7, fp, pc} .endfunc - .align - .global ff_simple_idct_add_armv6 - .type ff_simple_idct_add_armv6, %function - .func ff_simple_idct_add_armv6 /* ff_simple_idct_add_armv6(uint8_t *dest, int line_size, DCTELEM *data); */ -ff_simple_idct_add_armv6: +function ff_simple_idct_add_armv6, export=1 stmfd sp!, {a1, a2, v1, v2, v3, v4, v5, v6, v7, fp, lr} sub sp, sp, #128 @@ -433,12 +415,8 @@ ff_simple_idct_add_armv6: ldmfd sp!, {v1, v2, v3, v4, v5, v6, v7, fp, pc} .endfunc - .align - .global ff_simple_idct_put_armv6 - .type ff_simple_idct_put_armv6, %function - .func ff_simple_idct_put_armv6 /* ff_simple_idct_put_armv6(uint8_t *dest, int line_size, DCTELEM *data); */ -ff_simple_idct_put_armv6: +function ff_simple_idct_put_armv6, export=1 stmfd sp!, {a1, a2, v1, v2, v3, v4, v5, v6, v7, fp, lr} sub sp, sp, #128 |