aboutsummaryrefslogtreecommitdiff
path: root/common/armv8/ih264_resi_trans_quant_av8.s
diff options
context:
space:
mode:
Diffstat (limited to 'common/armv8/ih264_resi_trans_quant_av8.s')
-rw-r--r--common/armv8/ih264_resi_trans_quant_av8.s93
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 :