ref: 81ac3d2a9b8f4b2a213909e9a264ee9dae784beb
parent: 464244ccbe355c07fbcda488992e1d9bd505433a
author: Martin Storsjö <[email protected]>
date: Fri Aug 15 05:50:05 EDT 2014
Fix building svc_motion_estimation.S for android The .align directive takes an argument in number of bits, i.e. the actual alignment is 2^n. Previously building with binutils failed, since 16 isn't a valid parameter to .align, the maximum is 15. Thus, this makes the code try to align to 16 bytes, instead of aligning to 65536 bytes. This fixes building for android. This also clears up the same mistake in the aarch64 code, even though that one built just fine.
--- a/codec/common/arm64/mc_aarch64_neon.S
+++ b/codec/common/arm64/mc_aarch64_neon.S
@@ -33,7 +33,7 @@
#ifdef HAVE_NEON_AARCH64
.text
#include "arm_arch64_common_macro.S"
-.align 16
+.align 4
filter_para: .short 0, 1, -5, 20, 0, 0, 0, 0
#ifdef __APPLE__
--- a/codec/decoder/core/arm64/intra_pred_aarch64_neon.S
+++ b/codec/decoder/core/arm64/intra_pred_aarch64_neon.S
@@ -308,7 +308,7 @@
.endr
WELS_ASM_AARCH64_FUNC_END
-.align 16
+.align 4
intra_1_to_4: .short 17*1, 17*2, 17*3, 17*4, 17*1, 17*2, 17*3, 17*4
intra_m3_to_p4: .short -3, -2, -1, 0, 1, 2, 3, 4
@@ -457,7 +457,7 @@
WELS_ASM_AARCH64_FUNC_END
-.align 16
+.align 4
intra_1_to_8: .short 5, 10, 15, 20, 25, 30, 35, 40
intra_m7_to_p8: .short -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8
--- a/codec/encoder/core/arm/svc_motion_estimation.S
+++ b/codec/encoder/core/arm/svc_motion_estimation.S
@@ -292,7 +292,7 @@
ldmia sp!, {r4-r7}
WELS_ASM_FUNC_END
-.align 16
+.align 4
mv_x_inc_x4: .short 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00
mv_y_inc_x4: .short 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00
mx_x_offset_x4: .short 0x00, 0x04, 0x08, 0x0c, 0x00, 0x00, 0x00, 0x00
--- a/codec/encoder/core/arm64/intra_pred_aarch64_neon.S
+++ b/codec/encoder/core/arm64/intra_pred_aarch64_neon.S
@@ -294,7 +294,7 @@
.endr
WELS_ASM_AARCH64_FUNC_END
-.align 16
+.align 4
intra_1_to_4: .short 17*1, 17*2, 17*3, 17*4, 17*1, 17*2, 17*3, 17*4
intra_m3_to_p4: .short -3, -2, -1, 0, 1, 2, 3, 4
@@ -437,7 +437,7 @@
WELS_ASM_AARCH64_FUNC_END
-.align 16
+.align 4
intra_1_to_8: .short 5, 10, 15, 20, 25, 30, 35, 40
intra_m7_to_p8: .short -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8
--- a/codec/encoder/core/arm64/svc_motion_estimation_aarch64_neon.S
+++ b/codec/encoder/core/arm64/svc_motion_estimation_aarch64_neon.S
@@ -271,7 +271,7 @@
_hash_assign_end:
WELS_ASM_AARCH64_FUNC_END
-.align 16
+.align 4
mv_x_inc_x4: .short 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00
mv_y_inc_x4: .short 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00
mx_x_offset_x4: .short 0x00, 0x04, 0x08, 0x0c, 0x00, 0x00, 0x00, 0x00