mirror of
https://chromium.googlesource.com/libyuv/libyuv
synced 2026-10-29 02:17:13 +08:00
Replace rshrn2 with 2 8 byte registers and stp All benchmarks run at 1280×720, 1000 iterations (taskset c0): Function (1280x720 1000x) | OldNEON | NewNEON | OldSVE2 | NewSVE2 -------------------------------+---------+---------+---------+-------- TestInterpolatePlane (8-bit) | 76 ms | 66 ms | 125 ms | 34 ms TestInterpolatePlane_16 | 195 ms | 66 ms | 195 ms | 64 ms TestARGBInterpolate (50/50) | 104 ms | 104 ms | 128 ms | 89 ms ARGBInterpolate0_Opt (0%) | 133 ms | 128 ms | 148 ms | 145 ms ARGBInterpolate64_Opt (25%) | 211 ms | 181 ms | 244 ms | 222 ms ARGBInterpolate128_Opt (50%) | 182 ms | 178 ms | 278 ms | 176 ms ARGBInterpolate192_Opt (75%) | 211 ms | 173 ms | 223 ms | 209 ms ARGBInterpolate255_Opt (99%) | 211 ms | 183 ms | 315 ms | 221 ms ────── Function (1280x720 1000x) | OldNEON | NewNEON | OldSVE2 | NewSVE2 -------------------------------+---------+---------+---------+-------- TestInterpolatePlane (8-bit) | 164 ms | 124 ms | 119 ms | 50 ms TestInterpolatePlane_16 | 211 ms | 129 ms | 138 ms | 75 ms TestARGBInterpolate (50/50) | 159 ms | 159 ms | 210 ms | 166 ms ARGBInterpolate0_Opt (0%) | 92 ms | 92 ms | 148 ms | 138 ms ARGBInterpolate64_Opt (25%) | 223 ms | 223 ms | 232 ms | 232 ms ARGBInterpolate128_Opt (50%) | 130 ms | 130 ms | 232 ms | 195 ms ARGBInterpolate192_Opt (75%) | 223 ms | 223 ms | 232 ms | 232 ms ARGBInterpolate255_Opt (99%) | 223 ms | 223 ms | 232 ms | 232 ms Platform | NEON | SVE2 | Result --------------------+--------+--------+--------------- MediaTek Cortex-C1 | 47 ms | 34 ms | SVE2 1.38x win Qualcomm Oryon v3 | 87 ms | 73 ms | SVE2 1.19x win Testing: blaze test --config=android_arm64 //third_party/libyuv:libyuv_test --test_filter="*TestInterpolatePlane*" Bug: None Change-Id: I503ce5a1269da5e1c5950c6a2c5ce81ddf4aaca5 Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/8216829 Commit-Queue: Frank Barchard <fbarchard@google.com> Reviewed-by: George Steed <george.steed@arm.com> Reviewed-by: Wan-Teh Chang <wtc@google.com> |
||
|---|---|---|
| .. | ||
| compare_common.cc | ||
| compare_gcc.cc | ||
| compare_neon64.cc | ||
| compare_neon.cc | ||
| compare_win.cc | ||
| compare.cc | ||
| convert_argb.cc | ||
| convert_from_argb.cc | ||
| convert_from.cc | ||
| convert_jpeg.cc | ||
| convert_to_argb.cc | ||
| convert_to_i420.cc | ||
| convert.cc | ||
| cpu_id.cc | ||
| mjpeg_decoder.cc | ||
| mjpeg_validate.cc | ||
| planar_functions.cc | ||
| rotate_any.cc | ||
| rotate_argb.cc | ||
| rotate_common.cc | ||
| rotate_gcc.cc | ||
| rotate_lsx.cc | ||
| rotate_neon64.cc | ||
| rotate_neon.cc | ||
| rotate_sme.cc | ||
| rotate_win.cc | ||
| rotate.cc | ||
| row_any.cc | ||
| row_common.cc | ||
| row_gcc.cc | ||
| row_lasx.cc | ||
| row_lsx.cc | ||
| row_neon64.cc | ||
| row_neon.cc | ||
| row_rvv.cc | ||
| row_sme.cc | ||
| row_sve.cc | ||
| row_win.cc | ||
| scale_any.cc | ||
| scale_argb.cc | ||
| scale_common.cc | ||
| scale_gcc.cc | ||
| scale_lsx.cc | ||
| scale_neon64.cc | ||
| scale_neon.cc | ||
| scale_rgb.cc | ||
| scale_rvv.cc | ||
| scale_sme.cc | ||
| scale_uv.cc | ||
| scale_win.cc | ||
| scale.cc | ||
| test.sh | ||
| video_common.cc | ||