diff options
Diffstat (limited to 'common/armv8/ih264_weighted_pred_av8.s')
-rw-r--r-- | common/armv8/ih264_weighted_pred_av8.s | 58 |
1 files changed, 30 insertions, 28 deletions
diff --git a/common/armv8/ih264_weighted_pred_av8.s b/common/armv8/ih264_weighted_pred_av8.s index 69ed3b0..f145217 100644 --- a/common/armv8/ih264_weighted_pred_av8.s +++ b/common/armv8/ih264_weighted_pred_av8.s @@ -89,22 +89,22 @@ // UWORD8 *puc_dst, // WORD32 src_strd, // WORD32 dst_strd, -// UWORD8 log_WD, -// UWORD32 wt, -// UWORD16 ofst, -// UWORD8 ht, -// UWORD8 wd) +// WORD32 log_WD, +// WORD32 wt, +// WORD32 ofst, +// WORD32 ht, +// WORD32 wd) // //**************Variables Vs Registers***************************************** // x0 => puc_src // x1 => puc_dst -// x2 => src_strd -// x3 => dst_strd -// [sp] => log_WD (x4) -// [sp+4] => wt (x5) -// [sp+8] => ofst (x6) -// [sp+12] => ht (x7) -// [sp+16] => wd (x8) +// w2 => src_strd +// w3 => dst_strd +// w4 => log_WD +// w5 => wt +// w6 => ofst +// w7 => ht +// [sp] => wd (w8) // .text .p2align 2 @@ -118,13 +118,14 @@ ih264_weighted_pred_luma_av8: // STMFD sp!, {x4-x9,x14} //stack stores the values of the arguments push_v_regs + sxtw x2, w2 + sxtw x3, w3 stp x19, x20, [sp, #-16]! ldr w8, [sp, #80] //Load wd sxtw x8, w8 dup v2.4h, w5 //D2 = wt (16-bit) - sub x20, x4, #0 //x9 = -log_WD - neg x9, x20 + neg w9, w4 //w9 = -log_WD dup v3.8b, w6 //D3 = ofst (8-bit) cmp w8, #16 //check if wd is 16 dup v0.8h, w9 //Q0 = -log_WD (16-bit) @@ -318,22 +319,22 @@ end_loops: // UWORD8 *puc_dst, // WORD32 src_strd, // WORD32 dst_strd, -// UWORD8 log_WD, -// UWORD32 wt, -// UWORD16 ofst, -// UWORD8 ht, -// UWORD8 wd) +// WORD32 log_WD, +// WORD32 wt, +// WORD32 ofst, +// WORD32 ht, +// WORD32 wd) // //**************Variables Vs Registers***************************************** // x0 => puc_src // x1 => puc_dst -// x2 => src_strd -// x3 => dst_strd -// [sp] => log_WD (x4) -// [sp+4] => wt (x5) -// [sp+8] => ofst (x6) -// [sp+12] => ht (x7) -// [sp+16] => wd (x8) +// w2 => src_strd +// w3 => dst_strd +// w4 => log_WD +// w5 => wt +// w6 => ofst +// w7 => ht +// [sp] => wd (w8) // @@ -345,13 +346,14 @@ ih264_weighted_pred_chroma_av8: // STMFD sp!, {x4-x9,x14} //stack stores the values of the arguments push_v_regs + sxtw x2, w2 + sxtw x3, w3 stp x19, x20, [sp, #-16]! ldr w8, [sp, #80] //Load wd sxtw x8, w8 - sub x20, x4, #0 //x9 = -log_WD - neg x9, x20 + neg w9, w4 //w9 = -log_WD dup v2.4s, w5 //Q1 = {wt_u (16-bit), wt_v (16-bit)} |