summaryrefslogtreecommitdiff
path: root/libavcodec/arm/h264idct_neon.S
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/arm/h264idct_neon.S')
-rw-r--r--libavcodec/arm/h264idct_neon.S23
1 files changed, 15 insertions, 8 deletions
diff --git a/libavcodec/arm/h264idct_neon.S b/libavcodec/arm/h264idct_neon.S
index 3c743e1607..eadf2e711d 100644
--- a/libavcodec/arm/h264idct_neon.S
+++ b/libavcodec/arm/h264idct_neon.S
@@ -106,10 +106,12 @@ function ff_h264_idct_add16_neon, export=1
blt 2f
ldrsh lr, [r1]
add r0, r0, r4
+ it ne
movne lr, #0
cmp lr, #0
- adrne lr, ff_h264_idct_dc_add_neon
- adreq lr, ff_h264_idct_add_neon
+ ite ne
+ adrne lr, ff_h264_idct_dc_add_neon + CONFIG_THUMB
+ adreq lr, ff_h264_idct_add_neon + CONFIG_THUMB
blx lr
2: subs ip, ip, #1
add r1, r1, #32
@@ -132,8 +134,9 @@ function ff_h264_idct_add16intra_neon, export=1
add r0, r0, r4
cmp r8, #0
ldrsh r8, [r1]
- adrne lr, ff_h264_idct_add_neon
- adreq lr, ff_h264_idct_dc_add_neon
+ iteet ne
+ adrne lr, ff_h264_idct_add_neon + CONFIG_THUMB
+ adreq lr, ff_h264_idct_dc_add_neon + CONFIG_THUMB
cmpeq r8, #0
blxne lr
subs ip, ip, #1
@@ -159,12 +162,14 @@ function ff_h264_idct_add8_neon, export=1
add r1, r3, r12, lsl #5
cmp r8, #0
ldrsh r8, [r1]
- adrne lr, ff_h264_idct_add_neon
- adreq lr, ff_h264_idct_dc_add_neon
+ iteet ne
+ adrne lr, ff_h264_idct_add_neon + CONFIG_THUMB
+ adreq lr, ff_h264_idct_dc_add_neon + CONFIG_THUMB
cmpeq r8, #0
blxne lr
add r12, r12, #1
cmp r12, #4
+ itt eq
moveq r12, #16
moveq r4, r9
cmp r12, #20
@@ -365,10 +370,12 @@ function ff_h264_idct8_add4_neon, export=1
blt 2f
ldrsh lr, [r1]
add r0, r0, r4
+ it ne
movne lr, #0
cmp lr, #0
- adrne lr, ff_h264_idct8_dc_add_neon
- adreq lr, ff_h264_idct8_add_neon
+ ite ne
+ adrne lr, ff_h264_idct8_dc_add_neon + CONFIG_THUMB
+ adreq lr, ff_h264_idct8_add_neon + CONFIG_THUMB
blx lr
2: subs r12, r12, #4
add r1, r1, #128