Commit e79dcfabf0 for ffmpeg
commit e79dcfabf01bfb98a2e147c20a24d5e10b57631a
Author: Zhao Zhili <quinkblack@foxmail.com>
Date: Wed Sep 30 19:23:36 2026 +0800
aarch64/h26x: factor the weighted qpel hv vertical row step into macros
No functional changes.
diff --git a/libavcodec/aarch64/h26x/qpel_neon.S b/libavcodec/aarch64/h26x/qpel_neon.S
index 45e42cea8a..e9cf78afcf 100644
--- a/libavcodec/aarch64/h26x/qpel_neon.S
+++ b/libavcodec/aarch64/h26x/qpel_neon.S
@@ -5376,6 +5376,14 @@ DISABLE_I8MM
smlal2 \dst\().4s, \src7\().8h, v0.h[7]
.endm
+.macro qpel_uni_w_hv4_end_step tmp, src0, src1, src2, src3, src4, src5, src6, src7
+ ldr \tmp, [sp]
+ add sp, sp, x10
+ QPEL_FILTER_H v26, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7
+ subs w22, w22, #1
+ QPEL_UNI_W_HV_4
+.endm
+
function hevc_put_hevc_qpel_uni_w_hv4_8_end_neon
ldr d16, [sp]
ldr d17, [sp, x10]
@@ -5389,60 +5397,28 @@ function hevc_put_hevc_qpel_uni_w_hv4_8_end_neon
ldr d22, [sp]
add sp, sp, x10
1:
- ldr d23, [sp]
- add sp, sp, x10
- QPEL_FILTER_H v26, v16, v17, v18, v19, v20, v21, v22, v23
- subs w22, w22, #1
- QPEL_UNI_W_HV_4
+ qpel_uni_w_hv4_end_step d23, v16, v17, v18, v19, v20, v21, v22, v23
b.eq 2f
- ldr d16, [sp]
- add sp, sp, x10
- QPEL_FILTER_H v26, v17, v18, v19, v20, v21, v22, v23, v16
- subs w22, w22, #1
- QPEL_UNI_W_HV_4
+ qpel_uni_w_hv4_end_step d16, v17, v18, v19, v20, v21, v22, v23, v16
b.eq 2f
- ldr d17, [sp]
- add sp, sp, x10
- QPEL_FILTER_H v26, v18, v19, v20, v21, v22, v23, v16, v17
- subs w22, w22, #1
- QPEL_UNI_W_HV_4
+ qpel_uni_w_hv4_end_step d17, v18, v19, v20, v21, v22, v23, v16, v17
b.eq 2f
- ldr d18, [sp]
- add sp, sp, x10
- QPEL_FILTER_H v26, v19, v20, v21, v22, v23, v16, v17, v18
- subs w22, w22, #1
- QPEL_UNI_W_HV_4
+ qpel_uni_w_hv4_end_step d18, v19, v20, v21, v22, v23, v16, v17, v18
b.eq 2f
- ldr d19, [sp]
- add sp, sp, x10
- QPEL_FILTER_H v26, v20, v21, v22, v23, v16, v17, v18, v19
- subs w22, w22, #1
- QPEL_UNI_W_HV_4
+ qpel_uni_w_hv4_end_step d19, v20, v21, v22, v23, v16, v17, v18, v19
b.eq 2f
- ldr d20, [sp]
- add sp, sp, x10
- QPEL_FILTER_H v26, v21, v22, v23, v16, v17, v18, v19, v20
- subs w22, w22, #1
- QPEL_UNI_W_HV_4
+ qpel_uni_w_hv4_end_step d20, v21, v22, v23, v16, v17, v18, v19, v20
b.eq 2f
- ldr d21, [sp]
- add sp, sp, x10
- QPEL_FILTER_H v26, v22, v23, v16, v17, v18, v19, v20, v21
- subs w22, w22, #1
- QPEL_UNI_W_HV_4
+ qpel_uni_w_hv4_end_step d21, v22, v23, v16, v17, v18, v19, v20, v21
b.eq 2f
- ldr d22, [sp]
- add sp, sp, x10
- QPEL_FILTER_H v26, v23, v16, v17, v18, v19, v20, v21, v22
- subs w22, w22, #1
- QPEL_UNI_W_HV_4
+ qpel_uni_w_hv4_end_step d22, v23, v16, v17, v18, v19, v20, v21, v22
b.hi 1b
2:
@@ -5468,6 +5444,15 @@ endfunc
st1 {v24.h}[2], [x15]
.endm
+.macro qpel_uni_w_hv6_end_step tmp, src0, src1, src2, src3, src4, src5, src6, src7
+ ldr \tmp, [sp]
+ add sp, sp, x10
+ QPEL_FILTER_H v26, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7
+ QPEL_FILTER_H2 v27, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7
+ subs w22, w22, #1
+ QPEL_UNI_W_HV_6
+.endm
+
function hevc_put_hevc_qpel_uni_w_hv6_8_end_neon
ldr q16, [sp]
ldr q17, [sp, x10]
@@ -5481,68 +5466,28 @@ function hevc_put_hevc_qpel_uni_w_hv6_8_end_neon
ldr q22, [sp]
add sp, sp, x10
1:
- ldr q23, [sp]
- add sp, sp, x10
- QPEL_FILTER_H v26, v16, v17, v18, v19, v20, v21, v22, v23
- QPEL_FILTER_H2 v27, v16, v17, v18, v19, v20, v21, v22, v23
- subs w22, w22, #1
- QPEL_UNI_W_HV_6
+ qpel_uni_w_hv6_end_step q23, v16, v17, v18, v19, v20, v21, v22, v23
b.eq 2f
- ldr q16, [sp]
- add sp, sp, x10
- QPEL_FILTER_H v26, v17, v18, v19, v20, v21, v22, v23, v16
- QPEL_FILTER_H2 v27, v17, v18, v19, v20, v21, v22, v23, v16
- subs w22, w22, #1
- QPEL_UNI_W_HV_6
+ qpel_uni_w_hv6_end_step q16, v17, v18, v19, v20, v21, v22, v23, v16
b.eq 2f
- ldr q17, [sp]
- add sp, sp, x10
- QPEL_FILTER_H v26, v18, v19, v20, v21, v22, v23, v16, v17
- QPEL_FILTER_H2 v27, v18, v19, v20, v21, v22, v23, v16, v17
- subs w22, w22, #1
- QPEL_UNI_W_HV_6
+ qpel_uni_w_hv6_end_step q17, v18, v19, v20, v21, v22, v23, v16, v17
b.eq 2f
- ldr q18, [sp]
- add sp, sp, x10
- QPEL_FILTER_H v26, v19, v20, v21, v22, v23, v16, v17, v18
- QPEL_FILTER_H2 v27, v19, v20, v21, v22, v23, v16, v17, v18
- subs w22, w22, #1
- QPEL_UNI_W_HV_6
+ qpel_uni_w_hv6_end_step q18, v19, v20, v21, v22, v23, v16, v17, v18
b.eq 2f
- ldr q19, [sp]
- add sp, sp, x10
- QPEL_FILTER_H v26, v20, v21, v22, v23, v16, v17, v18, v19
- QPEL_FILTER_H2 v27, v20, v21, v22, v23, v16, v17, v18, v19
- subs w22, w22, #1
- QPEL_UNI_W_HV_6
+ qpel_uni_w_hv6_end_step q19, v20, v21, v22, v23, v16, v17, v18, v19
b.eq 2f
- ldr q20, [sp]
- add sp, sp, x10
- QPEL_FILTER_H v26, v21, v22, v23, v16, v17, v18, v19, v20
- QPEL_FILTER_H2 v27, v21, v22, v23, v16, v17, v18, v19, v20
- subs w22, w22, #1
- QPEL_UNI_W_HV_6
+ qpel_uni_w_hv6_end_step q20, v21, v22, v23, v16, v17, v18, v19, v20
b.eq 2f
- ldr q21, [sp]
- add sp, sp, x10
- QPEL_FILTER_H v26, v22, v23, v16, v17, v18, v19, v20, v21
- QPEL_FILTER_H2 v27, v22, v23, v16, v17, v18, v19, v20, v21
- subs w22, w22, #1
- QPEL_UNI_W_HV_6
+ qpel_uni_w_hv6_end_step q21, v22, v23, v16, v17, v18, v19, v20, v21
b.eq 2f
- ldr q22, [sp]
- add sp, sp, x10
- QPEL_FILTER_H v26, v23, v16, v17, v18, v19, v20, v21, v22
- QPEL_FILTER_H2 v27, v23, v16, v17, v18, v19, v20, v21, v22
- subs w22, w22, #1
- QPEL_UNI_W_HV_6
+ qpel_uni_w_hv6_end_step q22, v23, v16, v17, v18, v19, v20, v21, v22
b.hi 1b
2:
@@ -5565,6 +5510,15 @@ endfunc
st1 {v24.d}[0], [x20], x21
.endm
+.macro qpel_uni_w_hv8_end_step tmp, src0, src1, src2, src3, src4, src5, src6, src7
+ ldr \tmp, [sp]
+ add sp, sp, x10
+ QPEL_FILTER_H v26, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7
+ QPEL_FILTER_H2 v27, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7
+ subs w22, w22, #1
+ QPEL_UNI_W_HV_8
+.endm
+
function hevc_put_hevc_qpel_uni_w_hv8_8_end_neon
ldr q16, [sp]
ldr q17, [sp, x10]
@@ -5578,68 +5532,28 @@ function hevc_put_hevc_qpel_uni_w_hv8_8_end_neon
ldr q22, [sp]
add sp, sp, x10
1:
- ldr q23, [sp]
- add sp, sp, x10
- QPEL_FILTER_H v26, v16, v17, v18, v19, v20, v21, v22, v23
- QPEL_FILTER_H2 v27, v16, v17, v18, v19, v20, v21, v22, v23
- subs w22, w22, #1
- QPEL_UNI_W_HV_8
+ qpel_uni_w_hv8_end_step q23, v16, v17, v18, v19, v20, v21, v22, v23
b.eq 2f
- ldr q16, [sp]
- add sp, sp, x10
- QPEL_FILTER_H v26, v17, v18, v19, v20, v21, v22, v23, v16
- QPEL_FILTER_H2 v27, v17, v18, v19, v20, v21, v22, v23, v16
- subs w22, w22, #1
- QPEL_UNI_W_HV_8
+ qpel_uni_w_hv8_end_step q16, v17, v18, v19, v20, v21, v22, v23, v16
b.eq 2f
- ldr q17, [sp]
- add sp, sp, x10
- QPEL_FILTER_H v26, v18, v19, v20, v21, v22, v23, v16, v17
- QPEL_FILTER_H2 v27, v18, v19, v20, v21, v22, v23, v16, v17
- subs w22, w22, #1
- QPEL_UNI_W_HV_8
+ qpel_uni_w_hv8_end_step q17, v18, v19, v20, v21, v22, v23, v16, v17
b.eq 2f
- ldr q18, [sp]
- add sp, sp, x10
- QPEL_FILTER_H v26, v19, v20, v21, v22, v23, v16, v17, v18
- QPEL_FILTER_H2 v27, v19, v20, v21, v22, v23, v16, v17, v18
- subs w22, w22, #1
- QPEL_UNI_W_HV_8
+ qpel_uni_w_hv8_end_step q18, v19, v20, v21, v22, v23, v16, v17, v18
b.eq 2f
- ldr q19, [sp]
- add sp, sp, x10
- QPEL_FILTER_H v26, v20, v21, v22, v23, v16, v17, v18, v19
- QPEL_FILTER_H2 v27, v20, v21, v22, v23, v16, v17, v18, v19
- subs w22, w22, #1
- QPEL_UNI_W_HV_8
+ qpel_uni_w_hv8_end_step q19, v20, v21, v22, v23, v16, v17, v18, v19
b.eq 2f
- ldr q20, [sp]
- add sp, sp, x10
- QPEL_FILTER_H v26, v21, v22, v23, v16, v17, v18, v19, v20
- QPEL_FILTER_H2 v27, v21, v22, v23, v16, v17, v18, v19, v20
- subs w22, w22, #1
- QPEL_UNI_W_HV_8
+ qpel_uni_w_hv8_end_step q20, v21, v22, v23, v16, v17, v18, v19, v20
b.eq 2f
- ldr q21, [sp]
- add sp, sp, x10
- QPEL_FILTER_H v26, v22, v23, v16, v17, v18, v19, v20, v21
- QPEL_FILTER_H2 v27, v22, v23, v16, v17, v18, v19, v20, v21
- subs w22, w22, #1
- QPEL_UNI_W_HV_8
+ qpel_uni_w_hv8_end_step q21, v22, v23, v16, v17, v18, v19, v20, v21
b.eq 2f
- ldr q22, [sp]
- add sp, sp, x10
- QPEL_FILTER_H v26, v23, v16, v17, v18, v19, v20, v21, v22
- QPEL_FILTER_H2 v27, v23, v16, v17, v18, v19, v20, v21, v22
- subs w22, w22, #1
- QPEL_UNI_W_HV_8
+ qpel_uni_w_hv8_end_step q22, v23, v16, v17, v18, v19, v20, v21, v22
b.hi 1b
2:
@@ -5674,6 +5588,17 @@ endfunc
st1 {v26.s}[0], [x15]
.endm
+.macro qpel_uni_w_hv12_end_step tmp0, tmp1, src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10, src11, src12, src13, src14, src15
+ ldr \tmp0, [sp]
+ ldr \tmp1, [sp, #16]
+ add sp, sp, x10
+ QPEL_FILTER_H v24, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7
+ QPEL_FILTER_H2 v25, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7
+ QPEL_FILTER_H v26, \src8, \src9, \src10, \src11, \src12, \src13, \src14, \src15
+ subs w22, w22, #1
+ QPEL_UNI_W_HV_12
+.endm
+
function hevc_put_hevc_qpel_uni_w_hv12_8_end_neon
// Load first 7 rows of 12 elements each
// Each row: q16-q22 (first 8 elements) + d1-d7 (elements 8-11)
@@ -5699,84 +5624,28 @@ function hevc_put_hevc_qpel_uni_w_hv12_8_end_neon
ldr d7, [sp, #16]
add sp, sp, x10
1:
- ldr q23, [sp]
- ldr d31, [sp, #16]
- add sp, sp, x10
- QPEL_FILTER_H v24, v16, v17, v18, v19, v20, v21, v22, v23
- QPEL_FILTER_H2 v25, v16, v17, v18, v19, v20, v21, v22, v23
- QPEL_FILTER_H v26, v1, v2, v3, v4, v5, v6, v7, v31
- subs w22, w22, #1
- QPEL_UNI_W_HV_12
+ qpel_uni_w_hv12_end_step q23, d31, v16, v17, v18, v19, v20, v21, v22, v23, v1, v2, v3, v4, v5, v6, v7, v31
b.eq 2f
- ldr q16, [sp]
- ldr d1, [sp, #16]
- add sp, sp, x10
- QPEL_FILTER_H v24, v17, v18, v19, v20, v21, v22, v23, v16
- QPEL_FILTER_H2 v25, v17, v18, v19, v20, v21, v22, v23, v16
- QPEL_FILTER_H v26, v2, v3, v4, v5, v6, v7, v31, v1
- subs w22, w22, #1
- QPEL_UNI_W_HV_12
+ qpel_uni_w_hv12_end_step q16, d1, v17, v18, v19, v20, v21, v22, v23, v16, v2, v3, v4, v5, v6, v7, v31, v1
b.eq 2f
- ldr q17, [sp]
- ldr d2, [sp, #16]
- add sp, sp, x10
- QPEL_FILTER_H v24, v18, v19, v20, v21, v22, v23, v16, v17
- QPEL_FILTER_H2 v25, v18, v19, v20, v21, v22, v23, v16, v17
- QPEL_FILTER_H v26, v3, v4, v5, v6, v7, v31, v1, v2
- subs w22, w22, #1
- QPEL_UNI_W_HV_12
+ qpel_uni_w_hv12_end_step q17, d2, v18, v19, v20, v21, v22, v23, v16, v17, v3, v4, v5, v6, v7, v31, v1, v2
b.eq 2f
- ldr q18, [sp]
- ldr d3, [sp, #16]
- add sp, sp, x10
- QPEL_FILTER_H v24, v19, v20, v21, v22, v23, v16, v17, v18
- QPEL_FILTER_H2 v25, v19, v20, v21, v22, v23, v16, v17, v18
- QPEL_FILTER_H v26, v4, v5, v6, v7, v31, v1, v2, v3
- subs w22, w22, #1
- QPEL_UNI_W_HV_12
+ qpel_uni_w_hv12_end_step q18, d3, v19, v20, v21, v22, v23, v16, v17, v18, v4, v5, v6, v7, v31, v1, v2, v3
b.eq 2f
- ldr q19, [sp]
- ldr d4, [sp, #16]
- add sp, sp, x10
- QPEL_FILTER_H v24, v20, v21, v22, v23, v16, v17, v18, v19
- QPEL_FILTER_H2 v25, v20, v21, v22, v23, v16, v17, v18, v19
- QPEL_FILTER_H v26, v5, v6, v7, v31, v1, v2, v3, v4
- subs w22, w22, #1
- QPEL_UNI_W_HV_12
+ qpel_uni_w_hv12_end_step q19, d4, v20, v21, v22, v23, v16, v17, v18, v19, v5, v6, v7, v31, v1, v2, v3, v4
b.eq 2f
- ldr q20, [sp]
- ldr d5, [sp, #16]
- add sp, sp, x10
- QPEL_FILTER_H v24, v21, v22, v23, v16, v17, v18, v19, v20
- QPEL_FILTER_H2 v25, v21, v22, v23, v16, v17, v18, v19, v20
- QPEL_FILTER_H v26, v6, v7, v31, v1, v2, v3, v4, v5
- subs w22, w22, #1
- QPEL_UNI_W_HV_12
+ qpel_uni_w_hv12_end_step q20, d5, v21, v22, v23, v16, v17, v18, v19, v20, v6, v7, v31, v1, v2, v3, v4, v5
b.eq 2f
- ldr q21, [sp]
- ldr d6, [sp, #16]
- add sp, sp, x10
- QPEL_FILTER_H v24, v22, v23, v16, v17, v18, v19, v20, v21
- QPEL_FILTER_H2 v25, v22, v23, v16, v17, v18, v19, v20, v21
- QPEL_FILTER_H v26, v7, v31, v1, v2, v3, v4, v5, v6
- subs w22, w22, #1
- QPEL_UNI_W_HV_12
+ qpel_uni_w_hv12_end_step q21, d6, v22, v23, v16, v17, v18, v19, v20, v21, v7, v31, v1, v2, v3, v4, v5, v6
b.eq 2f
- ldr q22, [sp]
- ldr d7, [sp, #16]
- add sp, sp, x10
- QPEL_FILTER_H v24, v23, v16, v17, v18, v19, v20, v21, v22
- QPEL_FILTER_H2 v25, v23, v16, v17, v18, v19, v20, v21, v22
- QPEL_FILTER_H v26, v31, v1, v2, v3, v4, v5, v6, v7
- subs w22, w22, #1
- QPEL_UNI_W_HV_12
+ qpel_uni_w_hv12_end_step q22, d7, v23, v16, v17, v18, v19, v20, v21, v22, v31, v1, v2, v3, v4, v5, v6, v7
b.hi 1b
2:
@@ -5811,6 +5680,17 @@ endfunc
st1 {v24.16b}, [x20], x21
.endm
+.macro qpel_uni_w_hv16_end_step tmp0, tmp1, src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10, src11, src12, src13, src14, src15
+ ldp \tmp0, \tmp1, [x11]
+ add x11, x11, x10
+ QPEL_FILTER_H v24, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7
+ QPEL_FILTER_H2 v25, \src0, \src1, \src2, \src3, \src4, \src5, \src6, \src7
+ QPEL_FILTER_H v26, \src8, \src9, \src10, \src11, \src12, \src13, \src14, \src15
+ QPEL_FILTER_H2 v27, \src8, \src9, \src10, \src11, \src12, \src13, \src14, \src15
+ subs w22, w22, #1
+ QPEL_UNI_W_HV_16
+.endm
+
function hevc_put_hevc_qpel_uni_w_hv16_8_end_neon
mov x11, sp
mov w12, w22
@@ -5832,85 +5712,30 @@ function hevc_put_hevc_qpel_uni_w_hv16_8_end_neon
ldp q22, q7, [x11]
add x11, x11, x10
1:
- ldp q23, q31, [x11]
- add x11, x11, x10
- QPEL_FILTER_H v24, v16, v17, v18, v19, v20, v21, v22, v23
- QPEL_FILTER_H2 v25, v16, v17, v18, v19, v20, v21, v22, v23
- QPEL_FILTER_H v26, v1, v2, v3, v4, v5, v6, v7, v31
- QPEL_FILTER_H2 v27, v1, v2, v3, v4, v5, v6, v7, v31
- subs w22, w22, #1
- QPEL_UNI_W_HV_16
+ qpel_uni_w_hv16_end_step q23, q31, v16, v17, v18, v19, v20, v21, v22, v23, v1, v2, v3, v4, v5, v6, v7, v31
b.eq 2f
- ldp q16, q1, [x11]
- add x11, x11, x10
- QPEL_FILTER_H v24, v17, v18, v19, v20, v21, v22, v23, v16
- QPEL_FILTER_H2 v25, v17, v18, v19, v20, v21, v22, v23, v16
- QPEL_FILTER_H v26, v2, v3, v4, v5, v6, v7, v31, v1
- QPEL_FILTER_H2 v27, v2, v3, v4, v5, v6, v7, v31, v1
- subs w22, w22, #1
- QPEL_UNI_W_HV_16
+ qpel_uni_w_hv16_end_step q16, q1, v17, v18, v19, v20, v21, v22, v23, v16, v2, v3, v4, v5, v6, v7, v31, v1
b.eq 2f
- ldp q17, q2, [x11]
- add x11, x11, x10
- QPEL_FILTER_H v24, v18, v19, v20, v21, v22, v23, v16, v17
- QPEL_FILTER_H2 v25, v18, v19, v20, v21, v22, v23, v16, v17
- QPEL_FILTER_H v26, v3, v4, v5, v6, v7, v31, v1, v2
- QPEL_FILTER_H2 v27, v3, v4, v5, v6, v7, v31, v1, v2
- subs w22, w22, #1
- QPEL_UNI_W_HV_16
+ qpel_uni_w_hv16_end_step q17, q2, v18, v19, v20, v21, v22, v23, v16, v17, v3, v4, v5, v6, v7, v31, v1, v2
b.eq 2f
- ldp q18, q3, [x11]
- add x11, x11, x10
- QPEL_FILTER_H v24, v19, v20, v21, v22, v23, v16, v17, v18
- QPEL_FILTER_H2 v25, v19, v20, v21, v22, v23, v16, v17, v18
- QPEL_FILTER_H v26, v4, v5, v6, v7, v31, v1, v2, v3
- QPEL_FILTER_H2 v27, v4, v5, v6, v7, v31, v1, v2, v3
- subs w22, w22, #1
- QPEL_UNI_W_HV_16
+ qpel_uni_w_hv16_end_step q18, q3, v19, v20, v21, v22, v23, v16, v17, v18, v4, v5, v6, v7, v31, v1, v2, v3
b.eq 2f
- ldp q19, q4, [x11]
- add x11, x11, x10
- QPEL_FILTER_H v24, v20, v21, v22, v23, v16, v17, v18, v19
- QPEL_FILTER_H2 v25, v20, v21, v22, v23, v16, v17, v18, v19
- QPEL_FILTER_H v26, v5, v6, v7, v31, v1, v2, v3, v4
- QPEL_FILTER_H2 v27, v5, v6, v7, v31, v1, v2, v3, v4
- subs w22, w22, #1
- QPEL_UNI_W_HV_16
+ qpel_uni_w_hv16_end_step q19, q4, v20, v21, v22, v23, v16, v17, v18, v19, v5, v6, v7, v31, v1, v2, v3, v4
b.eq 2f
- ldp q20, q5, [x11]
- add x11, x11, x10
- QPEL_FILTER_H v24, v21, v22, v23, v16, v17, v18, v19, v20
- QPEL_FILTER_H2 v25, v21, v22, v23, v16, v17, v18, v19, v20
- QPEL_FILTER_H v26, v6, v7, v31, v1, v2, v3, v4, v5
- QPEL_FILTER_H2 v27, v6, v7, v31, v1, v2, v3, v4, v5
- subs w22, w22, #1
- QPEL_UNI_W_HV_16
+ qpel_uni_w_hv16_end_step q20, q5, v21, v22, v23, v16, v17, v18, v19, v20, v6, v7, v31, v1, v2, v3, v4, v5
b.eq 2f
- ldp q21, q6, [x11]
- add x11, x11, x10
- QPEL_FILTER_H v24, v22, v23, v16, v17, v18, v19, v20, v21
- QPEL_FILTER_H2 v25, v22, v23, v16, v17, v18, v19, v20, v21
- QPEL_FILTER_H v26, v7, v31, v1, v2, v3, v4, v5, v6
- QPEL_FILTER_H2 v27, v7, v31, v1, v2, v3, v4, v5, v6
- subs w22, w22, #1
- QPEL_UNI_W_HV_16
+ qpel_uni_w_hv16_end_step q21, q6, v22, v23, v16, v17, v18, v19, v20, v21, v7, v31, v1, v2, v3, v4, v5, v6
b.eq 2f
- ldp q22, q7, [x11]
- add x11, x11, x10
- QPEL_FILTER_H v24, v23, v16, v17, v18, v19, v20, v21, v22
- QPEL_FILTER_H2 v25, v23, v16, v17, v18, v19, v20, v21, v22
- QPEL_FILTER_H v26, v31, v1, v2, v3, v4, v5, v6, v7
- QPEL_FILTER_H2 v27, v31, v1, v2, v3, v4, v5, v6, v7
- subs w22, w22, #1
- QPEL_UNI_W_HV_16
+ qpel_uni_w_hv16_end_step q22, q7, v23, v16, v17, v18, v19, v20, v21, v22, v31, v1, v2, v3, v4, v5, v6, v7
b.hi 1b
+
2:
subs w27, w27, #16
add x11, x14, #32