Darren Hsieh 10de943a12 [RVV] Enable ScaleRowUp2_(Bi)linear_RVV/ScaleUVRowUp2_(Bi)linear_RVV
ScaleUVRowUp2_(Bi)linear_RVV function is equal to other platforms' ScaleRowUp2_(Bi)linear_Any_XXX.
We process entire row in this function.
Other platforms only implement non-edge part of image and process edge with scalar.
ScaleRowUp2_(Bi)linear_Any_XXX: Combine ScaleRowUp2_(Bi)linear_XXX(non-edge) + ScaleRowUp2_(Bi)linear_C(edge) by SBUH2LANY/SU2BLANY.

* Run on SiFive internal FPGA:

Test case                       RVV function			Speedup
I444ScaleFrom640x360_Bilinear	ScaleRowUp2_Bilinear_RVV	8.21
I444ScaleFrom640x360_Linear	ScaleRowUp2_Linear_RVV	        8.08
UVScaleFrom640x360_Bilinear	ScaleUVRowUp2_Bilinear_RVV	7.80
UVScaleFrom640x360_Linear	ScaleUVRowUp2_Linear_RVV	7.03

Change-Id: I539245ce51858f077506a78f0e7e82377ac6a95d
Signed-off-by: Darren Hsieh <darren.hsieh@sifive.com>
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4666062
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2023-07-26 18:05:50 +00:00
..
compare_common.cc clang-tidy applied 2021-04-01 21:42:47 +00:00
compare_gcc.cc MT2T Warning fixes for fuchsia 2022-12-06 19:54:40 +00:00
compare_msa.cc use unix line endings 2018-06-20 23:19:59 +00:00
compare_neon64.cc Scale by even factor low level row function 2020-11-03 21:25:18 +00:00
compare_neon.cc Scale by even factor low level row function 2020-11-03 21:25:18 +00:00
compare_win.cc Switch win32 to row_gcc for clangcl. 2021-04-22 19:32:32 +00:00
compare.cc MT2T Warning fixes for fuchsia 2022-12-06 19:54:40 +00:00
convert_argb.cc [RVV] Enable ScaleRowUp2_(Bi)linear_RVV/ScaleUVRowUp2_(Bi)linear_RVV 2023-07-26 18:05:50 +00:00
convert_from_argb.cc Fix tidy warning that uint32_t dither4 should not be const 2023-06-02 00:42:02 +00:00
convert_from.cc Optimize the following functions with LSX. 2023-05-10 00:25:48 +00:00
convert_jpeg.cc PlaneScale, UVScale and ARGBScale test 3x and 4x down sample. 2020-10-28 20:41:59 +00:00
convert_to_argb.cc Remove M420 and refactor NV12ToI420 2020-05-26 18:48:00 +00:00
convert_to_i420.cc Fix ConvertToI420 when using YUY2 or UYVY with odd crop_x. 2021-07-19 22:22:22 +00:00
convert.cc [RVV] Enable ARGBExtractAlphaRow/ARGBCopyYToAlphaRow 2023-06-15 23:45:24 +00:00
cpu_id.cc Fix TestLinuxRVV test fail 2023-05-04 03:26:25 +00:00
mjpeg_decoder.cc MT2T Warning fixes for fuchsia 2022-12-06 19:54:40 +00:00
mjpeg_validate.cc Update to r1732 for more robust jpeg 2019-07-01 22:32:36 +00:00
planar_functions.cc [RVV] Enable ARGBBlendRow_RVV/BlendPlaneRow_RVV 2023-07-25 16:38:55 +00:00
rotate_any.cc Remove MMI support 2022-01-26 08:41:33 +00:00
rotate_argb.cc [RVV] Enable Scale{ARGB,UV}RowDown{2,4,EVEN}_RVV 2023-06-13 00:40:39 +00:00
rotate_common.cc Fix warnings for missing prototypes 2023-06-30 17:46:56 +00:00
rotate_gcc.cc Transpose 4x4 for SSE2 and AVX2 2023-03-03 17:46:23 +00:00
rotate_lsx.cc DetilePlane and unittest for NEON 2022-01-31 20:05:55 +00:00
rotate_msa.cc Switch to C99 types 2018-01-23 19:16:05 +00:00
rotate_neon64.cc MergeUV_AVX512BW for I420ToNV12 2023-02-13 20:14:57 +00:00
rotate_neon.cc GCC warning fix for MT2T 2023-03-16 06:57:20 +00:00
rotate_win.cc Switch win32 to row_gcc for clangcl. 2021-04-22 19:32:32 +00:00
rotate.cc Fix warnings for missing prototypes 2023-06-30 17:46:56 +00:00
row_any.cc Optimize the following 19 functions with LSX in row_lsx.cc. 2023-05-19 18:55:58 +00:00
row_common.cc ARGBAttenuate use (a + b + 255) >> 8 2023-06-16 21:37:53 +00:00
row_gcc.cc ARGBAttenuate use (a + b + 255) >> 8 2023-06-16 21:37:53 +00:00
row_lasx.cc Fix tidy warning that uint32_t dither4 should not be const 2023-06-02 00:42:02 +00:00
row_lsx.cc Fix tidy warning that uint32_t dither4 should not be const 2023-06-02 00:42:02 +00:00
row_msa.cc Fix Bugs on mips platform V2. 2022-03-01 13:16:31 +00:00
row_neon64.cc Fix warnings for missing prototypes 2023-06-30 17:46:56 +00:00
row_neon.cc ARGBAttenuate use (a + b + 255) >> 8 2023-06-16 21:37:53 +00:00
row_rvv.cc [RVV] Enable ARGBBlendRow_RVV/BlendPlaneRow_RVV 2023-07-25 16:38:55 +00:00
row_win.cc Fix tidy warning that uint32_t dither4 should not be const 2023-06-02 00:42:02 +00:00
scale_any.cc UVScale down by 2 fix for C and optimize for NEON 2023-04-12 22:49:20 +00:00
scale_argb.cc Fix warnings for missing prototypes 2023-06-30 17:46:56 +00:00
scale_common.cc Fix warnings for missing prototypes 2023-06-30 17:46:56 +00:00
scale_gcc.cc ScaleRowUp2_Bilinear_12_SSSE3 preserve xmm7 for Windows 2022-10-21 19:35:17 +00:00
scale_lsx.cc DetilePlane and unittest for NEON 2022-01-31 20:05:55 +00:00
scale_msa.cc Switch to C99 types 2018-01-23 19:16:05 +00:00
scale_neon64.cc FilterRows_NEON - remove unused function - same as InterpolateRow_NEON 2023-06-13 15:20:02 +00:00
scale_neon.cc UVScale down by 2 fix for C and optimize for NEON 2023-04-12 22:49:20 +00:00
scale_rgb.cc RGBScale function using 3 steps: RGB24ToARGB, ARGBScale, ARGBToRGB24 2022-03-19 01:44:06 +00:00
scale_rvv.cc [RVV] Enable ScaleRowUp2_(Bi)linear_RVV/ScaleUVRowUp2_(Bi)linear_RVV 2023-07-26 18:05:50 +00:00
scale_uv.cc [RVV] Enable ScaleRowUp2_(Bi)linear_RVV/ScaleUVRowUp2_(Bi)linear_RVV 2023-07-26 18:05:50 +00:00
scale_win.cc Switch win32 to row_gcc for clangcl. 2021-04-22 19:32:32 +00:00
scale.cc [RVV] Enable ScaleRowUp2_(Bi)linear_RVV/ScaleUVRowUp2_(Bi)linear_RVV 2023-07-26 18:05:50 +00:00
test.sh Optimze ABGRToI420 for AVX2 2020-06-04 18:24:45 +00:00
video_common.cc Lint cleanup after C99 change CL 2018-01-24 19:16:03 +00:00