[FFmpeg-cvslog] aarch64: use EXTERN_ASM consistently for exported symbols

Janne Grunau git at videolan.org
Thu Feb 20 23:17:47 CET 2014


ffmpeg | branch: master | Janne Grunau <janne-libav at jannau.net> | Fri Feb  7 16:05:50 2014 +0100| [9c029f67ca82147ddfa83a1546ee1e109e11fbd4] | committer: Janne Grunau

aarch64: use EXTERN_ASM consistently for exported symbols

Based on e3fec3f095ab5ea08ee662942d98526aaf5e3635 for arm.

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

 libavcodec/aarch64/h264idct_neon.S |   16 ++++++++--------
 libavutil/aarch64/asm.S            |    9 ++++++++-
 2 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/libavcodec/aarch64/h264idct_neon.S b/libavcodec/aarch64/h264idct_neon.S
index 1c90c4c..99c2cb5 100644
--- a/libavcodec/aarch64/h264idct_neon.S
+++ b/libavcodec/aarch64/h264idct_neon.S
@@ -106,8 +106,8 @@ function ff_h264_idct_add16_neon, export=1
         mov             w9,  w3         // stride
         movrel          x7,  scan8
         mov             x10, #16
-        movrel          x13, ff_h264_idct_dc_add_neon
-        movrel          x14, ff_h264_idct_add_neon
+        movrel          x13, X(ff_h264_idct_dc_add_neon)
+        movrel          x14, X(ff_h264_idct_add_neon)
 1:      mov             w2,  w9
         ldrb            w3,  [x7], #1
         ldrsw           x0,  [x5], #4
@@ -133,8 +133,8 @@ function ff_h264_idct_add16intra_neon, export=1
         mov             w9,  w3         // stride
         movrel          x7,  scan8
         mov             x10, #16
-        movrel          x13, ff_h264_idct_dc_add_neon
-        movrel          x14, ff_h264_idct_add_neon
+        movrel          x13, X(ff_h264_idct_dc_add_neon)
+        movrel          x14, X(ff_h264_idct_add_neon)
 1:      mov             w2,  w9
         ldrb            w3,  [x7], #1
         ldrsw           x0,  [x5], #4
@@ -160,8 +160,8 @@ function ff_h264_idct_add8_neon, export=1
         add             x5,  x1,  #16*4         // block_offset
         add             x9,  x2,  #16*32        // block
         mov             w19, w3                 // stride
-        movrel          x13, ff_h264_idct_dc_add_neon
-        movrel          x14, ff_h264_idct_add_neon
+        movrel          x13, X(ff_h264_idct_dc_add_neon)
+        movrel          x14, X(ff_h264_idct_add_neon)
         movrel          x7,  scan8+16
         mov             x10, #0
         mov             x11, #16
@@ -374,8 +374,8 @@ function ff_h264_idct8_add4_neon, export=1
         mov             w2,  w3
         movrel          x7,  scan8
         mov             w10, #16
-        movrel          x13, ff_h264_idct8_dc_add_neon
-        movrel          x14, ff_h264_idct8_add_neon
+        movrel          x13, X(ff_h264_idct8_dc_add_neon)
+        movrel          x14, X(ff_h264_idct8_add_neon)
 1:      ldrb            w9,  [x7], #4
         ldrsw           x0,  [x5], #16
         ldrb            w9,  [x4, w9, UXTW]
diff --git a/libavutil/aarch64/asm.S b/libavutil/aarch64/asm.S
index 94e5a84..6c93d11 100644
--- a/libavutil/aarch64/asm.S
+++ b/libavutil/aarch64/asm.S
@@ -36,11 +36,14 @@ ELF     .size   \name, . - \name
         .align          \align
     .if \export
         .global EXTERN_ASM\name
+ELF     .type   EXTERN_ASM\name, %function
+        .func   EXTERN_ASM\name
 EXTERN_ASM\name:
-    .endif
+    .else
 ELF     .type   \name, %function
         .func   \name
 \name:
+    .endif
 .endm
 
 .macro  const   name, align=2
@@ -61,3 +64,7 @@ ELF     .size   \name, . - \name
         ldr             \rd, =\val
 #endif
 .endm
+
+#define GLUE(a, b) a ## b
+#define JOIN(a, b) GLUE(a, b)
+#define X(s) JOIN(EXTERN_ASM, s)



More information about the ffmpeg-cvslog mailing list