aboutsummaryrefslogtreecommitdiff
path: root/common/arm/ihevc_inter_pred_chroma_vert_w16inp_w16out.s
diff options
context:
space:
mode:
Diffstat (limited to 'common/arm/ihevc_inter_pred_chroma_vert_w16inp_w16out.s')
-rw-r--r--common/arm/ihevc_inter_pred_chroma_vert_w16inp_w16out.s13
1 files changed, 10 insertions, 3 deletions
diff --git a/common/arm/ihevc_inter_pred_chroma_vert_w16inp_w16out.s b/common/arm/ihevc_inter_pred_chroma_vert_w16inp_w16out.s
index 00b3011..0c2ffbd 100644
--- a/common/arm/ihevc_inter_pred_chroma_vert_w16inp_w16out.s
+++ b/common/arm/ihevc_inter_pred_chroma_vert_w16inp_w16out.s
@@ -92,6 +92,11 @@
@r1 => *pi2_dst
@r2 => src_strd
@r3 => dst_strd
+
+.equ coeff_offset, 104
+.equ ht_offset, 108
+.equ wd_offset, 112
+
.text
.align 4
@@ -105,11 +110,12 @@
ihevc_inter_pred_chroma_vert_w16inp_w16out_a9q:
stmfd sp!, {r4-r12, r14} @stack stores the values of the arguments
+ vpush {d8 - d15}
- ldr r4, [sp,#40] @loads pi1_coeff
- ldr r6, [sp,#48] @wd
+ ldr r4, [sp,#coeff_offset] @loads pi1_coeff
+ ldr r6, [sp,#wd_offset] @wd
lsl r2,r2,#1 @src_strd = 2* src_strd
- ldr r5,[sp,#44] @loads ht
+ ldr r5,[sp,#ht_offset] @loads ht
vld1.8 {d0},[r4] @loads pi1_coeff
sub r4,r0,r2 @pu1_src - src_strd
vmovl.s8 q0,d0 @long the value
@@ -322,6 +328,7 @@ epilog:
vst1.32 {d24},[r9] @stores the loaded value
end_loops:
+ vpop {d8 - d15}
ldmfd sp!,{r4-r12,r15} @reload the registers from sp