diff options
Diffstat (limited to 'common/armv8/ih264_resi_trans_quant_av8.s')
-rw-r--r-- | common/armv8/ih264_resi_trans_quant_av8.s | 93 |
1 files changed, 25 insertions, 68 deletions
diff --git a/common/armv8/ih264_resi_trans_quant_av8.s b/common/armv8/ih264_resi_trans_quant_av8.s index 316c220..d2ba3cf 100644 --- a/common/armv8/ih264_resi_trans_quant_av8.s +++ b/common/armv8/ih264_resi_trans_quant_av8.s @@ -45,18 +45,6 @@ //* function name : ih264_resi_trans_quant_4x4 //* description : this function does cf4 of h264 //* -//* arguments : x0 :pointer to src buffer -// x1 :pointer to pred buffer -// x2 :pointer to dst buffer -// x3 :source stride -// x4 :pred stride, -// x5 :dst stride, -// x6 :pointer to scaling matrix, -// x7 :pointer to threshold matrix, -// stack qbits, -// rounding factor, -// pointer to store nnz -// pointer to store non quantized dc value // values returned : none // // register usage : @@ -77,34 +65,24 @@ .global ih264_resi_trans_quant_4x4_av8 ih264_resi_trans_quant_4x4_av8: - //x0 :pointer to src buffer - //x1 :pointer to pred buffer - //x2 :pointer to dst buffer - //x3 :source stride - //x4 :pred stride - //x5 :dst stride, - //x6 :scale matirx, - //x7 :threshold matrix - // :qbits - // :round factor - // :nnz - // :pointer to store non quantized dc value push_v_regs //x0 :pointer to src buffer //x1 :pointer to pred buffer //x2 :pointer to dst buffer - //x3 :source stride - //x4 :pred stride - //x5 :scale matirx, + //w3 :source stride + //w4 :pred stride + //w5 :scale matirx, //x6 :threshold matrix - //x7 :qbits - //x8 :round factor + //w7 :qbits + //w8 :round factor //x9 :nnz //x10 :pointer to store non quantized dc value + sxtw x3, w3 + sxtw x4, w4 ldr w8, [sp, #64] //load round factor ldr x10, [sp, #80] //load addres for non quant val - neg x7, x7 //negate the qbit value for usiing lsl + neg w7, w7 //negate the qbit value for usiing lsl ldr x9, [sp, #72] //------------fucntion loading done----------------; @@ -259,18 +237,6 @@ ih264_resi_trans_quant_4x4_av8: //* description : this function does residue calculation, forward transform //* and quantization for 4x4 chroma block. //* -//* arguments : x0 :pointer to src buffer -// x1 :pointer to pred buffer -// x2 :pointer to dst buffer -// x3 :source stride -// x4 :pred stride, -// x5 :dst stride, -// x6 :pointer to scaling matrix, -// x7 :pointer to threshold matrix, -// stack qbits, -// rounding factor, -// pointer to store nnz -// pointer to store unquantized dc values // values returned : none // // register usage : @@ -290,33 +256,24 @@ ih264_resi_trans_quant_4x4_av8: .global ih264_resi_trans_quant_chroma_4x4_av8 ih264_resi_trans_quant_chroma_4x4_av8: - //x0 :pointer to src buffer - //x1 :pointer to pred buffer - //x2 :pointer to dst buffer - //x3 :source stride - //stack :pred stride - // :scale matirx, - // :threshold matrix - // :qbits - // :round factor - // :nnz - // :pu1_dc_alt_addr push_v_regs //x0 :pointer to src buffer //x1 :pointer to pred buffer //x2 :pointer to dst buffer - //x3 :source stride - //x4 :pred stride + //w3 :source stride + //w4 :pred stride //x5 :scale matirx, //x6 :threshold matrix - //x7 :qbits - //x8 :round factor + //w7 :qbits + //w8 :round factor //x9 :nnz //x10 :pointer to store non quantized dc value + sxtw x3, w3 + sxtw x4, w4 ldr w8, [sp, #64] //load round factor ldr x10, [sp, #80] //load addres for non quant val - neg x7, x7 //negate the qbit value for usiing lsl + neg w7, w7 //negate the qbit value for usiing lsl ldr x9, [sp, #72] //------------fucntion loading done----------------; @@ -485,10 +442,10 @@ ih264_resi_trans_quant_chroma_4x4_av8: //* arguments : x0 :pointer to src buffer // x1 :pointer to dst buffer // x2 :pu2_scale_matrix -// x2 :pu2_threshold_matrix -// x3 :u4_qbits -// x4 :u4_round_factor -// x5 :pu1_nnz +// x3 :pu2_threshold_matrix +// w4 :u4_qbits +// w5 :u4_round_factor +// x6 :pu1_nnz // values returned : none // // register usage : @@ -516,8 +473,8 @@ ih264_hadamard_quant_4x4_av8: //x1 :pointer to dst buffer //x2 :pu2_scale_matrix //x3 :pu2_threshold_matrix -//x4 :u4_qbits -//x5 :u4_round_factor +//w4 :u4_qbits +//w5 :u4_round_factor //x6 :pu1_nnz push_v_regs @@ -632,10 +589,10 @@ ih264_hadamard_quant_4x4_av8: //* arguments : x0 :pointer to src buffer // x1 :pointer to dst buffer // x2 :pu2_scale_matrix -// x2 :pu2_threshold_matrix -// x3 :u4_qbits -// x4 :u4_round_factor -// x5 :pu1_nnz +// x3 :pu2_threshold_matrix +// w4 :u4_qbits +// w5 :u4_round_factor +// x6 :pu1_nnz // values returned : none // // register usage : |