Remove MMI support

Bug: libyuv:916
Change-Id: I345b7e271ceb4b32fe91e292915e66be40812810
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3415817
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Wan-Teh Chang <wtc@google.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
This commit is contained in:
Frank Barchard 2022-01-25 18:44:54 -08:00 committed by libyuv LUCI CQ
parent 2f87e9a713
commit 2c6bfc02d5
34 changed files with 55 additions and 2682 deletions

View File

@ -35,7 +35,6 @@ cc_library {
"source/compare.cc", "source/compare.cc",
"source/compare_common.cc", "source/compare_common.cc",
"source/compare_gcc.cc", "source/compare_gcc.cc",
"source/compare_mmi.cc",
"source/compare_msa.cc", "source/compare_msa.cc",
"source/compare_neon.cc", "source/compare_neon.cc",
"source/compare_neon64.cc", "source/compare_neon64.cc",
@ -55,14 +54,12 @@ cc_library {
"source/rotate_argb.cc", "source/rotate_argb.cc",
"source/rotate_common.cc", "source/rotate_common.cc",
"source/rotate_gcc.cc", "source/rotate_gcc.cc",
"source/rotate_mmi.cc",
"source/rotate_msa.cc", "source/rotate_msa.cc",
"source/rotate_neon.cc", "source/rotate_neon.cc",
"source/rotate_neon64.cc", "source/rotate_neon64.cc",
"source/row_any.cc", "source/row_any.cc",
"source/row_common.cc", "source/row_common.cc",
"source/row_gcc.cc", "source/row_gcc.cc",
"source/row_mmi.cc",
"source/row_msa.cc", "source/row_msa.cc",
"source/row_neon.cc", "source/row_neon.cc",
"source/row_neon64.cc", "source/row_neon64.cc",
@ -71,7 +68,6 @@ cc_library {
"source/scale_argb.cc", "source/scale_argb.cc",
"source/scale_common.cc", "source/scale_common.cc",
"source/scale_gcc.cc", "source/scale_gcc.cc",
"source/scale_mmi.cc",
"source/scale_msa.cc", "source/scale_msa.cc",
"source/scale_neon.cc", "source/scale_neon.cc",
"source/scale_neon64.cc", "source/scale_neon64.cc",

View File

@ -9,7 +9,6 @@ LOCAL_SRC_FILES := \
source/compare.cc \ source/compare.cc \
source/compare_common.cc \ source/compare_common.cc \
source/compare_gcc.cc \ source/compare_gcc.cc \
source/compare_mmi.cc \
source/compare_msa.cc \ source/compare_msa.cc \
source/compare_neon.cc \ source/compare_neon.cc \
source/compare_neon64.cc \ source/compare_neon64.cc \
@ -27,7 +26,6 @@ LOCAL_SRC_FILES := \
source/rotate_argb.cc \ source/rotate_argb.cc \
source/rotate_common.cc \ source/rotate_common.cc \
source/rotate_gcc.cc \ source/rotate_gcc.cc \
source/rotate_mmi.cc \
source/rotate_msa.cc \ source/rotate_msa.cc \
source/rotate_neon.cc \ source/rotate_neon.cc \
source/rotate_neon64.cc \ source/rotate_neon64.cc \
@ -35,7 +33,6 @@ LOCAL_SRC_FILES := \
source/row_any.cc \ source/row_any.cc \
source/row_common.cc \ source/row_common.cc \
source/row_gcc.cc \ source/row_gcc.cc \
source/row_mmi.cc \
source/row_msa.cc \ source/row_msa.cc \
source/row_neon.cc \ source/row_neon.cc \
source/row_neon64.cc \ source/row_neon64.cc \
@ -45,7 +42,6 @@ LOCAL_SRC_FILES := \
source/scale_argb.cc \ source/scale_argb.cc \
source/scale_common.cc \ source/scale_common.cc \
source/scale_gcc.cc \ source/scale_gcc.cc \
source/scale_mmi.cc \
source/scale_msa.cc \ source/scale_msa.cc \
source/scale_neon.cc \ source/scale_neon.cc \
source/scale_neon64.cc \ source/scale_neon64.cc \

View File

@ -65,10 +65,6 @@ group("libyuv") {
deps += [ ":libyuv_msa" ] deps += [ ":libyuv_msa" ]
} }
if (libyuv_use_mmi) {
deps += [ ":libyuv_mmi" ]
}
if (!is_ios && !libyuv_disable_jpeg) { if (!is_ios && !libyuv_disable_jpeg) {
# Make sure that clients of libyuv link with libjpeg. This can't go in # Make sure that clients of libyuv link with libjpeg. This can't go in
# libyuv_internal because in Windows x64 builds that will generate a clang # libyuv_internal because in Windows x64 builds that will generate a clang
@ -174,9 +170,6 @@ static_library("libyuv_internal") {
"-ffp-contract=fast", # Enable fma vectorization for NEON. "-ffp-contract=fast", # Enable fma vectorization for NEON.
] ]
} }
if (!libyuv_use_mmi) {
defines += [ "LIBYUV_DISABLE_MMI" ]
}
} }
if (libyuv_use_neon) { if (libyuv_use_neon) {
@ -230,22 +223,6 @@ if (libyuv_use_msa) {
} }
} }
if (libyuv_use_mmi) {
static_library("libyuv_mmi") {
sources = [
# MMI Source Files
"source/compare_mmi.cc",
"source/rotate_mmi.cc",
"source/row_mmi.cc",
"source/scale_mmi.cc",
]
deps = [ ":libyuv_internal" ]
public_configs = [ ":libyuv_config" ]
}
}
if (libyuv_include_tests) { if (libyuv_include_tests) {
config("libyuv_unittest_warnings_config") { config("libyuv_unittest_warnings_config") {
if (!is_win) { if (!is_win) {

View File

@ -1,6 +1,6 @@
Name: libyuv Name: libyuv
URL: http://code.google.com/p/libyuv/ URL: http://code.google.com/p/libyuv/
Version: 1808 Version: 1809
License: BSD License: BSD
License File: LICENSE License File: LICENSE

View File

@ -35,7 +35,6 @@ By default the cpu is detected and the most advanced form of SIMD is used. But
## MIPS CPUs ## MIPS CPUs
LIBYUV_DISABLE_MSA LIBYUV_DISABLE_MSA
LIBYUV_DISABLE_MMI
## LOONGARCH CPUs ## LOONGARCH CPUs
LIBYUV_DISABLE_LSX LIBYUV_DISABLE_LSX

View File

@ -180,8 +180,8 @@ Running test with C code:
mips mips
gn gen out/Release "--args=is_debug=false target_os=\"linux\" target_cpu=\"mips64el\" mips_arch_variant=\"loongson3\" mips_use_mmi=true is_component_build=false use_sysroot=false use_gold=false" gn gen out/Release "--args=is_debug=false target_os=\"linux\" target_cpu=\"mips64el\" mips_arch_variant=\"loongson3\" is_component_build=false use_sysroot=false use_gold=false"
gn gen out/Debug "--args=is_debug=true target_os=\"linux\" target_cpu=\"mips64el\" mips_arch_variant=\"loongson3\" mips_use_mmi=true is_component_build=false use_sysroot=false use_gold=false" gn gen out/Debug "--args=is_debug=true target_os=\"linux\" target_cpu=\"mips64el\" mips_arch_variant=\"loongson3\" is_component_build=false use_sysroot=false use_gold=false"
ninja -v -C out/Debug libyuv_unittest ninja -v -C out/Debug libyuv_unittest
ninja -v -C out/Release libyuv_unittest ninja -v -C out/Release libyuv_unittest

View File

@ -84,11 +84,6 @@ extern "C" {
#define HAS_SUMSQUAREERROR_MSA #define HAS_SUMSQUAREERROR_MSA
#endif #endif
#if !defined(LIBYUV_DISABLE_MMI) && defined(_MIPS_ARCH_LOONGSON3A)
#define HAS_HAMMINGDISTANCE_MMI
#define HAS_SUMSQUAREERROR_MMI
#endif
uint32_t HammingDistance_C(const uint8_t* src_a, uint32_t HammingDistance_C(const uint8_t* src_a,
const uint8_t* src_b, const uint8_t* src_b,
int count); int count);
@ -107,9 +102,6 @@ uint32_t HammingDistance_NEON(const uint8_t* src_a,
uint32_t HammingDistance_MSA(const uint8_t* src_a, uint32_t HammingDistance_MSA(const uint8_t* src_a,
const uint8_t* src_b, const uint8_t* src_b,
int count); int count);
uint32_t HammingDistance_MMI(const uint8_t* src_a,
const uint8_t* src_b,
int count);
uint32_t SumSquareError_C(const uint8_t* src_a, uint32_t SumSquareError_C(const uint8_t* src_a,
const uint8_t* src_b, const uint8_t* src_b,
int count); int count);
@ -125,9 +117,6 @@ uint32_t SumSquareError_NEON(const uint8_t* src_a,
uint32_t SumSquareError_MSA(const uint8_t* src_a, uint32_t SumSquareError_MSA(const uint8_t* src_a,
const uint8_t* src_b, const uint8_t* src_b,
int count); int count);
uint32_t SumSquareError_MMI(const uint8_t* src_a,
const uint8_t* src_b,
int count);
uint32_t HashDjb2_C(const uint8_t* src, int count, uint32_t seed); uint32_t HashDjb2_C(const uint8_t* src, int count, uint32_t seed);
uint32_t HashDjb2_SSE41(const uint8_t* src, int count, uint32_t seed); uint32_t HashDjb2_SSE41(const uint8_t* src, int count, uint32_t seed);

View File

@ -49,7 +49,6 @@ static const int kCpuHasAVX512VPOPCNTDQ = 0x200000;
// These flags are only valid on MIPS processors. // These flags are only valid on MIPS processors.
static const int kCpuHasMIPS = 0x400000; static const int kCpuHasMIPS = 0x400000;
static const int kCpuHasMSA = 0x800000; static const int kCpuHasMSA = 0x800000;
static const int kCpuHasMMI = 0x1000000;
// These flags are only valid on LOONGARCH processors. // These flags are only valid on LOONGARCH processors.
static const int kCpuHasLOONGARCH = 0x2000000; static const int kCpuHasLOONGARCH = 0x2000000;

View File

@ -61,11 +61,6 @@ extern "C" {
#define HAS_TRANSPOSEUVWX16_MSA #define HAS_TRANSPOSEUVWX16_MSA
#endif #endif
#if !defined(LIBYUV_DISABLE_MMI) && defined(_MIPS_ARCH_LOONGSON3A)
#define HAS_TRANSPOSEWX8_MMI
#define HAS_TRANSPOSEUVWX8_MMI
#endif
#if !defined(LIBYUV_DISABLE_LSX) && defined(__loongarch_sx) #if !defined(LIBYUV_DISABLE_LSX) && defined(__loongarch_sx)
#define HAS_TRANSPOSEWX16_LSX #define HAS_TRANSPOSEWX16_LSX
#define HAS_TRANSPOSEUVWX16_LSX #define HAS_TRANSPOSEUVWX16_LSX
@ -98,11 +93,6 @@ void TransposeWx8_SSSE3(const uint8_t* src,
uint8_t* dst, uint8_t* dst,
int dst_stride, int dst_stride,
int width); int width);
void TransposeWx8_MMI(const uint8_t* src,
int src_stride,
uint8_t* dst,
int dst_stride,
int width);
void TransposeWx8_Fast_SSSE3(const uint8_t* src, void TransposeWx8_Fast_SSSE3(const uint8_t* src,
int src_stride, int src_stride,
uint8_t* dst, uint8_t* dst,
@ -129,11 +119,6 @@ void TransposeWx8_Any_SSSE3(const uint8_t* src,
uint8_t* dst, uint8_t* dst,
int dst_stride, int dst_stride,
int width); int width);
void TransposeWx8_Any_MMI(const uint8_t* src,
int src_stride,
uint8_t* dst,
int dst_stride,
int width);
void TransposeWx8_Fast_Any_SSSE3(const uint8_t* src, void TransposeWx8_Fast_Any_SSSE3(const uint8_t* src,
int src_stride, int src_stride,
uint8_t* dst, uint8_t* dst,
@ -187,13 +172,6 @@ void TransposeUVWx8_NEON(const uint8_t* src,
uint8_t* dst_b, uint8_t* dst_b,
int dst_stride_b, int dst_stride_b,
int width); int width);
void TransposeUVWx8_MMI(const uint8_t* src,
int src_stride,
uint8_t* dst_a,
int dst_stride_a,
uint8_t* dst_b,
int dst_stride_b,
int width);
void TransposeUVWx16_MSA(const uint8_t* src, void TransposeUVWx16_MSA(const uint8_t* src,
int src_stride, int src_stride,
uint8_t* dst_a, uint8_t* dst_a,
@ -223,13 +201,6 @@ void TransposeUVWx8_Any_NEON(const uint8_t* src,
uint8_t* dst_b, uint8_t* dst_b,
int dst_stride_b, int dst_stride_b,
int width); int width);
void TransposeUVWx8_Any_MMI(const uint8_t* src,
int src_stride,
uint8_t* dst_a,
int dst_stride_a,
uint8_t* dst_b,
int dst_stride_b,
int width);
void TransposeUVWx16_Any_MSA(const uint8_t* src, void TransposeUVWx16_Any_MSA(const uint8_t* src,
int src_stride, int src_stride,
uint8_t* dst_a, uint8_t* dst_a,

File diff suppressed because it is too large Load Diff

View File

@ -160,24 +160,6 @@ extern "C" {
#define HAS_SCALEROWDOWN4_MSA #define HAS_SCALEROWDOWN4_MSA
#endif #endif
#if !defined(LIBYUV_DISABLE_MMI) && defined(_MIPS_ARCH_LOONGSON3A)
#define HAS_FIXEDDIV1_MIPS
#define HAS_FIXEDDIV_MIPS
#define HAS_SCALEADDROW_16_MMI
#define HAS_SCALEADDROW_MMI
#define HAS_SCALEARGBCOLS_MMI
#define HAS_SCALEARGBCOLSUP2_MMI
#define HAS_SCALEARGBROWDOWN2_MMI
#define HAS_SCALEARGBROWDOWNEVEN_MMI
#define HAS_SCALECOLS_16_MMI
#define HAS_SCALECOLS_MMI
#define HAS_SCALEROWDOWN2_16_MMI
#define HAS_SCALEROWDOWN2_MMI
#define HAS_SCALEROWDOWN4_16_MMI
#define HAS_SCALEROWDOWN4_MMI
#define HAS_SCALEROWDOWN34_MMI
#endif
#if !defined(LIBYUV_DISABLE_LSX) && defined(__loongarch_sx) #if !defined(LIBYUV_DISABLE_LSX) && defined(__loongarch_sx)
#define HAS_SCALEARGBROWDOWN2_LSX #define HAS_SCALEARGBROWDOWN2_LSX
#define HAS_SCALEARGBROWDOWNEVEN_LSX #define HAS_SCALEARGBROWDOWNEVEN_LSX
@ -884,16 +866,6 @@ void ScaleARGBCols_Any_MSA(uint8_t* dst_ptr,
int dst_width, int dst_width,
int x, int x,
int dx); int dx);
void ScaleARGBCols_MMI(uint8_t* dst_argb,
const uint8_t* src_argb,
int dst_width,
int x,
int dx);
void ScaleARGBCols_Any_MMI(uint8_t* dst_ptr,
const uint8_t* src_ptr,
int dst_width,
int x,
int dx);
// ARGB Row functions // ARGB Row functions
void ScaleARGBRowDown2_SSE2(const uint8_t* src_argb, void ScaleARGBRowDown2_SSE2(const uint8_t* src_argb,
@ -932,18 +904,6 @@ void ScaleARGBRowDown2Box_MSA(const uint8_t* src_argb,
ptrdiff_t src_stride, ptrdiff_t src_stride,
uint8_t* dst_argb, uint8_t* dst_argb,
int dst_width); int dst_width);
void ScaleARGBRowDown2_MMI(const uint8_t* src_argb,
ptrdiff_t src_stride,
uint8_t* dst_argb,
int dst_width);
void ScaleARGBRowDown2Linear_MMI(const uint8_t* src_argb,
ptrdiff_t src_stride,
uint8_t* dst_argb,
int dst_width);
void ScaleARGBRowDown2Box_MMI(const uint8_t* src_argb,
ptrdiff_t src_stride,
uint8_t* dst_argb,
int dst_width);
void ScaleARGBRowDown2_LSX(const uint8_t* src_argb, void ScaleARGBRowDown2_LSX(const uint8_t* src_argb,
ptrdiff_t src_stride, ptrdiff_t src_stride,
uint8_t* dst_argb, uint8_t* dst_argb,
@ -992,18 +952,6 @@ void ScaleARGBRowDown2Box_Any_MSA(const uint8_t* src_ptr,
ptrdiff_t src_stride, ptrdiff_t src_stride,
uint8_t* dst_ptr, uint8_t* dst_ptr,
int dst_width); int dst_width);
void ScaleARGBRowDown2_Any_MMI(const uint8_t* src_ptr,
ptrdiff_t src_stride,
uint8_t* dst_ptr,
int dst_width);
void ScaleARGBRowDown2Linear_Any_MMI(const uint8_t* src_ptr,
ptrdiff_t src_stride,
uint8_t* dst_ptr,
int dst_width);
void ScaleARGBRowDown2Box_Any_MMI(const uint8_t* src_ptr,
ptrdiff_t src_stride,
uint8_t* dst_ptr,
int dst_width);
void ScaleARGBRowDown2_Any_LSX(const uint8_t* src_ptr, void ScaleARGBRowDown2_Any_LSX(const uint8_t* src_ptr,
ptrdiff_t src_stride, ptrdiff_t src_stride,
uint8_t* dst_ptr, uint8_t* dst_ptr,
@ -1046,16 +994,6 @@ void ScaleARGBRowDownEvenBox_MSA(const uint8_t* src_argb,
int src_stepx, int src_stepx,
uint8_t* dst_argb, uint8_t* dst_argb,
int dst_width); int dst_width);
void ScaleARGBRowDownEven_MMI(const uint8_t* src_argb,
ptrdiff_t src_stride,
int32_t src_stepx,
uint8_t* dst_argb,
int dst_width);
void ScaleARGBRowDownEvenBox_MMI(const uint8_t* src_argb,
ptrdiff_t src_stride,
int src_stepx,
uint8_t* dst_argb,
int dst_width);
void ScaleARGBRowDownEven_LSX(const uint8_t* src_argb, void ScaleARGBRowDownEven_LSX(const uint8_t* src_argb,
ptrdiff_t src_stride, ptrdiff_t src_stride,
int32_t src_stepx, int32_t src_stepx,
@ -1096,16 +1034,6 @@ void ScaleARGBRowDownEvenBox_Any_MSA(const uint8_t* src_ptr,
int src_stepx, int src_stepx,
uint8_t* dst_ptr, uint8_t* dst_ptr,
int dst_width); int dst_width);
void ScaleARGBRowDownEven_Any_MMI(const uint8_t* src_ptr,
ptrdiff_t src_stride,
int32_t src_stepx,
uint8_t* dst_ptr,
int dst_width);
void ScaleARGBRowDownEvenBox_Any_MMI(const uint8_t* src_ptr,
ptrdiff_t src_stride,
int src_stepx,
uint8_t* dst_ptr,
int dst_width);
void ScaleARGBRowDownEven_Any_LSX(const uint8_t* src_ptr, void ScaleARGBRowDownEven_Any_LSX(const uint8_t* src_ptr,
ptrdiff_t src_stride, ptrdiff_t src_stride,
int32_t src_stepx, int32_t src_stepx,
@ -1158,18 +1086,6 @@ void ScaleUVRowDown2Box_MSA(const uint8_t* src_ptr,
ptrdiff_t src_stride, ptrdiff_t src_stride,
uint8_t* dst_uv, uint8_t* dst_uv,
int dst_width); int dst_width);
void ScaleUVRowDown2_MMI(const uint8_t* src_ptr,
ptrdiff_t src_stride,
uint8_t* dst_uv,
int dst_width);
void ScaleUVRowDown2Linear_MMI(const uint8_t* src_ptr,
ptrdiff_t src_stride,
uint8_t* dst_uv,
int dst_width);
void ScaleUVRowDown2Box_MMI(const uint8_t* src_ptr,
ptrdiff_t src_stride,
uint8_t* dst_uv,
int dst_width);
void ScaleUVRowDown2_Any_SSSE3(const uint8_t* src_ptr, void ScaleUVRowDown2_Any_SSSE3(const uint8_t* src_ptr,
ptrdiff_t src_stride, ptrdiff_t src_stride,
uint8_t* dst_ptr, uint8_t* dst_ptr,
@ -1210,18 +1126,6 @@ void ScaleUVRowDown2Box_Any_MSA(const uint8_t* src_ptr,
ptrdiff_t src_stride, ptrdiff_t src_stride,
uint8_t* dst_ptr, uint8_t* dst_ptr,
int dst_width); int dst_width);
void ScaleUVRowDown2_Any_MMI(const uint8_t* src_ptr,
ptrdiff_t src_stride,
uint8_t* dst_ptr,
int dst_width);
void ScaleUVRowDown2Linear_Any_MMI(const uint8_t* src_ptr,
ptrdiff_t src_stride,
uint8_t* dst_ptr,
int dst_width);
void ScaleUVRowDown2Box_Any_MMI(const uint8_t* src_ptr,
ptrdiff_t src_stride,
uint8_t* dst_ptr,
int dst_width);
void ScaleUVRowDownEven_SSSE3(const uint8_t* src_ptr, void ScaleUVRowDownEven_SSSE3(const uint8_t* src_ptr,
ptrdiff_t src_stride, ptrdiff_t src_stride,
int src_stepx, int src_stepx,
@ -1252,16 +1156,6 @@ void ScaleUVRowDownEvenBox_MSA(const uint8_t* src_ptr,
int src_stepx, int src_stepx,
uint8_t* dst_uv, uint8_t* dst_uv,
int dst_width); int dst_width);
void ScaleUVRowDownEven_MMI(const uint8_t* src_ptr,
ptrdiff_t src_stride,
int32_t src_stepx,
uint8_t* dst_uv,
int dst_width);
void ScaleUVRowDownEvenBox_MMI(const uint8_t* src_ptr,
ptrdiff_t src_stride,
int src_stepx,
uint8_t* dst_uv,
int dst_width);
void ScaleUVRowDownEven_Any_SSSE3(const uint8_t* src_ptr, void ScaleUVRowDownEven_Any_SSSE3(const uint8_t* src_ptr,
ptrdiff_t src_stride, ptrdiff_t src_stride,
int src_stepx, int src_stepx,
@ -1292,16 +1186,6 @@ void ScaleUVRowDownEvenBox_Any_MSA(const uint8_t* src_ptr,
int src_stepx, int src_stepx,
uint8_t* dst_ptr, uint8_t* dst_ptr,
int dst_width); int dst_width);
void ScaleUVRowDownEven_Any_MMI(const uint8_t* src_ptr,
ptrdiff_t src_stride,
int32_t src_stepx,
uint8_t* dst_ptr,
int dst_width);
void ScaleUVRowDownEvenBox_Any_MMI(const uint8_t* src_ptr,
ptrdiff_t src_stride,
int src_stepx,
uint8_t* dst_ptr,
int dst_width);
void ScaleUVRowUp2_Linear_SSSE3(const uint8_t* src_ptr, void ScaleUVRowUp2_Linear_SSSE3(const uint8_t* src_ptr,
uint8_t* dst_ptr, uint8_t* dst_ptr,
@ -1618,10 +1502,6 @@ void ScaleRowDown34_MSA(const uint8_t* src_ptr,
ptrdiff_t src_stride, ptrdiff_t src_stride,
uint8_t* dst, uint8_t* dst,
int dst_width); int dst_width);
void ScaleRowDown34_MMI(const uint8_t* src_ptr,
ptrdiff_t src_stride,
uint8_t* dst,
int dst_width);
void ScaleRowDown34_0_Box_MSA(const uint8_t* src_ptr, void ScaleRowDown34_0_Box_MSA(const uint8_t* src_ptr,
ptrdiff_t src_stride, ptrdiff_t src_stride,
uint8_t* d, uint8_t* d,
@ -1675,10 +1555,6 @@ void ScaleRowDown34_Any_MSA(const uint8_t* src_ptr,
ptrdiff_t src_stride, ptrdiff_t src_stride,
uint8_t* dst_ptr, uint8_t* dst_ptr,
int dst_width); int dst_width);
void ScaleRowDown34_Any_MMI(const uint8_t* src_ptr,
ptrdiff_t src_stride,
uint8_t* dst_ptr,
int dst_width);
void ScaleRowDown34_0_Box_Any_MSA(const uint8_t* src_ptr, void ScaleRowDown34_0_Box_Any_MSA(const uint8_t* src_ptr,
ptrdiff_t src_stride, ptrdiff_t src_stride,
uint8_t* dst_ptr, uint8_t* dst_ptr,
@ -1688,93 +1564,7 @@ void ScaleRowDown34_1_Box_Any_MSA(const uint8_t* src_ptr,
uint8_t* dst_ptr, uint8_t* dst_ptr,
int dst_width); int dst_width);
void ScaleRowDown2_MMI(const uint8_t* src_ptr,
ptrdiff_t src_stride,
uint8_t* dst,
int dst_width);
void ScaleRowDown2_16_MMI(const uint16_t* src_ptr,
ptrdiff_t src_stride,
uint16_t* dst,
int dst_width);
void ScaleRowDown2Linear_MMI(const uint8_t* src_ptr,
ptrdiff_t src_stride,
uint8_t* dst,
int dst_width);
void ScaleRowDown2Linear_16_MMI(const uint16_t* src_ptr,
ptrdiff_t src_stride,
uint16_t* dst,
int dst_width);
void ScaleRowDown2Box_MMI(const uint8_t* src_ptr,
ptrdiff_t src_stride,
uint8_t* dst,
int dst_width);
void ScaleRowDown2Box_16_MMI(const uint16_t* src_ptr,
ptrdiff_t src_stride,
uint16_t* dst,
int dst_width);
void ScaleRowDown2Box_Odd_MMI(const uint8_t* src_ptr,
ptrdiff_t src_stride,
uint8_t* dst,
int dst_width);
void ScaleRowDown4_MMI(const uint8_t* src_ptr,
ptrdiff_t src_stride,
uint8_t* dst,
int dst_width);
void ScaleRowDown4_16_MMI(const uint16_t* src_ptr,
ptrdiff_t src_stride,
uint16_t* dst,
int dst_width);
void ScaleRowDown4Box_MMI(const uint8_t* src_ptr,
ptrdiff_t src_stride,
uint8_t* dst,
int dst_width);
void ScaleRowDown4Box_16_MMI(const uint16_t* src_ptr,
ptrdiff_t src_stride,
uint16_t* dst,
int dst_width);
void ScaleAddRow_MMI(const uint8_t* src_ptr, uint16_t* dst_ptr, int src_width);
void ScaleAddRow_16_MMI(const uint16_t* src_ptr,
uint32_t* dst_ptr,
int src_width);
void ScaleColsUp2_MMI(uint8_t* dst_ptr,
const uint8_t* src_ptr,
int dst_width,
int x,
int dx);
void ScaleColsUp2_16_MMI(uint16_t* dst_ptr,
const uint16_t* src_ptr,
int dst_width,
int x,
int dx);
void ScaleARGBColsUp2_MMI(uint8_t* dst_argb,
const uint8_t* src_argb,
int dst_width,
int x,
int dx);
void ScaleRowDown2_Any_MMI(const uint8_t* src_ptr,
ptrdiff_t src_stride,
uint8_t* dst_ptr,
int dst_width);
void ScaleRowDown2Linear_Any_MMI(const uint8_t* src_ptr,
ptrdiff_t src_stride,
uint8_t* dst_ptr,
int dst_width);
void ScaleRowDown2Box_Any_MMI(const uint8_t* src_ptr,
ptrdiff_t src_stride,
uint8_t* dst_ptr,
int dst_width);
void ScaleRowDown4_Any_MMI(const uint8_t* src_ptr,
ptrdiff_t src_stride,
uint8_t* dst_ptr,
int dst_width);
void ScaleRowDown4Box_Any_MMI(const uint8_t* src_ptr,
ptrdiff_t src_stride,
uint8_t* dst_ptr,
int dst_width);
void ScaleAddRow_Any_MMI(const uint8_t* src_ptr,
uint16_t* dst_ptr,
int src_width);
void ScaleRowDown2_LSX(const uint8_t* src_ptr, void ScaleRowDown2_LSX(const uint8_t* src_ptr,
ptrdiff_t src_stride, ptrdiff_t src_stride,
uint8_t* dst, uint8_t* dst,

View File

@ -11,6 +11,6 @@
#ifndef INCLUDE_LIBYUV_VERSION_H_ #ifndef INCLUDE_LIBYUV_VERSION_H_
#define INCLUDE_LIBYUV_VERSION_H_ #define INCLUDE_LIBYUV_VERSION_H_
#define LIBYUV_VERSION 1808 #define LIBYUV_VERSION 1809
#endif // INCLUDE_LIBYUV_VERSION_H_ #endif // INCLUDE_LIBYUV_VERSION_H_

View File

@ -13,7 +13,6 @@ LOCAL_OBJ_FILES := \
source/compare.o \ source/compare.o \
source/compare_common.o \ source/compare_common.o \
source/compare_gcc.o \ source/compare_gcc.o \
source/compare_mmi.o \
source/compare_msa.o \ source/compare_msa.o \
source/compare_neon.o \ source/compare_neon.o \
source/compare_neon64.o \ source/compare_neon64.o \
@ -34,7 +33,6 @@ LOCAL_OBJ_FILES := \
source/rotate_argb.o \ source/rotate_argb.o \
source/rotate_common.o \ source/rotate_common.o \
source/rotate_gcc.o \ source/rotate_gcc.o \
source/rotate_mmi.o \
source/rotate_msa.o \ source/rotate_msa.o \
source/rotate_neon.o \ source/rotate_neon.o \
source/rotate_neon64.o \ source/rotate_neon64.o \
@ -42,7 +40,6 @@ LOCAL_OBJ_FILES := \
source/row_any.o \ source/row_any.o \
source/row_common.o \ source/row_common.o \
source/row_gcc.o \ source/row_gcc.o \
source/row_mmi.o \
source/row_msa.o \ source/row_msa.o \
source/row_neon.o \ source/row_neon.o \
source/row_neon64.o \ source/row_neon64.o \
@ -52,7 +49,6 @@ LOCAL_OBJ_FILES := \
source/scale_argb.o \ source/scale_argb.o \
source/scale_common.o \ source/scale_common.o \
source/scale_gcc.o \ source/scale_gcc.o \
source/scale_mmi.o \
source/scale_msa.o \ source/scale_msa.o \
source/scale_neon.o \ source/scale_neon.o \
source/scale_neon64.o \ source/scale_neon64.o \

View File

@ -149,11 +149,6 @@ uint64_t ComputeHammingDistance(const uint8_t* src_a,
HammingDistance = HammingDistance_AVX2; HammingDistance = HammingDistance_AVX2;
} }
#endif #endif
#if defined(HAS_HAMMINGDISTANCE_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
HammingDistance = HammingDistance_MMI;
}
#endif
#if defined(HAS_HAMMINGDISTANCE_MSA) #if defined(HAS_HAMMINGDISTANCE_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
HammingDistance = HammingDistance_MSA; HammingDistance = HammingDistance_MSA;
@ -211,11 +206,6 @@ uint64_t ComputeSumSquareError(const uint8_t* src_a,
SumSquareError = SumSquareError_AVX2; SumSquareError = SumSquareError_AVX2;
} }
#endif #endif
#if defined(HAS_SUMSQUAREERROR_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
SumSquareError = SumSquareError_MMI;
}
#endif
#if defined(HAS_SUMSQUAREERROR_MSA) #if defined(HAS_SUMSQUAREERROR_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
SumSquareError = SumSquareError_MSA; SumSquareError = SumSquareError_MSA;

View File

@ -628,14 +628,6 @@ int I422ToNV21(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_MERGEUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
MergeUVRow = MergeUVRow_Any_MMI;
if (IS_ALIGNED(halfwidth, 8)) {
MergeUVRow = MergeUVRow_MMI;
}
}
#endif
#if defined(HAS_MERGEUVROW_MSA) #if defined(HAS_MERGEUVROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
MergeUVRow = MergeUVRow_Any_MSA; MergeUVRow = MergeUVRow_Any_MSA;
@ -676,14 +668,6 @@ int I422ToNV21(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_INTERPOLATEROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
InterpolateRow = InterpolateRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
InterpolateRow = InterpolateRow_MMI;
}
}
#endif
#if defined(HAS_INTERPOLATEROW_MSA) #if defined(HAS_INTERPOLATEROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
InterpolateRow = InterpolateRow_Any_MSA; InterpolateRow = InterpolateRow_Any_MSA;
@ -1089,18 +1073,6 @@ int YUY2ToI420(const uint8_t* src_yuy2,
} }
} }
#endif #endif
#if defined(HAS_YUY2TOYROW_MMI) && defined(HAS_YUY2TOUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
YUY2ToYRow = YUY2ToYRow_Any_MMI;
YUY2ToUVRow = YUY2ToUVRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
YUY2ToYRow = YUY2ToYRow_MMI;
if (IS_ALIGNED(width, 16)) {
YUY2ToUVRow = YUY2ToUVRow_MMI;
}
}
}
#endif
#if defined(HAS_YUY2TOYROW_MSA) && defined(HAS_YUY2TOUVROW_MSA) #if defined(HAS_YUY2TOYROW_MSA) && defined(HAS_YUY2TOUVROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
YUY2ToYRow = YUY2ToYRow_Any_MSA; YUY2ToYRow = YUY2ToYRow_Any_MSA;
@ -1192,16 +1164,6 @@ int UYVYToI420(const uint8_t* src_uyvy,
} }
} }
#endif #endif
#if defined(HAS_UYVYTOYROW_MMI) && defined(HAS_UYVYTOUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
UYVYToYRow = UYVYToYRow_Any_MMI;
UYVYToUVRow = UYVYToUVRow_Any_MMI;
if (IS_ALIGNED(width, 16)) {
UYVYToYRow = UYVYToYRow_MMI;
UYVYToUVRow = UYVYToUVRow_MMI;
}
}
#endif
#if defined(HAS_UYVYTOYROW_MSA) #if defined(HAS_UYVYTOYROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
UYVYToYRow = UYVYToYRow_Any_MSA; UYVYToYRow = UYVYToYRow_Any_MSA;
@ -1452,18 +1414,6 @@ int ARGBToI420(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_ARGBTOYROW_MMI) && defined(HAS_ARGBTOUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBToYRow = ARGBToYRow_Any_MMI;
ARGBToUVRow = ARGBToUVRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
ARGBToYRow = ARGBToYRow_MMI;
}
if (IS_ALIGNED(width, 16)) {
ARGBToUVRow = ARGBToUVRow_MMI;
}
}
#endif
#if defined(HAS_ARGBTOYROW_MSA) && defined(HAS_ARGBTOUVROW_MSA) #if defined(HAS_ARGBTOYROW_MSA) && defined(HAS_ARGBTOUVROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBToYRow = ARGBToYRow_Any_MSA; ARGBToYRow = ARGBToYRow_Any_MSA;
@ -1556,18 +1506,6 @@ int BGRAToI420(const uint8_t* src_bgra,
} }
} }
#endif #endif
#if defined(HAS_BGRATOYROW_MMI) && defined(HAS_BGRATOUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
BGRAToYRow = BGRAToYRow_Any_MMI;
BGRAToUVRow = BGRAToUVRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
BGRAToYRow = BGRAToYRow_MMI;
}
if (IS_ALIGNED(width, 16)) {
BGRAToUVRow = BGRAToUVRow_MMI;
}
}
#endif
#if defined(HAS_BGRATOYROW_MSA) && defined(HAS_BGRATOUVROW_MSA) #if defined(HAS_BGRATOYROW_MSA) && defined(HAS_BGRATOUVROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
BGRAToYRow = BGRAToYRow_Any_MSA; BGRAToYRow = BGRAToYRow_Any_MSA;
@ -1680,18 +1618,6 @@ int ABGRToI420(const uint8_t* src_abgr,
} }
} }
#endif #endif
#if defined(HAS_ABGRTOYROW_MMI) && defined(HAS_ABGRTOUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ABGRToYRow = ABGRToYRow_Any_MMI;
ABGRToUVRow = ABGRToUVRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
ABGRToYRow = ABGRToYRow_MMI;
}
if (IS_ALIGNED(width, 16)) {
ABGRToUVRow = ABGRToUVRow_MMI;
}
}
#endif
#if defined(HAS_ABGRTOYROW_MSA) && defined(HAS_ABGRTOUVROW_MSA) #if defined(HAS_ABGRTOYROW_MSA) && defined(HAS_ABGRTOUVROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ABGRToYRow = ABGRToYRow_Any_MSA; ABGRToYRow = ABGRToYRow_Any_MSA;
@ -1788,18 +1714,6 @@ int RGBAToI420(const uint8_t* src_rgba,
} }
} }
#endif #endif
#if defined(HAS_RGBATOYROW_MMI) && defined(HAS_RGBATOUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
RGBAToYRow = RGBAToYRow_Any_MMI;
RGBAToUVRow = RGBAToUVRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
RGBAToYRow = RGBAToYRow_MMI;
}
if (IS_ALIGNED(width, 16)) {
RGBAToUVRow = RGBAToUVRow_MMI;
}
}
#endif
#if defined(HAS_RGBATOYROW_MSA) && defined(HAS_RGBATOUVROW_MSA) #if defined(HAS_RGBATOYROW_MSA) && defined(HAS_RGBATOUVROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
RGBAToYRow = RGBAToYRow_Any_MSA; RGBAToYRow = RGBAToYRow_Any_MSA;
@ -1839,7 +1753,7 @@ int RGBAToI420(const uint8_t* src_rgba,
// Enabled if 1 pass is available // Enabled if 1 pass is available
#if (defined(HAS_RGB24TOYROW_NEON) || defined(HAS_RGB24TOYROW_MSA) || \ #if (defined(HAS_RGB24TOYROW_NEON) || defined(HAS_RGB24TOYROW_MSA) || \
defined(HAS_RGB24TOYROW_MMI) || defined(HAS_RGB24TOYROW_LSX)) defined(HAS_RGB24TOYROW_LSX))
#define HAS_RGB24TOYROW #define HAS_RGB24TOYROW
#endif #endif
@ -1896,18 +1810,6 @@ int RGB24ToI420(const uint8_t* src_rgb24,
} }
} }
#endif #endif
#if defined(HAS_RGB24TOYROW_MMI) && defined(HAS_RGB24TOUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
RGB24ToUVRow = RGB24ToUVRow_Any_MMI;
RGB24ToYRow = RGB24ToYRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
RGB24ToYRow = RGB24ToYRow_MMI;
if (IS_ALIGNED(width, 16)) {
RGB24ToUVRow = RGB24ToUVRow_MMI;
}
}
}
#endif
#if defined(HAS_RGB24TOYROW_MSA) && defined(HAS_RGB24TOUVROW_MSA) #if defined(HAS_RGB24TOYROW_MSA) && defined(HAS_RGB24TOUVROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
RGB24ToUVRow = RGB24ToUVRow_Any_MSA; RGB24ToUVRow = RGB24ToUVRow_Any_MSA;
@ -2017,8 +1919,7 @@ int RGB24ToI420(const uint8_t* src_rgb24,
#undef HAS_RGB24TOYROW #undef HAS_RGB24TOYROW
// Enabled if 1 pass is available // Enabled if 1 pass is available
#if (defined(HAS_RGB24TOYJROW_NEON) || defined(HAS_RGB24TOYJROW_MSA) || \ #if defined(HAS_RGB24TOYJROW_NEON) || defined(HAS_RGB24TOYJROW_MSA)
defined(HAS_RGB24TOYJROW_MMI))
#define HAS_RGB24TOYJROW #define HAS_RGB24TOYJROW
#endif #endif
@ -2075,18 +1976,6 @@ int RGB24ToJ420(const uint8_t* src_rgb24,
} }
} }
#endif #endif
#if defined(HAS_RGB24TOYJROW_MMI) && defined(HAS_RGB24TOUVJROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
RGB24ToUVJRow = RGB24ToUVJRow_Any_MMI;
RGB24ToYJRow = RGB24ToYJRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
RGB24ToYJRow = RGB24ToYJRow_MMI;
if (IS_ALIGNED(width, 16)) {
RGB24ToUVJRow = RGB24ToUVJRow_MMI;
}
}
}
#endif
#if defined(HAS_RGB24TOYJROW_MSA) && defined(HAS_RGB24TOUVJROW_MSA) #if defined(HAS_RGB24TOYJROW_MSA) && defined(HAS_RGB24TOUVJROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
RGB24ToUVJRow = RGB24ToUVJRow_Any_MSA; RGB24ToUVJRow = RGB24ToUVJRow_Any_MSA;
@ -2187,7 +2076,7 @@ int RGB24ToJ420(const uint8_t* src_rgb24,
// Enabled if 1 pass is available // Enabled if 1 pass is available
#if (defined(HAS_RAWTOYROW_NEON) || defined(HAS_RAWTOYROW_MSA) || \ #if (defined(HAS_RAWTOYROW_NEON) || defined(HAS_RAWTOYROW_MSA) || \
defined(HAS_RAWTOYROW_MMI) || defined(HAS_RAWTOYROW_LSX)) defined(HAS_RAWTOYROW_LSX))
#define HAS_RAWTOYROW #define HAS_RAWTOYROW
#endif #endif
@ -2243,18 +2132,6 @@ int RAWToI420(const uint8_t* src_raw,
} }
} }
#endif #endif
#if defined(HAS_RAWTOYROW_MMI) && defined(HAS_RAWTOUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
RAWToUVRow = RAWToUVRow_Any_MMI;
RAWToYRow = RAWToYRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
RAWToYRow = RAWToYRow_MMI;
if (IS_ALIGNED(width, 16)) {
RAWToUVRow = RAWToUVRow_MMI;
}
}
}
#endif
#if defined(HAS_RAWTOYROW_MSA) && defined(HAS_RAWTOUVROW_MSA) #if defined(HAS_RAWTOYROW_MSA) && defined(HAS_RAWTOUVROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
RAWToUVRow = RAWToUVRow_Any_MSA; RAWToUVRow = RAWToUVRow_Any_MSA;
@ -2364,8 +2241,7 @@ int RAWToI420(const uint8_t* src_raw,
#undef HAS_RAWTOYROW #undef HAS_RAWTOYROW
// Enabled if 1 pass is available // Enabled if 1 pass is available
#if (defined(HAS_RAWTOYJROW_NEON) || defined(HAS_RAWTOYJROW_MSA) || \ #if defined(HAS_RAWTOYJROW_NEON) || defined(HAS_RAWTOYJROW_MSA)
defined(HAS_RAWTOYJROW_MMI))
#define HAS_RAWTOYJROW #define HAS_RAWTOYJROW
#endif #endif
@ -2422,18 +2298,6 @@ int RAWToJ420(const uint8_t* src_raw,
} }
} }
#endif #endif
#if defined(HAS_RAWTOYJROW_MMI) && defined(HAS_RAWTOUVJROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
RAWToUVJRow = RAWToUVJRow_Any_MMI;
RAWToYJRow = RAWToYJRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
RAWToYJRow = RAWToYJRow_MMI;
if (IS_ALIGNED(width, 16)) {
RAWToUVJRow = RAWToUVJRow_MMI;
}
}
}
#endif
#if defined(HAS_RAWTOYJROW_MSA) && defined(HAS_RAWTOUVJROW_MSA) #if defined(HAS_RAWTOYJROW_MSA) && defined(HAS_RAWTOUVJROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
RAWToUVJRow = RAWToUVJRow_Any_MSA; RAWToUVJRow = RAWToUVJRow_Any_MSA;
@ -2546,7 +2410,7 @@ int RGB565ToI420(const uint8_t* src_rgb565,
int height) { int height) {
int y; int y;
#if (defined(HAS_RGB565TOYROW_NEON) || defined(HAS_RGB565TOYROW_MSA) || \ #if (defined(HAS_RGB565TOYROW_NEON) || defined(HAS_RGB565TOYROW_MSA) || \
defined(HAS_RGB565TOYROW_MMI) || defined(HAS_RGB565TOYROW_LSX)) defined(HAS_RGB565TOYROW_LSX))
void (*RGB565ToUVRow)(const uint8_t* src_rgb565, int src_stride_rgb565, void (*RGB565ToUVRow)(const uint8_t* src_rgb565, int src_stride_rgb565,
uint8_t* dst_u, uint8_t* dst_v, int width) = uint8_t* dst_u, uint8_t* dst_v, int width) =
RGB565ToUVRow_C; RGB565ToUVRow_C;
@ -2583,21 +2447,9 @@ int RGB565ToI420(const uint8_t* src_rgb565,
} }
} }
} }
// MMI and MSA version does direct RGB565 to YUV. // MSA version does direct RGB565 to YUV.
#elif (defined(HAS_RGB565TOYROW_MMI) || defined(HAS_RGB565TOYROW_MSA) \ #elif (defined(HAS_RGB565TOYROW_MSA) \
|| defined(HAS_RGB565TOYROW_LSX)) || defined(HAS_RGB565TOYROW_LSX))
#if defined(HAS_RGB565TOYROW_MMI) && defined(HAS_RGB565TOUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
RGB565ToUVRow = RGB565ToUVRow_Any_MMI;
RGB565ToYRow = RGB565ToYRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
RGB565ToYRow = RGB565ToYRow_MMI;
if (IS_ALIGNED(width, 16)) {
RGB565ToUVRow = RGB565ToUVRow_MMI;
}
}
}
#endif
#if defined(HAS_RGB565TOYROW_MSA) && defined(HAS_RGB565TOUVROW_MSA) #if defined(HAS_RGB565TOYROW_MSA) && defined(HAS_RGB565TOUVROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
RGB565ToUVRow = RGB565ToUVRow_Any_MSA; RGB565ToUVRow = RGB565ToUVRow_Any_MSA;
@ -2671,14 +2523,14 @@ int RGB565ToI420(const uint8_t* src_rgb565,
#endif #endif
{ {
#if !(defined(HAS_RGB565TOYROW_NEON) || defined(HAS_RGB565TOYROW_MSA) || \ #if !(defined(HAS_RGB565TOYROW_NEON) || defined(HAS_RGB565TOYROW_MSA) || \
defined(HAS_RGB565TOYROW_MMI) || defined(HAS_RGB565TOYROW_LSX)) defined(HAS_RGB565TOYROW_LSX))
// Allocate 2 rows of ARGB. // Allocate 2 rows of ARGB.
const int kRowSize = (width * 4 + 31) & ~31; const int kRowSize = (width * 4 + 31) & ~31;
align_buffer_64(row, kRowSize * 2); align_buffer_64(row, kRowSize * 2);
#endif #endif
for (y = 0; y < height - 1; y += 2) { for (y = 0; y < height - 1; y += 2) {
#if (defined(HAS_RGB565TOYROW_NEON) || defined(HAS_RGB565TOYROW_MSA) || \ #if (defined(HAS_RGB565TOYROW_NEON) || defined(HAS_RGB565TOYROW_MSA) || \
defined(HAS_RGB565TOYROW_MMI) || defined(HAS_RGB565TOYROW_LSX)) defined(HAS_RGB565TOYROW_LSX))
RGB565ToUVRow(src_rgb565, src_stride_rgb565, dst_u, dst_v, width); RGB565ToUVRow(src_rgb565, src_stride_rgb565, dst_u, dst_v, width);
RGB565ToYRow(src_rgb565, dst_y, width); RGB565ToYRow(src_rgb565, dst_y, width);
RGB565ToYRow(src_rgb565 + src_stride_rgb565, dst_y + dst_stride_y, width); RGB565ToYRow(src_rgb565 + src_stride_rgb565, dst_y + dst_stride_y, width);
@ -2696,7 +2548,7 @@ int RGB565ToI420(const uint8_t* src_rgb565,
} }
if (height & 1) { if (height & 1) {
#if (defined(HAS_RGB565TOYROW_NEON) || defined(HAS_RGB565TOYROW_MSA) || \ #if (defined(HAS_RGB565TOYROW_NEON) || defined(HAS_RGB565TOYROW_MSA) || \
defined(HAS_RGB565TOYROW_MMI) || defined(HAS_RGB565TOYROW_LSX)) defined(HAS_RGB565TOYROW_LSX))
RGB565ToUVRow(src_rgb565, 0, dst_u, dst_v, width); RGB565ToUVRow(src_rgb565, 0, dst_u, dst_v, width);
RGB565ToYRow(src_rgb565, dst_y, width); RGB565ToYRow(src_rgb565, dst_y, width);
#else #else
@ -2706,7 +2558,7 @@ int RGB565ToI420(const uint8_t* src_rgb565,
#endif #endif
} }
#if !(defined(HAS_RGB565TOYROW_NEON) || defined(HAS_RGB565TOYROW_MSA) || \ #if !(defined(HAS_RGB565TOYROW_NEON) || defined(HAS_RGB565TOYROW_MSA) || \
defined(HAS_RGB565TOYROW_MMI) || defined(HAS_RGB565TOYROW_LSX)) defined(HAS_RGB565TOYROW_LSX))
free_aligned_buffer_64(row); free_aligned_buffer_64(row);
#endif #endif
} }
@ -2727,7 +2579,7 @@ int ARGB1555ToI420(const uint8_t* src_argb1555,
int height) { int height) {
int y; int y;
#if (defined(HAS_ARGB1555TOYROW_NEON) || defined(HAS_ARGB1555TOYROW_MSA) || \ #if (defined(HAS_ARGB1555TOYROW_NEON) || defined(HAS_ARGB1555TOYROW_MSA) || \
defined(HAS_ARGB1555TOYROW_MMI) || defined(HAS_ARGB1555TOYROW_LSX)) defined(HAS_ARGB1555TOYROW_LSX))
void (*ARGB1555ToUVRow)(const uint8_t* src_argb1555, int src_stride_argb1555, void (*ARGB1555ToUVRow)(const uint8_t* src_argb1555, int src_stride_argb1555,
uint8_t* dst_u, uint8_t* dst_v, int width) = uint8_t* dst_u, uint8_t* dst_v, int width) =
ARGB1555ToUVRow_C; ARGB1555ToUVRow_C;
@ -2765,20 +2617,8 @@ int ARGB1555ToI420(const uint8_t* src_argb1555,
} }
} }
} }
// MMI and MSA version does direct ARGB1555 to YUV. // MSA version does direct ARGB1555 to YUV.
#elif (defined(HAS_ARGB1555TOYROW_MMI) || defined(HAS_ARGB1555TOYROW_MSA)) #elif (defined(HAS_ARGB1555TOYROW_MSA))
#if defined(HAS_ARGB1555TOYROW_MMI) && defined(HAS_ARGB1555TOUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGB1555ToUVRow = ARGB1555ToUVRow_Any_MMI;
ARGB1555ToYRow = ARGB1555ToYRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
ARGB1555ToYRow = ARGB1555ToYRow_MMI;
if (IS_ALIGNED(width, 16)) {
ARGB1555ToUVRow = ARGB1555ToUVRow_MMI;
}
}
}
#endif
#if defined(HAS_ARGB1555TOYROW_MSA) && defined(HAS_ARGB1555TOUVROW_MSA) #if defined(HAS_ARGB1555TOYROW_MSA) && defined(HAS_ARGB1555TOUVROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGB1555ToUVRow = ARGB1555ToUVRow_Any_MSA; ARGB1555ToUVRow = ARGB1555ToUVRow_Any_MSA;
@ -2851,7 +2691,7 @@ int ARGB1555ToI420(const uint8_t* src_argb1555,
#endif #endif
{ {
#if !(defined(HAS_ARGB1555TOYROW_NEON) || defined(HAS_ARGB1555TOYROW_MSA) || \ #if !(defined(HAS_ARGB1555TOYROW_NEON) || defined(HAS_ARGB1555TOYROW_MSA) || \
defined(HAS_ARGB1555TOYROW_MMI) || defined(HAS_ARGB1555TOYROW_LSX)) defined(HAS_ARGB1555TOYROW_LSX))
// Allocate 2 rows of ARGB. // Allocate 2 rows of ARGB.
const int kRowSize = (width * 4 + 31) & ~31; const int kRowSize = (width * 4 + 31) & ~31;
align_buffer_64(row, kRowSize * 2); align_buffer_64(row, kRowSize * 2);
@ -2859,7 +2699,7 @@ int ARGB1555ToI420(const uint8_t* src_argb1555,
for (y = 0; y < height - 1; y += 2) { for (y = 0; y < height - 1; y += 2) {
#if (defined(HAS_ARGB1555TOYROW_NEON) || defined(HAS_ARGB1555TOYROW_MSA) || \ #if (defined(HAS_ARGB1555TOYROW_NEON) || defined(HAS_ARGB1555TOYROW_MSA) || \
defined(HAS_ARGB1555TOYROW_MMI) || defined(HAS_ARGB1555TOYROW_LSX)) defined(HAS_ARGB1555TOYROW_LSX))
ARGB1555ToUVRow(src_argb1555, src_stride_argb1555, dst_u, dst_v, width); ARGB1555ToUVRow(src_argb1555, src_stride_argb1555, dst_u, dst_v, width);
ARGB1555ToYRow(src_argb1555, dst_y, width); ARGB1555ToYRow(src_argb1555, dst_y, width);
ARGB1555ToYRow(src_argb1555 + src_stride_argb1555, dst_y + dst_stride_y, ARGB1555ToYRow(src_argb1555 + src_stride_argb1555, dst_y + dst_stride_y,
@ -2879,7 +2719,7 @@ int ARGB1555ToI420(const uint8_t* src_argb1555,
} }
if (height & 1) { if (height & 1) {
#if (defined(HAS_ARGB1555TOYROW_NEON) || defined(HAS_ARGB1555TOYROW_MSA) || \ #if (defined(HAS_ARGB1555TOYROW_NEON) || defined(HAS_ARGB1555TOYROW_MSA) || \
defined(HAS_ARGB1555TOYROW_MMI) || defined(HAS_ARGB1555TOYROW_LSX)) defined(HAS_ARGB1555TOYROW_LSX))
ARGB1555ToUVRow(src_argb1555, 0, dst_u, dst_v, width); ARGB1555ToUVRow(src_argb1555, 0, dst_u, dst_v, width);
ARGB1555ToYRow(src_argb1555, dst_y, width); ARGB1555ToYRow(src_argb1555, dst_y, width);
#else #else
@ -2889,7 +2729,7 @@ int ARGB1555ToI420(const uint8_t* src_argb1555,
#endif #endif
} }
#if !(defined(HAS_ARGB1555TOYROW_NEON) || defined(HAS_ARGB1555TOYROW_MSA) || \ #if !(defined(HAS_ARGB1555TOYROW_NEON) || defined(HAS_ARGB1555TOYROW_MSA) || \
defined(HAS_ARGB1555TOYROW_MMI) || defined(HAS_ARGB1555TOYROW_LSX)) defined(HAS_ARGB1555TOYROW_LSX))
free_aligned_buffer_64(row); free_aligned_buffer_64(row);
#endif #endif
} }
@ -2909,7 +2749,7 @@ int ARGB4444ToI420(const uint8_t* src_argb4444,
int width, int width,
int height) { int height) {
int y; int y;
#if (defined(HAS_ARGB4444TOYROW_NEON) || defined(HAS_ARGB4444TOYROW_MMI)) #if defined(HAS_ARGB4444TOYROW_NEON)
void (*ARGB4444ToUVRow)(const uint8_t* src_argb4444, int src_stride_argb4444, void (*ARGB4444ToUVRow)(const uint8_t* src_argb4444, int src_stride_argb4444,
uint8_t* dst_u, uint8_t* dst_v, int width) = uint8_t* dst_u, uint8_t* dst_v, int width) =
ARGB4444ToUVRow_C; ARGB4444ToUVRow_C;
@ -2947,17 +2787,6 @@ int ARGB4444ToI420(const uint8_t* src_argb4444,
} }
} }
} }
#elif defined(HAS_ARGB4444TOYROW_MMI) && defined(HAS_ARGB4444TOUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGB4444ToUVRow = ARGB4444ToUVRow_Any_MMI;
ARGB4444ToYRow = ARGB4444ToYRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
ARGB4444ToYRow = ARGB4444ToYRow_MMI;
if (IS_ALIGNED(width, 16)) {
ARGB4444ToUVRow = ARGB4444ToUVRow_MMI;
}
}
}
// Other platforms do intermediate conversion from ARGB4444 to ARGB. // Other platforms do intermediate conversion from ARGB4444 to ARGB.
#else #else
#if defined(HAS_ARGB4444TOARGBROW_SSE2) #if defined(HAS_ARGB4444TOARGBROW_SSE2)
@ -3024,18 +2853,6 @@ int ARGB4444ToI420(const uint8_t* src_argb4444,
} }
} }
#endif #endif
#if defined(HAS_ARGBTOYROW_MMI) && defined(HAS_ARGBTOUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBToUVRow = ARGBToUVRow_Any_MMI;
ARGBToYRow = ARGBToYRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
ARGBToYRow = ARGBToYRow_MMI;
if (IS_ALIGNED(width, 16)) {
ARGBToUVRow = ARGBToUVRow_MMI;
}
}
}
#endif
#if defined(HAS_ARGBTOYROW_MSA) && defined(HAS_ARGBTOUVROW_MSA) #if defined(HAS_ARGBTOYROW_MSA) && defined(HAS_ARGBTOUVROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBToUVRow = ARGBToUVRow_Any_MSA; ARGBToUVRow = ARGBToUVRow_Any_MSA;
@ -3061,14 +2878,14 @@ int ARGB4444ToI420(const uint8_t* src_argb4444,
#endif #endif
{ {
#if !(defined(HAS_ARGB4444TOYROW_NEON) || defined(HAS_ARGB4444TOYROW_MMI)) #if !(defined(HAS_ARGB4444TOYROW_NEON))
// Allocate 2 rows of ARGB. // Allocate 2 rows of ARGB.
const int kRowSize = (width * 4 + 31) & ~31; const int kRowSize = (width * 4 + 31) & ~31;
align_buffer_64(row, kRowSize * 2); align_buffer_64(row, kRowSize * 2);
#endif #endif
for (y = 0; y < height - 1; y += 2) { for (y = 0; y < height - 1; y += 2) {
#if (defined(HAS_ARGB4444TOYROW_NEON) || defined(HAS_ARGB4444TOYROW_MMI)) #if defined(HAS_ARGB4444TOYROW_NEON)
ARGB4444ToUVRow(src_argb4444, src_stride_argb4444, dst_u, dst_v, width); ARGB4444ToUVRow(src_argb4444, src_stride_argb4444, dst_u, dst_v, width);
ARGB4444ToYRow(src_argb4444, dst_y, width); ARGB4444ToYRow(src_argb4444, dst_y, width);
ARGB4444ToYRow(src_argb4444 + src_stride_argb4444, dst_y + dst_stride_y, ARGB4444ToYRow(src_argb4444 + src_stride_argb4444, dst_y + dst_stride_y,
@ -3087,7 +2904,7 @@ int ARGB4444ToI420(const uint8_t* src_argb4444,
dst_v += dst_stride_v; dst_v += dst_stride_v;
} }
if (height & 1) { if (height & 1) {
#if (defined(HAS_ARGB4444TOYROW_NEON) || defined(HAS_ARGB4444TOYROW_MMI)) #if defined(HAS_ARGB4444TOYROW_NEON)
ARGB4444ToUVRow(src_argb4444, 0, dst_u, dst_v, width); ARGB4444ToUVRow(src_argb4444, 0, dst_u, dst_v, width);
ARGB4444ToYRow(src_argb4444, dst_y, width); ARGB4444ToYRow(src_argb4444, dst_y, width);
#else #else
@ -3096,7 +2913,7 @@ int ARGB4444ToI420(const uint8_t* src_argb4444,
ARGBToYRow(row, dst_y, width); ARGBToYRow(row, dst_y, width);
#endif #endif
} }
#if !(defined(HAS_ARGB4444TOYROW_NEON) || defined(HAS_ARGB4444TOYROW_MMI)) #if !(defined(HAS_ARGB4444TOYROW_NEON))
free_aligned_buffer_64(row); free_aligned_buffer_64(row);
#endif #endif
} }
@ -3152,14 +2969,6 @@ int RGB24ToJ400(const uint8_t* src_rgb24,
} }
} }
#endif #endif
#if defined(HAS_RGB24TOYJROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
RGB24ToYJRow = RGB24ToYJRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
RGB24ToYJRow = RGB24ToYJRow_MMI;
}
}
#endif
#if defined(HAS_RGB24TOYJROW_MSA) #if defined(HAS_RGB24TOYJROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
RGB24ToYJRow = RGB24ToYJRow_Any_MSA; RGB24ToYJRow = RGB24ToYJRow_Any_MSA;
@ -3226,14 +3035,6 @@ int RAWToJ400(const uint8_t* src_raw,
} }
} }
#endif #endif
#if defined(HAS_RAWTOYJROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
RAWToYJRow = RAWToYJRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
RAWToYJRow = RAWToYJRow_MMI;
}
}
#endif
#if defined(HAS_RAWTOYJROW_MSA) #if defined(HAS_RAWTOYJROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
RAWToYJRow = RAWToYJRow_Any_MSA; RAWToYJRow = RAWToYJRow_Any_MSA;

View File

@ -105,14 +105,6 @@ int I420ToARGBMatrix(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_I422TOARGBROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
I422ToARGBRow = I422ToARGBRow_Any_MMI;
if (IS_ALIGNED(width, 4)) {
I422ToARGBRow = I422ToARGBRow_MMI;
}
}
#endif
#if defined(HAS_I422TOARGBROW_MSA) #if defined(HAS_I422TOARGBROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
I422ToARGBRow = I422ToARGBRow_Any_MSA; I422ToARGBRow = I422ToARGBRow_Any_MSA;
@ -352,14 +344,6 @@ int I422ToARGBMatrix(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_I422TOARGBROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
I422ToARGBRow = I422ToARGBRow_Any_MMI;
if (IS_ALIGNED(width, 4)) {
I422ToARGBRow = I422ToARGBRow_MMI;
}
}
#endif
#if defined(HAS_I422TOARGBROW_MSA) #if defined(HAS_I422TOARGBROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
I422ToARGBRow = I422ToARGBRow_Any_MSA; I422ToARGBRow = I422ToARGBRow_Any_MSA;
@ -589,14 +573,6 @@ int I444ToARGBMatrix(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_I444TOARGBROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
I444ToARGBRow = I444ToARGBRow_Any_MMI;
if (IS_ALIGNED(width, 4)) {
I444ToARGBRow = I444ToARGBRow_MMI;
}
}
#endif
#if defined(HAS_I444TOARGBROW_MSA) #if defined(HAS_I444TOARGBROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
I444ToARGBRow = I444ToARGBRow_Any_MSA; I444ToARGBRow = I444ToARGBRow_Any_MSA;
@ -1877,14 +1853,6 @@ int I420AlphaToARGBMatrix(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_I422ALPHATOARGBROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
I422AlphaToARGBRow = I422AlphaToARGBRow_Any_MMI;
if (IS_ALIGNED(width, 4)) {
I422AlphaToARGBRow = I422AlphaToARGBRow_MMI;
}
}
#endif
#if defined(HAS_I422ALPHATOARGBROW_MSA) #if defined(HAS_I422ALPHATOARGBROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
I422AlphaToARGBRow = I422AlphaToARGBRow_Any_MSA; I422AlphaToARGBRow = I422AlphaToARGBRow_Any_MSA;
@ -1925,14 +1893,6 @@ int I420AlphaToARGBMatrix(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_ARGBATTENUATEROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBAttenuateRow = ARGBAttenuateRow_Any_MMI;
if (IS_ALIGNED(width, 2)) {
ARGBAttenuateRow = ARGBAttenuateRow_MMI;
}
}
#endif
#if defined(HAS_ARGBATTENUATEROW_MSA) #if defined(HAS_ARGBATTENUATEROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBAttenuateRow = ARGBAttenuateRow_Any_MSA; ARGBAttenuateRow = ARGBAttenuateRow_Any_MSA;
@ -2016,14 +1976,6 @@ int I422AlphaToARGBMatrix(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_I422ALPHATOARGBROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
I422AlphaToARGBRow = I422AlphaToARGBRow_Any_MMI;
if (IS_ALIGNED(width, 4)) {
I422AlphaToARGBRow = I422AlphaToARGBRow_MMI;
}
}
#endif
#if defined(HAS_I422ALPHATOARGBROW_MSA) #if defined(HAS_I422ALPHATOARGBROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
I422AlphaToARGBRow = I422AlphaToARGBRow_Any_MSA; I422AlphaToARGBRow = I422AlphaToARGBRow_Any_MSA;
@ -2064,14 +2016,6 @@ int I422AlphaToARGBMatrix(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_ARGBATTENUATEROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBAttenuateRow = ARGBAttenuateRow_Any_MMI;
if (IS_ALIGNED(width, 2)) {
ARGBAttenuateRow = ARGBAttenuateRow_MMI;
}
}
#endif
#if defined(HAS_ARGBATTENUATEROW_MSA) #if defined(HAS_ARGBATTENUATEROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBAttenuateRow = ARGBAttenuateRow_Any_MSA; ARGBAttenuateRow = ARGBAttenuateRow_Any_MSA;
@ -2153,14 +2097,6 @@ int I444AlphaToARGBMatrix(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_I444ALPHATOARGBROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
I444AlphaToARGBRow = I444AlphaToARGBRow_Any_MMI;
if (IS_ALIGNED(width, 4)) {
I444AlphaToARGBRow = I444AlphaToARGBRow_MMI;
}
}
#endif
#if defined(HAS_I444ALPHATOARGBROW_MSA) #if defined(HAS_I444ALPHATOARGBROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
I444AlphaToARGBRow = I444AlphaToARGBRow_Any_MSA; I444AlphaToARGBRow = I444AlphaToARGBRow_Any_MSA;
@ -2193,14 +2129,6 @@ int I444AlphaToARGBMatrix(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_ARGBATTENUATEROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBAttenuateRow = ARGBAttenuateRow_Any_MMI;
if (IS_ALIGNED(width, 2)) {
ARGBAttenuateRow = ARGBAttenuateRow_MMI;
}
}
#endif
#if defined(HAS_ARGBATTENUATEROW_MSA) #if defined(HAS_ARGBATTENUATEROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBAttenuateRow = ARGBAttenuateRow_Any_MSA; ARGBAttenuateRow = ARGBAttenuateRow_Any_MSA;
@ -2427,14 +2355,6 @@ int I010AlphaToARGBMatrix(const uint16_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_ARGBATTENUATEROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBAttenuateRow = ARGBAttenuateRow_Any_MMI;
if (IS_ALIGNED(width, 2)) {
ARGBAttenuateRow = ARGBAttenuateRow_MMI;
}
}
#endif
#if defined(HAS_ARGBATTENUATEROW_MSA) #if defined(HAS_ARGBATTENUATEROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBAttenuateRow = ARGBAttenuateRow_Any_MSA; ARGBAttenuateRow = ARGBAttenuateRow_Any_MSA;
@ -2534,14 +2454,6 @@ int I210AlphaToARGBMatrix(const uint16_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_ARGBATTENUATEROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBAttenuateRow = ARGBAttenuateRow_Any_MMI;
if (IS_ALIGNED(width, 2)) {
ARGBAttenuateRow = ARGBAttenuateRow_MMI;
}
}
#endif
#if defined(HAS_ARGBATTENUATEROW_MSA) #if defined(HAS_ARGBATTENUATEROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBAttenuateRow = ARGBAttenuateRow_Any_MSA; ARGBAttenuateRow = ARGBAttenuateRow_Any_MSA;
@ -2639,14 +2551,6 @@ int I410AlphaToARGBMatrix(const uint16_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_ARGBATTENUATEROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBAttenuateRow = ARGBAttenuateRow_Any_MMI;
if (IS_ALIGNED(width, 2)) {
ARGBAttenuateRow = ARGBAttenuateRow_MMI;
}
}
#endif
#if defined(HAS_ARGBATTENUATEROW_MSA) #if defined(HAS_ARGBATTENUATEROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBAttenuateRow = ARGBAttenuateRow_Any_MSA; ARGBAttenuateRow = ARGBAttenuateRow_Any_MSA;
@ -2723,14 +2627,6 @@ int I400ToARGBMatrix(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_I400TOARGBROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
I400ToARGBRow = I400ToARGBRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
I400ToARGBRow = I400ToARGBRow_MMI;
}
}
#endif
#if defined(HAS_I400TOARGBROW_MSA) #if defined(HAS_I400TOARGBROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
I400ToARGBRow = I400ToARGBRow_Any_MSA; I400ToARGBRow = I400ToARGBRow_Any_MSA;
@ -2818,14 +2714,6 @@ int J400ToARGB(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_J400TOARGBROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
J400ToARGBRow = J400ToARGBRow_Any_MMI;
if (IS_ALIGNED(width, 4)) {
J400ToARGBRow = J400ToARGBRow_MMI;
}
}
#endif
#if defined(HAS_J400TOARGBROW_MSA) #if defined(HAS_J400TOARGBROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
J400ToARGBRow = J400ToARGBRow_Any_MSA; J400ToARGBRow = J400ToARGBRow_Any_MSA;
@ -2980,14 +2868,6 @@ int RGB24ToARGB(const uint8_t* src_rgb24,
} }
} }
#endif #endif
#if defined(HAS_RGB24TOARGBROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
RGB24ToARGBRow = RGB24ToARGBRow_Any_MMI;
if (IS_ALIGNED(width, 4)) {
RGB24ToARGBRow = RGB24ToARGBRow_MMI;
}
}
#endif
#if defined(HAS_RGB24TOARGBROW_MSA) #if defined(HAS_RGB24TOARGBROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
RGB24ToARGBRow = RGB24ToARGBRow_Any_MSA; RGB24ToARGBRow = RGB24ToARGBRow_Any_MSA;
@ -3055,14 +2935,6 @@ int RAWToARGB(const uint8_t* src_raw,
} }
} }
#endif #endif
#if defined(HAS_RAWTOARGBROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
RAWToARGBRow = RAWToARGBRow_Any_MMI;
if (IS_ALIGNED(width, 4)) {
RAWToARGBRow = RAWToARGBRow_MMI;
}
}
#endif
#if defined(HAS_RAWTOARGBROW_MSA) #if defined(HAS_RAWTOARGBROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
RAWToARGBRow = RAWToARGBRow_Any_MSA; RAWToARGBRow = RAWToARGBRow_Any_MSA;
@ -3189,14 +3061,6 @@ int RGB565ToARGB(const uint8_t* src_rgb565,
} }
} }
#endif #endif
#if defined(HAS_RGB565TOARGBROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
RGB565ToARGBRow = RGB565ToARGBRow_Any_MMI;
if (IS_ALIGNED(width, 4)) {
RGB565ToARGBRow = RGB565ToARGBRow_MMI;
}
}
#endif
#if defined(HAS_RGB565TOARGBROW_MSA) #if defined(HAS_RGB565TOARGBROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
RGB565ToARGBRow = RGB565ToARGBRow_Any_MSA; RGB565ToARGBRow = RGB565ToARGBRow_Any_MSA;
@ -3272,14 +3136,6 @@ int ARGB1555ToARGB(const uint8_t* src_argb1555,
} }
} }
#endif #endif
#if defined(HAS_ARGB1555TOARGBROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGB1555ToARGBRow = ARGB1555ToARGBRow_Any_MMI;
if (IS_ALIGNED(width, 4)) {
ARGB1555ToARGBRow = ARGB1555ToARGBRow_MMI;
}
}
#endif
#if defined(HAS_ARGB1555TOARGBROW_MSA) #if defined(HAS_ARGB1555TOARGBROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGB1555ToARGBRow = ARGB1555ToARGBRow_Any_MSA; ARGB1555ToARGBRow = ARGB1555ToARGBRow_Any_MSA;
@ -3355,14 +3211,6 @@ int ARGB4444ToARGB(const uint8_t* src_argb4444,
} }
} }
#endif #endif
#if defined(HAS_ARGB4444TOARGBROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGB4444ToARGBRow = ARGB4444ToARGBRow_Any_MMI;
if (IS_ALIGNED(width, 4)) {
ARGB4444ToARGBRow = ARGB4444ToARGBRow_MMI;
}
}
#endif
#if defined(HAS_ARGB4444TOARGBROW_MSA) #if defined(HAS_ARGB4444TOARGBROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGB4444ToARGBRow = ARGB4444ToARGBRow_Any_MSA; ARGB4444ToARGBRow = ARGB4444ToARGBRow_Any_MSA;
@ -3650,14 +3498,6 @@ int NV12ToARGBMatrix(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_NV12TOARGBROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
NV12ToARGBRow = NV12ToARGBRow_Any_MMI;
if (IS_ALIGNED(width, 4)) {
NV12ToARGBRow = NV12ToARGBRow_MMI;
}
}
#endif
#if defined(HAS_NV12TOARGBROW_MSA) #if defined(HAS_NV12TOARGBROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
NV12ToARGBRow = NV12ToARGBRow_Any_MSA; NV12ToARGBRow = NV12ToARGBRow_Any_MSA;
@ -3734,14 +3574,6 @@ int NV21ToARGBMatrix(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_NV21TOARGBROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
NV21ToARGBRow = NV21ToARGBRow_Any_MMI;
if (IS_ALIGNED(width, 4)) {
NV21ToARGBRow = NV21ToARGBRow_MMI;
}
}
#endif
#if defined(HAS_NV21TOARGBROW_MSA) #if defined(HAS_NV21TOARGBROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
NV21ToARGBRow = NV21ToARGBRow_Any_MSA; NV21ToARGBRow = NV21ToARGBRow_Any_MSA;
@ -3877,14 +3709,6 @@ int NV12ToRGB24Matrix(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_NV12TORGB24ROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
NV12ToRGB24Row = NV12ToRGB24Row_Any_MMI;
if (IS_ALIGNED(width, 8)) {
NV12ToRGB24Row = NV12ToRGB24Row_MMI;
}
}
#endif
for (y = 0; y < height; ++y) { for (y = 0; y < height; ++y) {
NV12ToRGB24Row(src_y, src_uv, dst_rgb24, yuvconstants, width); NV12ToRGB24Row(src_y, src_uv, dst_rgb24, yuvconstants, width);
@ -3945,14 +3769,6 @@ int NV21ToRGB24Matrix(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_NV21TORGB24ROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
NV21ToRGB24Row = NV21ToRGB24Row_Any_MMI;
if (IS_ALIGNED(width, 8)) {
NV21ToRGB24Row = NV21ToRGB24Row_MMI;
}
}
#endif
for (y = 0; y < height; ++y) { for (y = 0; y < height; ++y) {
NV21ToRGB24Row(src_y, src_vu, dst_rgb24, yuvconstants, width); NV21ToRGB24Row(src_y, src_vu, dst_rgb24, yuvconstants, width);
@ -4130,14 +3946,6 @@ int YUY2ToARGB(const uint8_t* src_yuy2,
} }
} }
#endif #endif
#if defined(HAS_YUY2TOARGBROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
YUY2ToARGBRow = YUY2ToARGBRow_Any_MMI;
if (IS_ALIGNED(width, 4)) {
YUY2ToARGBRow = YUY2ToARGBRow_MMI;
}
}
#endif
#if defined(HAS_YUY2TOARGBROW_MSA) #if defined(HAS_YUY2TOARGBROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
YUY2ToARGBRow = YUY2ToARGBRow_Any_MSA; YUY2ToARGBRow = YUY2ToARGBRow_Any_MSA;
@ -4213,14 +4021,6 @@ int UYVYToARGB(const uint8_t* src_uyvy,
} }
} }
#endif #endif
#if defined(HAS_UYVYTOARGBROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
UYVYToARGBRow = UYVYToARGBRow_Any_MMI;
if (IS_ALIGNED(width, 4)) {
UYVYToARGBRow = UYVYToARGBRow_MMI;
}
}
#endif
#if defined(HAS_UYVYTOARGBROW_MSA) #if defined(HAS_UYVYTOARGBROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
UYVYToARGBRow = UYVYToARGBRow_Any_MSA; UYVYToARGBRow = UYVYToARGBRow_Any_MSA;
@ -4411,14 +4211,6 @@ int I422ToRGBAMatrix(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_I422TORGBAROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
I422ToRGBARow = I422ToRGBARow_Any_MMI;
if (IS_ALIGNED(width, 4)) {
I422ToRGBARow = I422ToRGBARow_MMI;
}
}
#endif
#if defined(HAS_I422TORGBAROW_MSA) #if defined(HAS_I422TORGBAROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
I422ToRGBARow = I422ToRGBARow_Any_MSA; I422ToRGBARow = I422ToRGBARow_Any_MSA;
@ -4530,14 +4322,6 @@ int NV12ToRGB565Matrix(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_NV12TORGB565ROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
NV12ToRGB565Row = NV12ToRGB565Row_Any_MMI;
if (IS_ALIGNED(width, 4)) {
NV12ToRGB565Row = NV12ToRGB565Row_MMI;
}
}
#endif
#if defined(HAS_NV12TORGB565ROW_MSA) #if defined(HAS_NV12TORGB565ROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
NV12ToRGB565Row = NV12ToRGB565Row_Any_MSA; NV12ToRGB565Row = NV12ToRGB565Row_Any_MSA;
@ -4632,14 +4416,6 @@ int I420ToRGBAMatrix(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_I422TORGBAROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
I422ToRGBARow = I422ToRGBARow_Any_MMI;
if (IS_ALIGNED(width, 4)) {
I422ToRGBARow = I422ToRGBARow_MMI;
}
}
#endif
#if defined(HAS_I422TORGBAROW_MSA) #if defined(HAS_I422TORGBAROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
I422ToRGBARow = I422ToRGBARow_Any_MSA; I422ToRGBARow = I422ToRGBARow_Any_MSA;
@ -4756,14 +4532,6 @@ int I420ToRGB24Matrix(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_I422TORGB24ROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
I422ToRGB24Row = I422ToRGB24Row_Any_MMI;
if (IS_ALIGNED(width, 4)) {
I422ToRGB24Row = I422ToRGB24Row_MMI;
}
}
#endif
#if defined(HAS_I422TORGB24ROW_MSA) #if defined(HAS_I422TORGB24ROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
I422ToRGB24Row = I422ToRGB24Row_Any_MSA; I422ToRGB24Row = I422ToRGB24Row_Any_MSA;
@ -4952,14 +4720,6 @@ int I420ToARGB1555(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_I422TOARGB1555ROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
I422ToARGB1555Row = I422ToARGB1555Row_Any_MMI;
if (IS_ALIGNED(width, 4)) {
I422ToARGB1555Row = I422ToARGB1555Row_MMI;
}
}
#endif
#if defined(HAS_I422TOARGB1555ROW_MSA) #if defined(HAS_I422TOARGB1555ROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
I422ToARGB1555Row = I422ToARGB1555Row_Any_MSA; I422ToARGB1555Row = I422ToARGB1555Row_Any_MSA;
@ -5041,14 +4801,6 @@ int I420ToARGB4444(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_I422TOARGB4444ROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
I422ToARGB4444Row = I422ToARGB4444Row_Any_MMI;
if (IS_ALIGNED(width, 4)) {
I422ToARGB4444Row = I422ToARGB4444Row_MMI;
}
}
#endif
#if defined(HAS_I422TOARGB4444ROW_MSA) #if defined(HAS_I422TOARGB4444ROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
I422ToARGB4444Row = I422ToARGB4444Row_Any_MSA; I422ToARGB4444Row = I422ToARGB4444Row_Any_MSA;
@ -5130,14 +4882,6 @@ int I420ToRGB565Matrix(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_I422TORGB565ROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
I422ToRGB565Row = I422ToRGB565Row_Any_MMI;
if (IS_ALIGNED(width, 4)) {
I422ToRGB565Row = I422ToRGB565Row_MMI;
}
}
#endif
#if defined(HAS_I422TORGB565ROW_MSA) #if defined(HAS_I422TORGB565ROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
I422ToRGB565Row = I422ToRGB565Row_Any_MSA; I422ToRGB565Row = I422ToRGB565Row_Any_MSA;
@ -5365,14 +5109,6 @@ int I420ToRGB565Dither(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_I422TOARGBROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
I422ToARGBRow = I422ToARGBRow_Any_MMI;
if (IS_ALIGNED(width, 4)) {
I422ToARGBRow = I422ToARGBRow_MMI;
}
}
#endif
#if defined(HAS_I422TOARGBROW_MSA) #if defined(HAS_I422TOARGBROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
I422ToARGBRow = I422ToARGBRow_Any_MSA; I422ToARGBRow = I422ToARGBRow_Any_MSA;
@ -5413,14 +5149,6 @@ int I420ToRGB565Dither(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_ARGBTORGB565DITHERROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBToRGB565DitherRow = ARGBToRGB565DitherRow_Any_MMI;
if (IS_ALIGNED(width, 4)) {
ARGBToRGB565DitherRow = ARGBToRGB565DitherRow_MMI;
}
}
#endif
#if defined(HAS_ARGBTORGB565DITHERROW_MSA) #if defined(HAS_ARGBTORGB565DITHERROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBToRGB565DitherRow = ARGBToRGB565DitherRow_Any_MSA; ARGBToRGB565DitherRow = ARGBToRGB565DitherRow_Any_MSA;

View File

@ -436,14 +436,6 @@ int I420ToYUY2(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_I422TOYUY2ROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
I422ToYUY2Row = I422ToYUY2Row_Any_MMI;
if (IS_ALIGNED(width, 8)) {
I422ToYUY2Row = I422ToYUY2Row_MMI;
}
}
#endif
#if defined(HAS_I422TOYUY2ROW_MSA) #if defined(HAS_I422TOYUY2ROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
I422ToYUY2Row = I422ToYUY2Row_Any_MSA; I422ToYUY2Row = I422ToYUY2Row_Any_MSA;
@ -531,14 +523,6 @@ int I422ToUYVY(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_I422TOUYVYROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
I422ToUYVYRow = I422ToUYVYRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
I422ToUYVYRow = I422ToUYVYRow_MMI;
}
}
#endif
#if defined(HAS_I422TOUYVYROW_MSA) #if defined(HAS_I422TOUYVYROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
I422ToUYVYRow = I422ToUYVYRow_Any_MSA; I422ToUYVYRow = I422ToUYVYRow_Any_MSA;
@ -614,14 +598,6 @@ int I420ToUYVY(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_I422TOUYVYROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
I422ToUYVYRow = I422ToUYVYRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
I422ToUYVYRow = I422ToUYVYRow_MMI;
}
}
#endif
#if defined(HAS_I422TOUYVYROW_MSA) #if defined(HAS_I422TOUYVYROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
I422ToUYVYRow = I422ToUYVYRow_Any_MSA; I422ToUYVYRow = I422ToUYVYRow_Any_MSA;

View File

@ -68,14 +68,6 @@ int ARGBToI444(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_ARGBTOUV444ROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBToUV444Row = ARGBToUV444Row_Any_MMI;
if (IS_ALIGNED(width, 8)) {
ARGBToUV444Row = ARGBToUV444Row_MMI;
}
}
#endif
#if defined(HAS_ARGBTOUV444ROW_MSA) #if defined(HAS_ARGBTOUV444ROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBToUV444Row = ARGBToUV444Row_Any_MSA; ARGBToUV444Row = ARGBToUV444Row_Any_MSA;
@ -116,14 +108,6 @@ int ARGBToI444(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_ARGBTOYROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBToYRow = ARGBToYRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
ARGBToYRow = ARGBToYRow_MMI;
}
}
#endif
#if defined(HAS_ARGBTOYROW_MSA) #if defined(HAS_ARGBTOYROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBToYRow = ARGBToYRow_Any_MSA; ARGBToYRow = ARGBToYRow_Any_MSA;
@ -234,20 +218,6 @@ int ARGBToI422(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_ARGBTOYROW_MMI) && defined(HAS_ARGBTOUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBToYRow = ARGBToYRow_Any_MMI;
ARGBToUVRow = ARGBToUVRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
ARGBToYRow = ARGBToYRow_MMI;
}
if (IS_ALIGNED(width, 16)) {
ARGBToUVRow = ARGBToUVRow_MMI;
}
}
#endif
#if defined(HAS_ARGBTOYROW_MSA) && defined(HAS_ARGBTOUVROW_MSA) #if defined(HAS_ARGBTOYROW_MSA) && defined(HAS_ARGBTOUVROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBToYRow = ARGBToYRow_Any_MSA; ARGBToYRow = ARGBToYRow_Any_MSA;
@ -358,18 +328,6 @@ int ARGBToNV12(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_ARGBTOYROW_MMI) && defined(HAS_ARGBTOUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBToYRow = ARGBToYRow_Any_MMI;
ARGBToUVRow = ARGBToUVRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
ARGBToYRow = ARGBToYRow_MMI;
}
if (IS_ALIGNED(width, 16)) {
ARGBToUVRow = ARGBToUVRow_MMI;
}
}
#endif
#if defined(HAS_ARGBTOYROW_MSA) && defined(HAS_ARGBTOUVROW_MSA) #if defined(HAS_ARGBTOYROW_MSA) && defined(HAS_ARGBTOUVROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBToYRow = ARGBToYRow_Any_MSA; ARGBToYRow = ARGBToYRow_Any_MSA;
@ -416,14 +374,6 @@ int ARGBToNV12(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_MERGEUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
MergeUVRow_ = MergeUVRow_Any_MMI;
if (IS_ALIGNED(halfwidth, 8)) {
MergeUVRow_ = MergeUVRow_MMI;
}
}
#endif
#if defined(HAS_MERGEUVROW_MSA) #if defined(HAS_MERGEUVROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
MergeUVRow_ = MergeUVRow_Any_MSA; MergeUVRow_ = MergeUVRow_Any_MSA;
@ -540,18 +490,6 @@ int ARGBToNV21(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_ARGBTOYROW_MMI) && defined(HAS_ARGBTOUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBToYRow = ARGBToYRow_Any_MMI;
ARGBToUVRow = ARGBToUVRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
ARGBToYRow = ARGBToYRow_MMI;
}
if (IS_ALIGNED(width, 16)) {
ARGBToUVRow = ARGBToUVRow_MMI;
}
}
#endif
#if defined(HAS_ARGBTOYROW_MSA) && defined(HAS_ARGBTOUVROW_MSA) #if defined(HAS_ARGBTOYROW_MSA) && defined(HAS_ARGBTOUVROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBToYRow = ARGBToYRow_Any_MSA; ARGBToYRow = ARGBToYRow_Any_MSA;
@ -598,14 +536,6 @@ int ARGBToNV21(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_MERGEUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
MergeUVRow_ = MergeUVRow_Any_MMI;
if (IS_ALIGNED(halfwidth, 8)) {
MergeUVRow_ = MergeUVRow_MMI;
}
}
#endif
#if defined(HAS_MERGEUVROW_MSA) #if defined(HAS_MERGEUVROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
MergeUVRow_ = MergeUVRow_Any_MSA; MergeUVRow_ = MergeUVRow_Any_MSA;
@ -721,18 +651,6 @@ int ABGRToNV12(const uint8_t* src_abgr,
} }
} }
#endif #endif
#if defined(HAS_ABGRTOYROW_MMI) && defined(HAS_ABGRTOUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ABGRToYRow = ABGRToYRow_Any_MMI;
ABGRToUVRow = ABGRToUVRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
ABGRToYRow = ABGRToYRow_MMI;
}
if (IS_ALIGNED(width, 16)) {
ABGRToUVRow = ABGRToUVRow_MMI;
}
}
#endif
#if defined(HAS_ABGRTOYROW_MSA) && defined(HAS_ABGRTOUVROW_MSA) #if defined(HAS_ABGRTOYROW_MSA) && defined(HAS_ABGRTOUVROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ABGRToYRow = ABGRToYRow_Any_MSA; ABGRToYRow = ABGRToYRow_Any_MSA;
@ -769,14 +687,6 @@ int ABGRToNV12(const uint8_t* src_abgr,
} }
} }
#endif #endif
#if defined(HAS_MERGEUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
MergeUVRow_ = MergeUVRow_Any_MMI;
if (IS_ALIGNED(halfwidth, 8)) {
MergeUVRow_ = MergeUVRow_MMI;
}
}
#endif
#if defined(HAS_MERGEUVROW_MSA) #if defined(HAS_MERGEUVROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
MergeUVRow_ = MergeUVRow_Any_MSA; MergeUVRow_ = MergeUVRow_Any_MSA;
@ -893,18 +803,6 @@ int ABGRToNV21(const uint8_t* src_abgr,
} }
} }
#endif #endif
#if defined(HAS_ABGRTOYROW_MMI) && defined(HAS_ABGRTOUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ABGRToYRow = ABGRToYRow_Any_MMI;
ABGRToUVRow = ABGRToUVRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
ABGRToYRow = ABGRToYRow_MMI;
}
if (IS_ALIGNED(width, 16)) {
ABGRToUVRow = ABGRToUVRow_MMI;
}
}
#endif
#if defined(HAS_ABGRTOYROW_MSA) && defined(HAS_ABGRTOUVROW_MSA) #if defined(HAS_ABGRTOYROW_MSA) && defined(HAS_ABGRTOUVROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ABGRToYRow = ABGRToYRow_Any_MSA; ABGRToYRow = ABGRToYRow_Any_MSA;
@ -941,14 +839,6 @@ int ABGRToNV21(const uint8_t* src_abgr,
} }
} }
#endif #endif
#if defined(HAS_MERGEUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
MergeUVRow_ = MergeUVRow_Any_MMI;
if (IS_ALIGNED(halfwidth, 8)) {
MergeUVRow_ = MergeUVRow_MMI;
}
}
#endif
#if defined(HAS_MERGEUVROW_MSA) #if defined(HAS_MERGEUVROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
MergeUVRow_ = MergeUVRow_Any_MSA; MergeUVRow_ = MergeUVRow_Any_MSA;
@ -1070,18 +960,6 @@ int ARGBToYUY2(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_ARGBTOYROW_MMI) && defined(HAS_ARGBTOUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBToYRow = ARGBToYRow_Any_MMI;
ARGBToUVRow = ARGBToUVRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
ARGBToYRow = ARGBToYRow_MMI;
}
if (IS_ALIGNED(width, 16)) {
ARGBToUVRow = ARGBToUVRow_MMI;
}
}
#endif
#if defined(HAS_ARGBTOYROW_MSA) && defined(HAS_ARGBTOUVROW_MSA) #if defined(HAS_ARGBTOYROW_MSA) && defined(HAS_ARGBTOUVROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBToYRow = ARGBToYRow_Any_MSA; ARGBToYRow = ARGBToYRow_Any_MSA;
@ -1128,14 +1006,6 @@ int ARGBToYUY2(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_I422TOYUY2ROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
I422ToYUY2Row = I422ToYUY2Row_Any_MMI;
if (IS_ALIGNED(width, 8)) {
I422ToYUY2Row = I422ToYUY2Row_MMI;
}
}
#endif
#if defined(HAS_I422TOYUY2ROW_MSA) #if defined(HAS_I422TOYUY2ROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
I422ToYUY2Row = I422ToYUY2Row_Any_MSA; I422ToYUY2Row = I422ToYUY2Row_Any_MSA;
@ -1253,18 +1123,6 @@ int ARGBToUYVY(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_ARGBTOYROW_MMI) && defined(HAS_ARGBTOUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBToYRow = ARGBToYRow_Any_MMI;
ARGBToUVRow = ARGBToUVRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
ARGBToYRow = ARGBToYRow_MMI;
}
if (IS_ALIGNED(width, 16)) {
ARGBToUVRow = ARGBToUVRow_MMI;
}
}
#endif
#if defined(HAS_ARGBTOYROW_MSA) && defined(HAS_ARGBTOUVROW_MSA) #if defined(HAS_ARGBTOYROW_MSA) && defined(HAS_ARGBTOUVROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBToYRow = ARGBToYRow_Any_MSA; ARGBToYRow = ARGBToYRow_Any_MSA;
@ -1311,14 +1169,6 @@ int ARGBToUYVY(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_I422TOUYVYROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
I422ToUYVYRow = I422ToUYVYRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
I422ToUYVYRow = I422ToUYVYRow_MMI;
}
}
#endif
#if defined(HAS_I422TOUYVYROW_MSA) #if defined(HAS_I422TOUYVYROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
I422ToUYVYRow = I422ToUYVYRow_Any_MSA; I422ToUYVYRow = I422ToUYVYRow_Any_MSA;
@ -1404,14 +1254,6 @@ int ARGBToI400(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_ARGBTOYROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBToYRow = ARGBToYRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
ARGBToYRow = ARGBToYRow_MMI;
}
}
#endif
#if defined(HAS_ARGBTOYROW_MSA) #if defined(HAS_ARGBTOYROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBToYRow = ARGBToYRow_Any_MSA; ARGBToYRow = ARGBToYRow_Any_MSA;
@ -1510,14 +1352,6 @@ int ARGBToRGB24(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_ARGBTORGB24ROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBToRGB24Row = ARGBToRGB24Row_Any_MMI;
if (IS_ALIGNED(width, 4)) {
ARGBToRGB24Row = ARGBToRGB24Row_MMI;
}
}
#endif
#if defined(HAS_ARGBTORGB24ROW_MSA) #if defined(HAS_ARGBTORGB24ROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBToRGB24Row = ARGBToRGB24Row_Any_MSA; ARGBToRGB24Row = ARGBToRGB24Row_Any_MSA;
@ -1592,14 +1426,6 @@ int ARGBToRAW(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_ARGBTORAWROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBToRAWRow = ARGBToRAWRow_Any_MMI;
if (IS_ALIGNED(width, 4)) {
ARGBToRAWRow = ARGBToRAWRow_MMI;
}
}
#endif
#if defined(HAS_ARGBTORAWROW_MSA) #if defined(HAS_ARGBTORAWROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBToRAWRow = ARGBToRAWRow_Any_MSA; ARGBToRAWRow = ARGBToRAWRow_Any_MSA;
@ -1678,14 +1504,6 @@ int ARGBToRGB565Dither(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_ARGBTORGB565DITHERROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBToRGB565DitherRow = ARGBToRGB565DitherRow_Any_MMI;
if (IS_ALIGNED(width, 4)) {
ARGBToRGB565DitherRow = ARGBToRGB565DitherRow_MMI;
}
}
#endif
#if defined(HAS_ARGBTORGB565DITHERROW_MSA) #if defined(HAS_ARGBTORGB565DITHERROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBToRGB565DitherRow = ARGBToRGB565DitherRow_Any_MSA; ARGBToRGB565DitherRow = ARGBToRGB565DitherRow_Any_MSA;
@ -1763,14 +1581,6 @@ int ARGBToRGB565(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_ARGBTORGB565ROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBToRGB565Row = ARGBToRGB565Row_Any_MMI;
if (IS_ALIGNED(width, 4)) {
ARGBToRGB565Row = ARGBToRGB565Row_MMI;
}
}
#endif
#if defined(HAS_ARGBTORGB565ROW_MSA) #if defined(HAS_ARGBTORGB565ROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBToRGB565Row = ARGBToRGB565Row_Any_MSA; ARGBToRGB565Row = ARGBToRGB565Row_Any_MSA;
@ -1845,14 +1655,6 @@ int ARGBToARGB1555(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_ARGBTOARGB1555ROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBToARGB1555Row = ARGBToARGB1555Row_Any_MMI;
if (IS_ALIGNED(width, 4)) {
ARGBToARGB1555Row = ARGBToARGB1555Row_MMI;
}
}
#endif
#if defined(HAS_ARGBTOARGB1555ROW_MSA) #if defined(HAS_ARGBTOARGB1555ROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBToARGB1555Row = ARGBToARGB1555Row_Any_MSA; ARGBToARGB1555Row = ARGBToARGB1555Row_Any_MSA;
@ -1927,14 +1729,6 @@ int ARGBToARGB4444(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_ARGBTOARGB4444ROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBToARGB4444Row = ARGBToARGB4444Row_Any_MMI;
if (IS_ALIGNED(width, 4)) {
ARGBToARGB4444Row = ARGBToARGB4444Row_MMI;
}
}
#endif
#if defined(HAS_ARGBTOARGB4444ROW_MSA) #if defined(HAS_ARGBTOARGB4444ROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBToARGB4444Row = ARGBToARGB4444Row_Any_MSA; ARGBToARGB4444Row = ARGBToARGB4444Row_Any_MSA;
@ -2125,18 +1919,6 @@ int ARGBToJ420(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_ARGBTOYJROW_MMI) && defined(HAS_ARGBTOUVJROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBToYJRow = ARGBToYJRow_Any_MMI;
ARGBToUVJRow = ARGBToUVJRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
ARGBToYJRow = ARGBToYJRow_MMI;
}
if (IS_ALIGNED(width, 16)) {
ARGBToUVJRow = ARGBToUVJRow_MMI;
}
}
#endif
#if defined(HAS_ARGBTOYJROW_MSA) && defined(HAS_ARGBTOUVJROW_MSA) #if defined(HAS_ARGBTOYJROW_MSA) && defined(HAS_ARGBTOUVJROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBToYJRow = ARGBToYJRow_Any_MSA; ARGBToYJRow = ARGBToYJRow_Any_MSA;
@ -2250,18 +2032,6 @@ int ARGBToJ422(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_ARGBTOYJROW_MMI) && defined(HAS_ARGBTOUVJROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBToYJRow = ARGBToYJRow_Any_MMI;
ARGBToUVJRow = ARGBToUVJRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
ARGBToYJRow = ARGBToYJRow_MMI;
}
if (IS_ALIGNED(width, 16)) {
ARGBToUVJRow = ARGBToUVJRow_MMI;
}
}
#endif
#if defined(HAS_ARGBTOYJROW_MSA) && defined(HAS_ARGBTOUVJROW_MSA) #if defined(HAS_ARGBTOYJROW_MSA) && defined(HAS_ARGBTOUVJROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBToYJRow = ARGBToYJRow_Any_MSA; ARGBToYJRow = ARGBToYJRow_Any_MSA;
@ -2463,14 +2233,6 @@ int ARGBToJ400(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_ARGBTOYJROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBToYJRow = ARGBToYJRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
ARGBToYJRow = ARGBToYJRow_MMI;
}
}
#endif
#if defined(HAS_ARGBTOYJROW_MSA) #if defined(HAS_ARGBTOYJROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBToYJRow = ARGBToYJRow_Any_MSA; ARGBToYJRow = ARGBToYJRow_Any_MSA;
@ -2537,14 +2299,6 @@ int RGBAToJ400(const uint8_t* src_rgba,
} }
} }
#endif #endif
#if defined(HAS_RGBATOYJROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
RGBAToYJRow = RGBAToYJRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
RGBAToYJRow = RGBAToYJRow_MMI;
}
}
#endif
#if defined(HAS_RGBATOYJROW_MSA) #if defined(HAS_RGBATOYJROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
RGBAToYJRow = RGBAToYJRow_Any_MSA; RGBAToYJRow = RGBAToYJRow_Any_MSA;

View File

@ -174,18 +174,12 @@ LIBYUV_API SAFEBUFFERS int MipsCpuCaps(const char* cpuinfo_name) {
} }
while (fgets(cpuinfo_line, sizeof(cpuinfo_line) - 1, f)) { while (fgets(cpuinfo_line, sizeof(cpuinfo_line) - 1, f)) {
if (memcmp(cpuinfo_line, "cpu model", 9) == 0) { if (memcmp(cpuinfo_line, "cpu model", 9) == 0) {
// Workaround early kernel without mmi in ASEs line. // Workaround early kernel without MSA in ASEs line.
if (strstr(cpuinfo_line, "Loongson-3")) { if (strstr(cpuinfo_line, "Loongson-2K")) {
flag |= kCpuHasMMI; flag |= kCpuHasMSA;
} else if (strstr(cpuinfo_line, "Loongson-2K")) {
flag |= kCpuHasMMI | kCpuHasMSA;
} }
} }
if (memcmp(cpuinfo_line, "ASEs implemented", 16) == 0) { if (memcmp(cpuinfo_line, "ASEs implemented", 16) == 0) {
if (strstr(cpuinfo_line, "loongson-mmi") &&
strstr(cpuinfo_line, "loongson-ext")) {
flag |= kCpuHasMMI;
}
if (strstr(cpuinfo_line, "msa")) { if (strstr(cpuinfo_line, "msa")) {
flag |= kCpuHasMSA; flag |= kCpuHasMSA;
} }

View File

@ -450,14 +450,6 @@ void SplitUVPlane(const uint8_t* src_uv,
} }
} }
#endif #endif
#if defined(HAS_SPLITUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
SplitUVRow = SplitUVRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
SplitUVRow = SplitUVRow_MMI;
}
}
#endif
#if defined(HAS_SPLITUVROW_MSA) #if defined(HAS_SPLITUVROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
SplitUVRow = SplitUVRow_Any_MSA; SplitUVRow = SplitUVRow_Any_MSA;
@ -533,14 +525,6 @@ void MergeUVPlane(const uint8_t* src_u,
} }
} }
#endif #endif
#if defined(HAS_MERGEUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
MergeUVRow = MergeUVRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
MergeUVRow = MergeUVRow_MMI;
}
}
#endif
#if defined(HAS_MERGEUVROW_MSA) #if defined(HAS_MERGEUVROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
MergeUVRow = MergeUVRow_Any_MSA; MergeUVRow = MergeUVRow_Any_MSA;
@ -910,14 +894,6 @@ void SplitRGBPlane(const uint8_t* src_rgb,
} }
} }
#endif #endif
#if defined(HAS_SPLITRGBROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
SplitRGBRow = SplitRGBRow_Any_MMI;
if (IS_ALIGNED(width, 4)) {
SplitRGBRow = SplitRGBRow_MMI;
}
}
#endif
#if defined(HAS_SPLITRGBROW_NEON) #if defined(HAS_SPLITRGBROW_NEON)
if (TestCpuFlag(kCpuHasNEON)) { if (TestCpuFlag(kCpuHasNEON)) {
SplitRGBRow = SplitRGBRow_Any_NEON; SplitRGBRow = SplitRGBRow_Any_NEON;
@ -982,14 +958,6 @@ void MergeRGBPlane(const uint8_t* src_r,
} }
} }
#endif #endif
#if defined(HAS_MERGERGBROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
MergeRGBRow = MergeRGBRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
MergeRGBRow = MergeRGBRow_MMI;
}
}
#endif
for (y = 0; y < height; ++y) { for (y = 0; y < height; ++y) {
// Merge a row of U and V into a row of RGB. // Merge a row of U and V into a row of RGB.
@ -1724,16 +1692,6 @@ int YUY2ToI422(const uint8_t* src_yuy2,
} }
} }
#endif #endif
#if defined(HAS_YUY2TOYROW_MMI) && defined(HAS_YUY2TOUV422ROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
YUY2ToYRow = YUY2ToYRow_Any_MMI;
YUY2ToUV422Row = YUY2ToUV422Row_Any_MMI;
if (IS_ALIGNED(width, 8)) {
YUY2ToYRow = YUY2ToYRow_MMI;
YUY2ToUV422Row = YUY2ToUV422Row_MMI;
}
}
#endif
#if defined(HAS_YUY2TOYROW_MSA) && defined(HAS_YUY2TOUV422ROW_MSA) #if defined(HAS_YUY2TOYROW_MSA) && defined(HAS_YUY2TOUV422ROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
YUY2ToYRow = YUY2ToYRow_Any_MSA; YUY2ToYRow = YUY2ToYRow_Any_MSA;
@ -1830,16 +1788,6 @@ int UYVYToI422(const uint8_t* src_uyvy,
} }
} }
#endif #endif
#if defined(HAS_UYVYTOYROW_MMI) && defined(HAS_UYVYTOUV422ROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
UYVYToYRow = UYVYToYRow_Any_MMI;
UYVYToUV422Row = UYVYToUV422Row_Any_MMI;
if (IS_ALIGNED(width, 16)) {
UYVYToYRow = UYVYToYRow_MMI;
UYVYToUV422Row = UYVYToUV422Row_MMI;
}
}
#endif
#if defined(HAS_UYVYTOYROW_MSA) && defined(HAS_UYVYTOUV422ROW_MSA) #if defined(HAS_UYVYTOYROW_MSA) && defined(HAS_UYVYTOUV422ROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
UYVYToYRow = UYVYToYRow_Any_MSA; UYVYToYRow = UYVYToYRow_Any_MSA;
@ -1922,14 +1870,6 @@ int YUY2ToY(const uint8_t* src_yuy2,
} }
} }
#endif #endif
#if defined(HAS_YUY2TOYROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
YUY2ToYRow = YUY2ToYRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
YUY2ToYRow = YUY2ToYRow_MMI;
}
}
#endif
#if defined(HAS_YUY2TOYROW_MSA) #if defined(HAS_YUY2TOYROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
YUY2ToYRow = YUY2ToYRow_Any_MSA; YUY2ToYRow = YUY2ToYRow_Any_MSA;
@ -1988,14 +1928,6 @@ void MirrorPlane(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_MIRRORROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
MirrorRow = MirrorRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
MirrorRow = MirrorRow_MMI;
}
}
#endif
#if defined(HAS_MIRRORROW_MSA) #if defined(HAS_MIRRORROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
MirrorRow = MirrorRow_Any_MSA; MirrorRow = MirrorRow_Any_MSA;
@ -2230,14 +2162,6 @@ int ARGBMirror(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_ARGBMIRRORROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBMirrorRow = ARGBMirrorRow_Any_MMI;
if (IS_ALIGNED(width, 2)) {
ARGBMirrorRow = ARGBMirrorRow_MMI;
}
}
#endif
#if defined(HAS_ARGBMIRRORROW_MSA) #if defined(HAS_ARGBMIRRORROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBMirrorRow = ARGBMirrorRow_Any_MSA; ARGBMirrorRow = ARGBMirrorRow_Any_MSA;
@ -2328,11 +2252,6 @@ ARGBBlendRow GetARGBBlend() {
ARGBBlendRow = ARGBBlendRow_NEON; ARGBBlendRow = ARGBBlendRow_NEON;
} }
#endif #endif
#if defined(HAS_ARGBBLENDROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBBlendRow = ARGBBlendRow_MMI;
}
#endif
#if defined(HAS_ARGBBLENDROW_MSA) #if defined(HAS_ARGBBLENDROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBBlendRow = ARGBBlendRow_MSA; ARGBBlendRow = ARGBBlendRow_MSA;
@ -2435,14 +2354,6 @@ int BlendPlane(const uint8_t* src_y0,
} }
} }
#endif #endif
#if defined(HAS_BLENDPLANEROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
BlendPlaneRow = BlendPlaneRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
BlendPlaneRow = BlendPlaneRow_MMI;
}
}
#endif
for (y = 0; y < height; ++y) { for (y = 0; y < height; ++y) {
BlendPlaneRow(src_y0, src_y1, alpha, dst_y, width); BlendPlaneRow(src_y0, src_y1, alpha, dst_y, width);
@ -2518,14 +2429,6 @@ int I420Blend(const uint8_t* src_y0,
BlendPlaneRow = BlendPlaneRow_AVX2; BlendPlaneRow = BlendPlaneRow_AVX2;
} }
} }
#endif
#if defined(HAS_BLENDPLANEROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
BlendPlaneRow = BlendPlaneRow_Any_MMI;
if (IS_ALIGNED(halfwidth, 8)) {
BlendPlaneRow = BlendPlaneRow_MMI;
}
}
#endif #endif
if (!IS_ALIGNED(width, 2)) { if (!IS_ALIGNED(width, 2)) {
ScaleRowDown2 = ScaleRowDown2Box_Odd_C; ScaleRowDown2 = ScaleRowDown2Box_Odd_C;
@ -2563,17 +2466,6 @@ int I420Blend(const uint8_t* src_y0,
} }
} }
#endif #endif
#if defined(HAS_SCALEROWDOWN2_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ScaleRowDown2 = ScaleRowDown2Box_Odd_MMI;
if (IS_ALIGNED(width, 2)) {
ScaleRowDown2 = ScaleRowDown2Box_Any_MMI;
if (IS_ALIGNED(halfwidth, 8)) {
ScaleRowDown2 = ScaleRowDown2Box_MMI;
}
}
}
#endif
// Row buffer for intermediate alpha pixels. // Row buffer for intermediate alpha pixels.
align_buffer_64(halfalpha, halfwidth); align_buffer_64(halfalpha, halfwidth);
@ -2651,14 +2543,6 @@ int ARGBMultiply(const uint8_t* src_argb0,
} }
} }
#endif #endif
#if defined(HAS_ARGBMULTIPLYROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBMultiplyRow = ARGBMultiplyRow_Any_MMI;
if (IS_ALIGNED(width, 2)) {
ARGBMultiplyRow = ARGBMultiplyRow_MMI;
}
}
#endif
#if defined(HAS_ARGBMULTIPLYROW_MSA) #if defined(HAS_ARGBMULTIPLYROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBMultiplyRow = ARGBMultiplyRow_Any_MSA; ARGBMultiplyRow = ARGBMultiplyRow_Any_MSA;
@ -2744,14 +2628,6 @@ int ARGBAdd(const uint8_t* src_argb0,
} }
} }
#endif #endif
#if defined(HAS_ARGBADDROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBAddRow = ARGBAddRow_Any_MMI;
if (IS_ALIGNED(width, 2)) {
ARGBAddRow = ARGBAddRow_MMI;
}
}
#endif
#if defined(HAS_ARGBADDROW_MSA) #if defined(HAS_ARGBADDROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBAddRow = ARGBAddRow_Any_MSA; ARGBAddRow = ARGBAddRow_Any_MSA;
@ -2832,14 +2708,6 @@ int ARGBSubtract(const uint8_t* src_argb0,
} }
} }
#endif #endif
#if defined(HAS_ARGBSUBTRACTROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBSubtractRow = ARGBSubtractRow_Any_MMI;
if (IS_ALIGNED(width, 2)) {
ARGBSubtractRow = ARGBSubtractRow_MMI;
}
}
#endif
#if defined(HAS_ARGBSUBTRACTROW_MSA) #if defined(HAS_ARGBSUBTRACTROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBSubtractRow = ARGBSubtractRow_Any_MSA; ARGBSubtractRow = ARGBSubtractRow_Any_MSA;
@ -2909,14 +2777,6 @@ int RAWToRGB24(const uint8_t* src_raw,
} }
} }
#endif #endif
#if defined(HAS_RAWTORGB24ROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
RAWToRGB24Row = RAWToRGB24Row_Any_MMI;
if (IS_ALIGNED(width, 4)) {
RAWToRGB24Row = RAWToRGB24Row_MMI;
}
}
#endif
#if defined(HAS_RAWTORGB24ROW_MSA) #if defined(HAS_RAWTORGB24ROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
RAWToRGB24Row = RAWToRGB24Row_Any_MSA; RAWToRGB24Row = RAWToRGB24Row_Any_MSA;
@ -3076,14 +2936,6 @@ int ARGBRect(uint8_t* dst_argb,
ARGBSetRow = ARGBSetRow_X86; ARGBSetRow = ARGBSetRow_X86;
} }
#endif #endif
#if defined(HAS_ARGBSETROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBSetRow = ARGBSetRow_Any_MMI;
if (IS_ALIGNED(width, 4)) {
ARGBSetRow = ARGBSetRow_MMI;
}
}
#endif
#if defined(HAS_ARGBSETROW_MSA) #if defined(HAS_ARGBSETROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBSetRow = ARGBSetRow_Any_MSA; ARGBSetRow = ARGBSetRow_Any_MSA;
@ -3170,14 +3022,6 @@ int ARGBAttenuate(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_ARGBATTENUATEROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBAttenuateRow = ARGBAttenuateRow_Any_MMI;
if (IS_ALIGNED(width, 2)) {
ARGBAttenuateRow = ARGBAttenuateRow_MMI;
}
}
#endif
#if defined(HAS_ARGBATTENUATEROW_MSA) #if defined(HAS_ARGBATTENUATEROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBAttenuateRow = ARGBAttenuateRow_Any_MSA; ARGBAttenuateRow = ARGBAttenuateRow_Any_MSA;
@ -3289,11 +3133,6 @@ int ARGBGrayTo(const uint8_t* src_argb,
ARGBGrayRow = ARGBGrayRow_NEON; ARGBGrayRow = ARGBGrayRow_NEON;
} }
#endif #endif
#if defined(HAS_ARGBGRAYROW_MMI)
if (TestCpuFlag(kCpuHasMMI) && IS_ALIGNED(width, 2)) {
ARGBGrayRow = ARGBGrayRow_MMI;
}
#endif
#if defined(HAS_ARGBGRAYROW_MSA) #if defined(HAS_ARGBGRAYROW_MSA)
if (TestCpuFlag(kCpuHasMSA) && IS_ALIGNED(width, 8)) { if (TestCpuFlag(kCpuHasMSA) && IS_ALIGNED(width, 8)) {
ARGBGrayRow = ARGBGrayRow_MSA; ARGBGrayRow = ARGBGrayRow_MSA;
@ -3344,11 +3183,6 @@ int ARGBGray(uint8_t* dst_argb,
ARGBGrayRow = ARGBGrayRow_NEON; ARGBGrayRow = ARGBGrayRow_NEON;
} }
#endif #endif
#if defined(HAS_ARGBGRAYROW_MMI)
if (TestCpuFlag(kCpuHasMMI) && IS_ALIGNED(width, 2)) {
ARGBGrayRow = ARGBGrayRow_MMI;
}
#endif
#if defined(HAS_ARGBGRAYROW_MSA) #if defined(HAS_ARGBGRAYROW_MSA)
if (TestCpuFlag(kCpuHasMSA) && IS_ALIGNED(width, 8)) { if (TestCpuFlag(kCpuHasMSA) && IS_ALIGNED(width, 8)) {
ARGBGrayRow = ARGBGrayRow_MSA; ARGBGrayRow = ARGBGrayRow_MSA;
@ -3397,11 +3231,6 @@ int ARGBSepia(uint8_t* dst_argb,
ARGBSepiaRow = ARGBSepiaRow_NEON; ARGBSepiaRow = ARGBSepiaRow_NEON;
} }
#endif #endif
#if defined(HAS_ARGBSEPIAROW_MMI)
if (TestCpuFlag(kCpuHasMMI) && IS_ALIGNED(width, 2)) {
ARGBSepiaRow = ARGBSepiaRow_MMI;
}
#endif
#if defined(HAS_ARGBSEPIAROW_MSA) #if defined(HAS_ARGBSEPIAROW_MSA)
if (TestCpuFlag(kCpuHasMSA) && IS_ALIGNED(width, 8)) { if (TestCpuFlag(kCpuHasMSA) && IS_ALIGNED(width, 8)) {
ARGBSepiaRow = ARGBSepiaRow_MSA; ARGBSepiaRow = ARGBSepiaRow_MSA;
@ -3458,11 +3287,6 @@ int ARGBColorMatrix(const uint8_t* src_argb,
ARGBColorMatrixRow = ARGBColorMatrixRow_NEON; ARGBColorMatrixRow = ARGBColorMatrixRow_NEON;
} }
#endif #endif
#if defined(HAS_ARGBCOLORMATRIXROW_MMI)
if (TestCpuFlag(kCpuHasMMI) && IS_ALIGNED(width, 2)) {
ARGBColorMatrixRow = ARGBColorMatrixRow_MMI;
}
#endif
#if defined(HAS_ARGBCOLORMATRIXROW_MSA) #if defined(HAS_ARGBCOLORMATRIXROW_MSA)
if (TestCpuFlag(kCpuHasMSA) && IS_ALIGNED(width, 8)) { if (TestCpuFlag(kCpuHasMSA) && IS_ALIGNED(width, 8)) {
ARGBColorMatrixRow = ARGBColorMatrixRow_MSA; ARGBColorMatrixRow = ARGBColorMatrixRow_MSA;
@ -3672,11 +3496,6 @@ int ARGBComputeCumulativeSum(const uint8_t* src_argb,
ComputeCumulativeSumRow = ComputeCumulativeSumRow_SSE2; ComputeCumulativeSumRow = ComputeCumulativeSumRow_SSE2;
} }
#endif #endif
#if defined(HAS_CUMULATIVESUMTOAVERAGEROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ComputeCumulativeSumRow = ComputeCumulativeSumRow_MMI;
}
#endif
memset(dst_cumsum, 0, width * sizeof(dst_cumsum[0]) * 4); // 4 int per pixel. memset(dst_cumsum, 0, width * sizeof(dst_cumsum[0]) * 4); // 4 int per pixel.
for (y = 0; y < height; ++y) { for (y = 0; y < height; ++y) {
@ -3735,11 +3554,6 @@ int ARGBBlur(const uint8_t* src_argb,
ComputeCumulativeSumRow = ComputeCumulativeSumRow_SSE2; ComputeCumulativeSumRow = ComputeCumulativeSumRow_SSE2;
CumulativeSumToAverageRow = CumulativeSumToAverageRow_SSE2; CumulativeSumToAverageRow = CumulativeSumToAverageRow_SSE2;
} }
#endif
#if defined(HAS_CUMULATIVESUMTOAVERAGEROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ComputeCumulativeSumRow = ComputeCumulativeSumRow_MMI;
}
#endif #endif
// Compute enough CumulativeSum for first row to be blurred. After this // Compute enough CumulativeSum for first row to be blurred. After this
// one row of CumulativeSum is updated at a time. // one row of CumulativeSum is updated at a time.
@ -3842,11 +3656,6 @@ int ARGBShade(const uint8_t* src_argb,
ARGBShadeRow = ARGBShadeRow_NEON; ARGBShadeRow = ARGBShadeRow_NEON;
} }
#endif #endif
#if defined(HAS_ARGBSHADEROW_MMI)
if (TestCpuFlag(kCpuHasMMI) && IS_ALIGNED(width, 2)) {
ARGBShadeRow = ARGBShadeRow_MMI;
}
#endif
#if defined(HAS_ARGBSHADEROW_MSA) #if defined(HAS_ARGBSHADEROW_MSA)
if (TestCpuFlag(kCpuHasMSA) && IS_ALIGNED(width, 4)) { if (TestCpuFlag(kCpuHasMSA) && IS_ALIGNED(width, 4)) {
ARGBShadeRow = ARGBShadeRow_MSA; ARGBShadeRow = ARGBShadeRow_MSA;
@ -3920,14 +3729,6 @@ int InterpolatePlane(const uint8_t* src0,
} }
} }
#endif #endif
#if defined(HAS_INTERPOLATEROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
InterpolateRow = InterpolateRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
InterpolateRow = InterpolateRow_MMI;
}
}
#endif
#if defined(HAS_INTERPOLATEROW_MSA) #if defined(HAS_INTERPOLATEROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
InterpolateRow = InterpolateRow_Any_MSA; InterpolateRow = InterpolateRow_Any_MSA;
@ -4059,14 +3860,6 @@ int ARGBShuffle(const uint8_t* src_bgra,
} }
} }
#endif #endif
#if defined(HAS_ARGBSHUFFLEROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBShuffleRow = ARGBShuffleRow_Any_MMI;
if (IS_ALIGNED(width, 2)) {
ARGBShuffleRow = ARGBShuffleRow_MMI;
}
}
#endif
#if defined(HAS_ARGBSHUFFLEROW_MSA) #if defined(HAS_ARGBSHUFFLEROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBShuffleRow = ARGBShuffleRow_Any_MSA; ARGBShuffleRow = ARGBShuffleRow_Any_MSA;
@ -4144,14 +3937,6 @@ int AR64Shuffle(const uint16_t* src_ar64,
} }
} }
#endif #endif
#if defined(HAS_ARGBSHUFFLEROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
AR64ShuffleRow = ARGBShuffleRow_Any_MMI;
if (IS_ALIGNED(width, 2)) {
AR64ShuffleRow = ARGBShuffleRow_MMI;
}
}
#endif
for (y = 0; y < height; ++y) { for (y = 0; y < height; ++y) {
AR64ShuffleRow((uint8_t*)(src_ar64), (uint8_t*)(dst_ar64), shuffler, AR64ShuffleRow((uint8_t*)(src_ar64), (uint8_t*)(dst_ar64), shuffler,
@ -4290,14 +4075,6 @@ static int ARGBSobelize(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_ARGBTOYJROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBToYJRow = ARGBToYJRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
ARGBToYJRow = ARGBToYJRow_MMI;
}
}
#endif
#if defined(HAS_ARGBTOYJROW_MSA) #if defined(HAS_ARGBTOYJROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBToYJRow = ARGBToYJRow_Any_MSA; ARGBToYJRow = ARGBToYJRow_Any_MSA;
@ -4325,11 +4102,6 @@ static int ARGBSobelize(const uint8_t* src_argb,
SobelYRow = SobelYRow_NEON; SobelYRow = SobelYRow_NEON;
} }
#endif #endif
#if defined(HAS_SOBELYROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
SobelYRow = SobelYRow_MMI;
}
#endif
#if defined(HAS_SOBELYROW_MSA) #if defined(HAS_SOBELYROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
SobelYRow = SobelYRow_MSA; SobelYRow = SobelYRow_MSA;
@ -4345,11 +4117,6 @@ static int ARGBSobelize(const uint8_t* src_argb,
SobelXRow = SobelXRow_NEON; SobelXRow = SobelXRow_NEON;
} }
#endif #endif
#if defined(HAS_SOBELXROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
SobelXRow = SobelXRow_MMI;
}
#endif
#if defined(HAS_SOBELXROW_MSA) #if defined(HAS_SOBELXROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
SobelXRow = SobelXRow_MSA; SobelXRow = SobelXRow_MSA;
@ -4429,14 +4196,6 @@ int ARGBSobel(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_SOBELROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
SobelRow = SobelRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
SobelRow = SobelRow_MMI;
}
}
#endif
#if defined(HAS_SOBELROW_MSA) #if defined(HAS_SOBELROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
SobelRow = SobelRow_Any_MSA; SobelRow = SobelRow_Any_MSA;
@ -4483,14 +4242,6 @@ int ARGBSobelToPlane(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_SOBELTOPLANEROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
SobelToPlaneRow = SobelToPlaneRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
SobelToPlaneRow = SobelToPlaneRow_MMI;
}
}
#endif
#if defined(HAS_SOBELTOPLANEROW_MSA) #if defined(HAS_SOBELTOPLANEROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
SobelToPlaneRow = SobelToPlaneRow_Any_MSA; SobelToPlaneRow = SobelToPlaneRow_Any_MSA;
@ -4538,14 +4289,6 @@ int ARGBSobelXY(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_SOBELXYROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
SobelXYRow = SobelXYRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
SobelXYRow = SobelXYRow_MMI;
}
}
#endif
#if defined(HAS_SOBELXYROW_MSA) #if defined(HAS_SOBELXYROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
SobelXYRow = SobelXYRow_Any_MSA; SobelXYRow = SobelXYRow_Any_MSA;
@ -4807,14 +4550,6 @@ int ARGBCopyAlpha(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_ARGBCOPYALPHAROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBCopyAlphaRow = ARGBCopyAlphaRow_Any_MMI;
if (IS_ALIGNED(width, 2)) {
ARGBCopyAlphaRow = ARGBCopyAlphaRow_MMI;
}
}
#endif
for (y = 0; y < height; ++y) { for (y = 0; y < height; ++y) {
ARGBCopyAlphaRow(src_argb, dst_argb, width); ARGBCopyAlphaRow(src_argb, dst_argb, width);
@ -4867,12 +4602,6 @@ int ARGBExtractAlpha(const uint8_t* src_argb,
: ARGBExtractAlphaRow_Any_NEON; : ARGBExtractAlphaRow_Any_NEON;
} }
#endif #endif
#if defined(HAS_ARGBEXTRACTALPHAROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBExtractAlphaRow = IS_ALIGNED(width, 8) ? ARGBExtractAlphaRow_MMI
: ARGBExtractAlphaRow_Any_MMI;
}
#endif
#if defined(HAS_ARGBEXTRACTALPHAROW_MSA) #if defined(HAS_ARGBEXTRACTALPHAROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBExtractAlphaRow = IS_ALIGNED(width, 16) ? ARGBExtractAlphaRow_MSA ARGBExtractAlphaRow = IS_ALIGNED(width, 16) ? ARGBExtractAlphaRow_MSA
@ -4936,14 +4665,6 @@ int ARGBCopyYToAlpha(const uint8_t* src_y,
} }
} }
#endif #endif
#if defined(HAS_ARGBCOPYYTOALPHAROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBCopyYToAlphaRow = ARGBCopyYToAlphaRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
ARGBCopyYToAlphaRow = ARGBCopyYToAlphaRow_MMI;
}
}
#endif
for (y = 0; y < height; ++y) { for (y = 0; y < height; ++y) {
ARGBCopyYToAlphaRow(src_y, dst_argb, width); ARGBCopyYToAlphaRow(src_y, dst_argb, width);
@ -5005,14 +4726,6 @@ int YUY2ToNV12(const uint8_t* src_yuy2,
} }
} }
#endif #endif
#if defined(HAS_SPLITUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
SplitUVRow = SplitUVRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
SplitUVRow = SplitUVRow_MMI;
}
}
#endif
#if defined(HAS_SPLITUVROW_MSA) #if defined(HAS_SPLITUVROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
SplitUVRow = SplitUVRow_Any_MSA; SplitUVRow = SplitUVRow_Any_MSA;
@ -5053,14 +4766,6 @@ int YUY2ToNV12(const uint8_t* src_yuy2,
} }
} }
#endif #endif
#if defined(HAS_INTERPOLATEROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
InterpolateRow = InterpolateRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
InterpolateRow = InterpolateRow_MMI;
}
}
#endif
#if defined(HAS_INTERPOLATEROW_MSA) #if defined(HAS_INTERPOLATEROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
InterpolateRow = InterpolateRow_Any_MSA; InterpolateRow = InterpolateRow_Any_MSA;
@ -5153,14 +4858,6 @@ int UYVYToNV12(const uint8_t* src_uyvy,
} }
} }
#endif #endif
#if defined(HAS_SPLITUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
SplitUVRow = SplitUVRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
SplitUVRow = SplitUVRow_MMI;
}
}
#endif
#if defined(HAS_SPLITUVROW_MSA) #if defined(HAS_SPLITUVROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
SplitUVRow = SplitUVRow_Any_MSA; SplitUVRow = SplitUVRow_Any_MSA;
@ -5201,14 +4898,6 @@ int UYVYToNV12(const uint8_t* src_uyvy,
} }
} }
#endif #endif
#if defined(HAS_INTERPOLATEROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
InterpolateRow = InterpolateRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
InterpolateRow = InterpolateRow_MMI;
}
}
#endif
#if defined(HAS_INTERPOLATEROW_MSA) #if defined(HAS_INTERPOLATEROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
InterpolateRow = InterpolateRow_Any_MSA; InterpolateRow = InterpolateRow_Any_MSA;

View File

@ -68,11 +68,6 @@ void TransposePlane(const uint8_t* src,
} }
} }
#endif #endif
#if defined(HAS_TRANSPOSEWX8_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
TransposeWx8 = TransposeWx8_MMI;
}
#endif
#if defined(HAS_TRANSPOSEWX8_FAST_SSSE3) #if defined(HAS_TRANSPOSEWX8_FAST_SSSE3)
if (TestCpuFlag(kCpuHasSSSE3)) { if (TestCpuFlag(kCpuHasSSSE3)) {
TransposeWx8 = TransposeWx8_Fast_Any_SSSE3; TransposeWx8 = TransposeWx8_Fast_Any_SSSE3;
@ -183,14 +178,6 @@ void RotatePlane180(const uint8_t* src,
} }
} }
#endif #endif
#if defined(HAS_MIRRORROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
MirrorRow = MirrorRow_Any_MMI;
if (IS_ALIGNED(width, 8)) {
MirrorRow = MirrorRow_MMI;
}
}
#endif
#if defined(HAS_MIRRORROW_MSA) #if defined(HAS_MIRRORROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
MirrorRow = MirrorRow_Any_MSA; MirrorRow = MirrorRow_Any_MSA;
@ -227,11 +214,6 @@ void RotatePlane180(const uint8_t* src,
CopyRow = IS_ALIGNED(width, 32) ? CopyRow_NEON : CopyRow_Any_NEON; CopyRow = IS_ALIGNED(width, 32) ? CopyRow_NEON : CopyRow_Any_NEON;
} }
#endif #endif
#if defined(HAS_COPYROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
CopyRow = IS_ALIGNED(width, 8) ? CopyRow_MMI : CopyRow_Any_MMI;
}
#endif
// Odd height will harmlessly mirror the middle row twice. // Odd height will harmlessly mirror the middle row twice.
for (y = 0; y < half_height; ++y) { for (y = 0; y < half_height; ++y) {
@ -298,14 +280,6 @@ void SplitTransposeUV(const uint8_t* src,
} }
} }
#endif #endif
#if defined(HAS_TRANSPOSEUVWX8_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
TransposeUVWx8 = TransposeUVWx8_Any_MMI;
if (IS_ALIGNED(width, 4)) {
TransposeUVWx8 = TransposeUVWx8_MMI;
}
}
#endif
#endif /* defined(HAS_TRANSPOSEUVWX16_MSA) */ #endif /* defined(HAS_TRANSPOSEUVWX16_MSA) */
#if defined(HAS_TRANSPOSEUVWX16_MSA) #if defined(HAS_TRANSPOSEUVWX16_MSA)
@ -403,11 +377,6 @@ void SplitRotateUV180(const uint8_t* src,
MirrorSplitUVRow = MirrorSplitUVRow_SSSE3; MirrorSplitUVRow = MirrorSplitUVRow_SSSE3;
} }
#endif #endif
#if defined(HAS_MIRRORSPLITUVROW_MMI)
if (TestCpuFlag(kCpuHasMMI) && IS_ALIGNED(width, 8)) {
MirrorSplitUVRow = MirrorSplitUVRow_MMI;
}
#endif
#if defined(HAS_MIRRORSPLITUVROW_MSA) #if defined(HAS_MIRRORSPLITUVROW_MSA)
if (TestCpuFlag(kCpuHasMSA) && IS_ALIGNED(width, 32)) { if (TestCpuFlag(kCpuHasMSA) && IS_ALIGNED(width, 32)) {
MirrorSplitUVRow = MirrorSplitUVRow_MSA; MirrorSplitUVRow = MirrorSplitUVRow_MSA;

View File

@ -35,9 +35,6 @@ TANY(TransposeWx8_Any_NEON, TransposeWx8_NEON, 7)
#ifdef HAS_TRANSPOSEWX8_SSSE3 #ifdef HAS_TRANSPOSEWX8_SSSE3
TANY(TransposeWx8_Any_SSSE3, TransposeWx8_SSSE3, 7) TANY(TransposeWx8_Any_SSSE3, TransposeWx8_SSSE3, 7)
#endif #endif
#ifdef HAS_TRANSPOSEWX8_MMI
TANY(TransposeWx8_Any_MMI, TransposeWx8_MMI, 7)
#endif
#ifdef HAS_TRANSPOSEWX8_FAST_SSSE3 #ifdef HAS_TRANSPOSEWX8_FAST_SSSE3
TANY(TransposeWx8_Fast_Any_SSSE3, TransposeWx8_Fast_SSSE3, 15) TANY(TransposeWx8_Fast_Any_SSSE3, TransposeWx8_Fast_SSSE3, 15)
#endif #endif
@ -68,9 +65,6 @@ TUVANY(TransposeUVWx8_Any_NEON, TransposeUVWx8_NEON, 7)
#ifdef HAS_TRANSPOSEUVWX8_SSE2 #ifdef HAS_TRANSPOSEUVWX8_SSE2
TUVANY(TransposeUVWx8_Any_SSE2, TransposeUVWx8_SSE2, 7) TUVANY(TransposeUVWx8_Any_SSE2, TransposeUVWx8_SSE2, 7)
#endif #endif
#ifdef HAS_TRANSPOSEUVWX8_MMI
TUVANY(TransposeUVWx8_Any_MMI, TransposeUVWx8_MMI, 7)
#endif
#ifdef HAS_TRANSPOSEUVWX16_MSA #ifdef HAS_TRANSPOSEUVWX16_MSA
TUVANY(TransposeUVWx16_Any_MSA, TransposeUVWx16_MSA, 7) TUVANY(TransposeUVWx16_Any_MSA, TransposeUVWx16_MSA, 7)
#endif #endif

View File

@ -52,14 +52,6 @@ static int ARGBTranspose(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_SCALEARGBROWDOWNEVEN_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ScaleARGBRowDownEven = ScaleARGBRowDownEven_Any_MMI;
if (IS_ALIGNED(height, 4)) { // Width of dest.
ScaleARGBRowDownEven = ScaleARGBRowDownEven_MMI;
}
}
#endif
#if defined(HAS_SCALEARGBROWDOWNEVEN_MSA) #if defined(HAS_SCALEARGBROWDOWNEVEN_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ScaleARGBRowDownEven = ScaleARGBRowDownEven_Any_MSA; ScaleARGBRowDownEven = ScaleARGBRowDownEven_Any_MSA;
@ -155,14 +147,6 @@ static int ARGBRotate180(const uint8_t* src_argb,
} }
} }
#endif #endif
#if defined(HAS_ARGBMIRRORROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ARGBMirrorRow = ARGBMirrorRow_Any_MMI;
if (IS_ALIGNED(width, 2)) {
ARGBMirrorRow = ARGBMirrorRow_MMI;
}
}
#endif
#if defined(HAS_ARGBMIRRORROW_MSA) #if defined(HAS_ARGBMIRRORROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ARGBMirrorRow = ARGBMirrorRow_Any_MSA; ARGBMirrorRow = ARGBMirrorRow_Any_MSA;

View File

@ -113,12 +113,6 @@ ANY41C(I444AlphaToARGBRow_Any_MSA, I444AlphaToARGBRow_MSA, 0, 0, 4, 7)
#ifdef HAS_I422ALPHATOARGBROW_MSA #ifdef HAS_I422ALPHATOARGBROW_MSA
ANY41C(I422AlphaToARGBRow_Any_MSA, I422AlphaToARGBRow_MSA, 1, 0, 4, 7) ANY41C(I422AlphaToARGBRow_Any_MSA, I422AlphaToARGBRow_MSA, 1, 0, 4, 7)
#endif #endif
#ifdef HAS_I444ALPHATOARGBROW_MMI
ANY41C(I444AlphaToARGBRow_Any_MMI, I444AlphaToARGBRow_MMI, 0, 0, 4, 7)
#endif
#ifdef HAS_I422ALPHATOARGBROW_MMI
ANY41C(I422AlphaToARGBRow_Any_MMI, I422AlphaToARGBRow_MMI, 1, 0, 4, 7)
#endif
#ifdef HAS_I422ALPHATOARGBROW_LASX #ifdef HAS_I422ALPHATOARGBROW_LASX
ANY41C(I422AlphaToARGBRow_Any_LASX, I422AlphaToARGBRow_LASX, 1, 0, 4, 15) ANY41C(I422AlphaToARGBRow_Any_LASX, I422AlphaToARGBRow_LASX, 1, 0, 4, 15)
#endif #endif
@ -268,9 +262,6 @@ ANY31(MergeRGBRow_Any_SSSE3, MergeRGBRow_SSSE3, 0, 0, 3, 15)
#ifdef HAS_MERGERGBROW_NEON #ifdef HAS_MERGERGBROW_NEON
ANY31(MergeRGBRow_Any_NEON, MergeRGBRow_NEON, 0, 0, 3, 15) ANY31(MergeRGBRow_Any_NEON, MergeRGBRow_NEON, 0, 0, 3, 15)
#endif #endif
#ifdef HAS_MERGERGBROW_MMI
ANY31(MergeRGBRow_Any_MMI, MergeRGBRow_MMI, 0, 0, 3, 7)
#endif
#ifdef HAS_MERGEXRGBROW_SSE2 #ifdef HAS_MERGEXRGBROW_SSE2
ANY31(MergeXRGBRow_Any_SSE2, MergeXRGBRow_SSE2, 0, 0, 4, 7) ANY31(MergeXRGBRow_Any_SSE2, MergeXRGBRow_SSE2, 0, 0, 4, 7)
#endif #endif
@ -294,9 +285,6 @@ ANY31(I422ToYUY2Row_Any_NEON, I422ToYUY2Row_NEON, 1, 1, 4, 15)
#ifdef HAS_I422TOYUY2ROW_MSA #ifdef HAS_I422TOYUY2ROW_MSA
ANY31(I422ToYUY2Row_Any_MSA, I422ToYUY2Row_MSA, 1, 1, 4, 31) ANY31(I422ToYUY2Row_Any_MSA, I422ToYUY2Row_MSA, 1, 1, 4, 31)
#endif #endif
#ifdef HAS_I422TOYUY2ROW_MMI
ANY31(I422ToYUY2Row_Any_MMI, I422ToYUY2Row_MMI, 1, 1, 4, 7)
#endif
#ifdef HAS_I422TOYUY2ROW_LASX #ifdef HAS_I422TOYUY2ROW_LASX
ANY31(I422ToYUY2Row_Any_LASX, I422ToYUY2Row_LASX, 1, 1, 4, 31) ANY31(I422ToYUY2Row_Any_LASX, I422ToYUY2Row_LASX, 1, 1, 4, 31)
#endif #endif
@ -306,9 +294,6 @@ ANY31(I422ToUYVYRow_Any_NEON, I422ToUYVYRow_NEON, 1, 1, 4, 15)
#ifdef HAS_I422TOUYVYROW_MSA #ifdef HAS_I422TOUYVYROW_MSA
ANY31(I422ToUYVYRow_Any_MSA, I422ToUYVYRow_MSA, 1, 1, 4, 31) ANY31(I422ToUYVYRow_Any_MSA, I422ToUYVYRow_MSA, 1, 1, 4, 31)
#endif #endif
#ifdef HAS_I422TOUYVYROW_MMI
ANY31(I422ToUYVYRow_Any_MMI, I422ToUYVYRow_MMI, 1, 1, 4, 7)
#endif
#ifdef HAS_I422TOUYVYROW_LASX #ifdef HAS_I422TOUYVYROW_LASX
ANY31(I422ToUYVYRow_Any_LASX, I422ToUYVYRow_LASX, 1, 1, 4, 31) ANY31(I422ToUYVYRow_Any_LASX, I422ToUYVYRow_LASX, 1, 1, 4, 31)
#endif #endif
@ -318,9 +303,6 @@ ANY31(BlendPlaneRow_Any_AVX2, BlendPlaneRow_AVX2, 0, 0, 1, 31)
#ifdef HAS_BLENDPLANEROW_SSSE3 #ifdef HAS_BLENDPLANEROW_SSSE3
ANY31(BlendPlaneRow_Any_SSSE3, BlendPlaneRow_SSSE3, 0, 0, 1, 7) ANY31(BlendPlaneRow_Any_SSSE3, BlendPlaneRow_SSSE3, 0, 0, 1, 7)
#endif #endif
#ifdef HAS_BLENDPLANEROW_MMI
ANY31(BlendPlaneRow_Any_MMI, BlendPlaneRow_MMI, 0, 0, 1, 7)
#endif
#undef ANY31 #undef ANY31
// Note that odd width replication includes 444 due to implementation // Note that odd width replication includes 444 due to implementation
@ -419,15 +401,6 @@ ANY31C(I422ToARGB4444Row_Any_MSA, I422ToARGB4444Row_MSA, 1, 0, 2, 7)
ANY31C(I422ToARGB1555Row_Any_MSA, I422ToARGB1555Row_MSA, 1, 0, 2, 7) ANY31C(I422ToARGB1555Row_Any_MSA, I422ToARGB1555Row_MSA, 1, 0, 2, 7)
ANY31C(I422ToRGB565Row_Any_MSA, I422ToRGB565Row_MSA, 1, 0, 2, 7) ANY31C(I422ToRGB565Row_Any_MSA, I422ToRGB565Row_MSA, 1, 0, 2, 7)
#endif #endif
#ifdef HAS_I422TOARGBROW_MMI
ANY31C(I444ToARGBRow_Any_MMI, I444ToARGBRow_MMI, 0, 0, 4, 7)
ANY31C(I422ToARGBRow_Any_MMI, I422ToARGBRow_MMI, 1, 0, 4, 7)
ANY31C(I422ToRGB24Row_Any_MMI, I422ToRGB24Row_MMI, 1, 0, 3, 15)
ANY31C(I422ToARGB4444Row_Any_MMI, I422ToARGB4444Row_MMI, 1, 0, 2, 7)
ANY31C(I422ToARGB1555Row_Any_MMI, I422ToARGB1555Row_MMI, 1, 0, 2, 7)
ANY31C(I422ToRGB565Row_Any_MMI, I422ToRGB565Row_MMI, 1, 0, 2, 7)
ANY31C(I422ToRGBARow_Any_MMI, I422ToRGBARow_MMI, 1, 0, 4, 7)
#endif
#ifdef HAS_I422TOARGBROW_LASX #ifdef HAS_I422TOARGBROW_LASX
ANY31C(I422ToARGBRow_Any_LASX, I422ToARGBRow_LASX, 1, 0, 4, 31) ANY31C(I422ToARGBRow_Any_LASX, I422ToARGBRow_LASX, 1, 0, 4, 31)
ANY31C(I422ToRGBARow_Any_LASX, I422ToRGBARow_LASX, 1, 0, 4, 31) ANY31C(I422ToRGBARow_Any_LASX, I422ToRGBARow_LASX, 1, 0, 4, 31)
@ -486,9 +459,6 @@ ANY31CT(I410ToARGBRow_Any_AVX2, I410ToARGBRow_AVX2, 0, 0, uint16_t, 2, 4, 15)
#ifdef HAS_I410TOAR30ROW_AVX2 #ifdef HAS_I410TOAR30ROW_AVX2
ANY31CT(I410ToAR30Row_Any_AVX2, I410ToAR30Row_AVX2, 0, 0, uint16_t, 2, 4, 15) ANY31CT(I410ToAR30Row_Any_AVX2, I410ToAR30Row_AVX2, 0, 0, uint16_t, 2, 4, 15)
#endif #endif
#ifdef HAS_I210TOARGBROW_MMI
ANY31CT(I210ToARGBRow_Any_MMI, I210ToARGBRow_MMI, 1, 0, uint16_t, 2, 4, 7)
#endif
#ifdef HAS_I212TOAR30ROW_SSSE3 #ifdef HAS_I212TOAR30ROW_SSSE3
ANY31CT(I212ToAR30Row_Any_SSSE3, I212ToAR30Row_SSSE3, 1, 0, uint16_t, 2, 4, 7) ANY31CT(I212ToAR30Row_Any_SSSE3, I212ToAR30Row_SSSE3, 1, 0, uint16_t, 2, 4, 7)
#endif #endif
@ -598,9 +568,6 @@ ANY21(MergeUVRow_Any_NEON, MergeUVRow_NEON, 0, 1, 1, 2, 15)
#ifdef HAS_MERGEUVROW_MSA #ifdef HAS_MERGEUVROW_MSA
ANY21(MergeUVRow_Any_MSA, MergeUVRow_MSA, 0, 1, 1, 2, 15) ANY21(MergeUVRow_Any_MSA, MergeUVRow_MSA, 0, 1, 1, 2, 15)
#endif #endif
#ifdef HAS_MERGEUVROW_MMI
ANY21(MergeUVRow_Any_MMI, MergeUVRow_MMI, 0, 1, 1, 2, 7)
#endif
#ifdef HAS_MERGEUVROW_LSX #ifdef HAS_MERGEUVROW_LSX
ANY21(MergeUVRow_Any_LSX, MergeUVRow_LSX, 0, 1, 1, 2, 15) ANY21(MergeUVRow_Any_LSX, MergeUVRow_LSX, 0, 1, 1, 2, 15)
#endif #endif
@ -644,27 +611,18 @@ ANY21(ARGBSubtractRow_Any_NEON, ARGBSubtractRow_NEON, 0, 4, 4, 4, 7)
#ifdef HAS_ARGBMULTIPLYROW_MSA #ifdef HAS_ARGBMULTIPLYROW_MSA
ANY21(ARGBMultiplyRow_Any_MSA, ARGBMultiplyRow_MSA, 0, 4, 4, 4, 3) ANY21(ARGBMultiplyRow_Any_MSA, ARGBMultiplyRow_MSA, 0, 4, 4, 4, 3)
#endif #endif
#ifdef HAS_ARGBMULTIPLYROW_MMI
ANY21(ARGBMultiplyRow_Any_MMI, ARGBMultiplyRow_MMI, 0, 4, 4, 4, 1)
#endif
#ifdef HAS_ARGBMULTIPLYROW_LASX #ifdef HAS_ARGBMULTIPLYROW_LASX
ANY21(ARGBMultiplyRow_Any_LASX, ARGBMultiplyRow_LASX, 0, 4, 4, 4, 7) ANY21(ARGBMultiplyRow_Any_LASX, ARGBMultiplyRow_LASX, 0, 4, 4, 4, 7)
#endif #endif
#ifdef HAS_ARGBADDROW_MSA #ifdef HAS_ARGBADDROW_MSA
ANY21(ARGBAddRow_Any_MSA, ARGBAddRow_MSA, 0, 4, 4, 4, 7) ANY21(ARGBAddRow_Any_MSA, ARGBAddRow_MSA, 0, 4, 4, 4, 7)
#endif #endif
#ifdef HAS_ARGBADDROW_MMI
ANY21(ARGBAddRow_Any_MMI, ARGBAddRow_MMI, 0, 4, 4, 4, 1)
#endif
#ifdef HAS_ARGBADDROW_LASX #ifdef HAS_ARGBADDROW_LASX
ANY21(ARGBAddRow_Any_LASX, ARGBAddRow_LASX, 0, 4, 4, 4, 7) ANY21(ARGBAddRow_Any_LASX, ARGBAddRow_LASX, 0, 4, 4, 4, 7)
#endif #endif
#ifdef HAS_ARGBSUBTRACTROW_MSA #ifdef HAS_ARGBSUBTRACTROW_MSA
ANY21(ARGBSubtractRow_Any_MSA, ARGBSubtractRow_MSA, 0, 4, 4, 4, 7) ANY21(ARGBSubtractRow_Any_MSA, ARGBSubtractRow_MSA, 0, 4, 4, 4, 7)
#endif #endif
#ifdef HAS_ARGBSUBTRACTROW_MMI
ANY21(ARGBSubtractRow_Any_MMI, ARGBSubtractRow_MMI, 0, 4, 4, 4, 1)
#endif
#ifdef HAS_ARGBSUBTRACTROW_LASX #ifdef HAS_ARGBSUBTRACTROW_LASX
ANY21(ARGBSubtractRow_Any_LASX, ARGBSubtractRow_LASX, 0, 4, 4, 4, 7) ANY21(ARGBSubtractRow_Any_LASX, ARGBSubtractRow_LASX, 0, 4, 4, 4, 7)
#endif #endif
@ -677,9 +635,6 @@ ANY21(SobelRow_Any_NEON, SobelRow_NEON, 0, 1, 1, 4, 7)
#ifdef HAS_SOBELROW_MSA #ifdef HAS_SOBELROW_MSA
ANY21(SobelRow_Any_MSA, SobelRow_MSA, 0, 1, 1, 4, 15) ANY21(SobelRow_Any_MSA, SobelRow_MSA, 0, 1, 1, 4, 15)
#endif #endif
#ifdef HAS_SOBELROW_MMI
ANY21(SobelRow_Any_MMI, SobelRow_MMI, 0, 1, 1, 4, 7)
#endif
#ifdef HAS_SOBELROW_LSX #ifdef HAS_SOBELROW_LSX
ANY21(SobelRow_Any_LSX, SobelRow_LSX, 0, 1, 1, 4, 15) ANY21(SobelRow_Any_LSX, SobelRow_LSX, 0, 1, 1, 4, 15)
#endif #endif
@ -692,9 +647,6 @@ ANY21(SobelToPlaneRow_Any_NEON, SobelToPlaneRow_NEON, 0, 1, 1, 1, 15)
#ifdef HAS_SOBELTOPLANEROW_MSA #ifdef HAS_SOBELTOPLANEROW_MSA
ANY21(SobelToPlaneRow_Any_MSA, SobelToPlaneRow_MSA, 0, 1, 1, 1, 31) ANY21(SobelToPlaneRow_Any_MSA, SobelToPlaneRow_MSA, 0, 1, 1, 1, 31)
#endif #endif
#ifdef HAS_SOBELTOPLANEROW_MMI
ANY21(SobelToPlaneRow_Any_MMI, SobelToPlaneRow_MMI, 0, 1, 1, 1, 7)
#endif
#ifdef HAS_SOBELTOPLANEROW_LSX #ifdef HAS_SOBELTOPLANEROW_LSX
ANY21(SobelToPlaneRow_Any_LSX, SobelToPlaneRow_LSX, 0, 1, 1, 1, 31) ANY21(SobelToPlaneRow_Any_LSX, SobelToPlaneRow_LSX, 0, 1, 1, 1, 31)
#endif #endif
@ -707,9 +659,6 @@ ANY21(SobelXYRow_Any_NEON, SobelXYRow_NEON, 0, 1, 1, 4, 7)
#ifdef HAS_SOBELXYROW_MSA #ifdef HAS_SOBELXYROW_MSA
ANY21(SobelXYRow_Any_MSA, SobelXYRow_MSA, 0, 1, 1, 4, 15) ANY21(SobelXYRow_Any_MSA, SobelXYRow_MSA, 0, 1, 1, 4, 15)
#endif #endif
#ifdef HAS_SOBELXYROW_MMI
ANY21(SobelXYRow_Any_MMI, SobelXYRow_MMI, 0, 1, 1, 4, 7)
#endif
#ifdef HAS_SOBELXYROW_LSX #ifdef HAS_SOBELXYROW_LSX
ANY21(SobelXYRow_Any_LSX, SobelXYRow_LSX, 0, 1, 1, 4, 15) ANY21(SobelXYRow_Any_LSX, SobelXYRow_LSX, 0, 1, 1, 4, 15)
#endif #endif
@ -746,9 +695,6 @@ ANY21C(NV12ToARGBRow_Any_NEON, NV12ToARGBRow_NEON, 1, 1, 2, 4, 7)
#ifdef HAS_NV12TOARGBROW_MSA #ifdef HAS_NV12TOARGBROW_MSA
ANY21C(NV12ToARGBRow_Any_MSA, NV12ToARGBRow_MSA, 1, 1, 2, 4, 7) ANY21C(NV12ToARGBRow_Any_MSA, NV12ToARGBRow_MSA, 1, 1, 2, 4, 7)
#endif #endif
#ifdef HAS_NV12TOARGBROW_MMI
ANY21C(NV12ToARGBRow_Any_MMI, NV12ToARGBRow_MMI, 1, 1, 2, 4, 7)
#endif
#ifdef HAS_NV12TOARGBROW_LSX #ifdef HAS_NV12TOARGBROW_LSX
ANY21C(NV12ToARGBRow_Any_LSX, NV12ToARGBRow_LSX, 1, 1, 2, 4, 7) ANY21C(NV12ToARGBRow_Any_LSX, NV12ToARGBRow_LSX, 1, 1, 2, 4, 7)
#endif #endif
@ -764,9 +710,6 @@ ANY21C(NV21ToARGBRow_Any_NEON, NV21ToARGBRow_NEON, 1, 1, 2, 4, 7)
#ifdef HAS_NV21TOARGBROW_MSA #ifdef HAS_NV21TOARGBROW_MSA
ANY21C(NV21ToARGBRow_Any_MSA, NV21ToARGBRow_MSA, 1, 1, 2, 4, 7) ANY21C(NV21ToARGBRow_Any_MSA, NV21ToARGBRow_MSA, 1, 1, 2, 4, 7)
#endif #endif
#ifdef HAS_NV21TOARGBROW_MMI
ANY21C(NV21ToARGBRow_Any_MMI, NV21ToARGBRow_MMI, 1, 1, 2, 4, 7)
#endif
#ifdef HAS_NV21TOARGBROW_LSX #ifdef HAS_NV21TOARGBROW_LSX
ANY21C(NV21ToARGBRow_Any_LSX, NV21ToARGBRow_LSX, 1, 1, 2, 4, 7) ANY21C(NV21ToARGBRow_Any_LSX, NV21ToARGBRow_LSX, 1, 1, 2, 4, 7)
#endif #endif
@ -779,9 +722,6 @@ ANY21C(NV21ToRGB24Row_Any_NEON, NV21ToRGB24Row_NEON, 1, 1, 2, 3, 7)
#ifdef HAS_NV12TORGB24ROW_SSSE3 #ifdef HAS_NV12TORGB24ROW_SSSE3
ANY21C(NV12ToRGB24Row_Any_SSSE3, NV12ToRGB24Row_SSSE3, 1, 1, 2, 3, 15) ANY21C(NV12ToRGB24Row_Any_SSSE3, NV12ToRGB24Row_SSSE3, 1, 1, 2, 3, 15)
#endif #endif
#ifdef HAS_NV12TORGB24ROW_MMI
ANY21C(NV12ToRGB24Row_Any_MMI, NV12ToRGB24Row_MMI, 1, 1, 2, 3, 7)
#endif
#ifdef HAS_NV21TORGB24ROW_SSSE3 #ifdef HAS_NV21TORGB24ROW_SSSE3
ANY21C(NV21ToRGB24Row_Any_SSSE3, NV21ToRGB24Row_SSSE3, 1, 1, 2, 3, 15) ANY21C(NV21ToRGB24Row_Any_SSSE3, NV21ToRGB24Row_SSSE3, 1, 1, 2, 3, 15)
#endif #endif
@ -791,9 +731,6 @@ ANY21C(NV12ToRGB24Row_Any_AVX2, NV12ToRGB24Row_AVX2, 1, 1, 2, 3, 31)
#ifdef HAS_NV21TORGB24ROW_AVX2 #ifdef HAS_NV21TORGB24ROW_AVX2
ANY21C(NV21ToRGB24Row_Any_AVX2, NV21ToRGB24Row_AVX2, 1, 1, 2, 3, 31) ANY21C(NV21ToRGB24Row_Any_AVX2, NV21ToRGB24Row_AVX2, 1, 1, 2, 3, 31)
#endif #endif
#ifdef HAS_NV21TORGB24ROW_MMI
ANY21C(NV21ToRGB24Row_Any_MMI, NV21ToRGB24Row_MMI, 1, 1, 2, 3, 7)
#endif
#ifdef HAS_NV12TORGB565ROW_SSSE3 #ifdef HAS_NV12TORGB565ROW_SSSE3
ANY21C(NV12ToRGB565Row_Any_SSSE3, NV12ToRGB565Row_SSSE3, 1, 1, 2, 2, 7) ANY21C(NV12ToRGB565Row_Any_SSSE3, NV12ToRGB565Row_SSSE3, 1, 1, 2, 2, 7)
#endif #endif
@ -806,9 +743,6 @@ ANY21C(NV12ToRGB565Row_Any_NEON, NV12ToRGB565Row_NEON, 1, 1, 2, 2, 7)
#ifdef HAS_NV12TORGB565ROW_MSA #ifdef HAS_NV12TORGB565ROW_MSA
ANY21C(NV12ToRGB565Row_Any_MSA, NV12ToRGB565Row_MSA, 1, 1, 2, 2, 7) ANY21C(NV12ToRGB565Row_Any_MSA, NV12ToRGB565Row_MSA, 1, 1, 2, 2, 7)
#endif #endif
#ifdef HAS_NV12TORGB565ROW_MMI
ANY21C(NV12ToRGB565Row_Any_MMI, NV12ToRGB565Row_MMI, 1, 1, 2, 2, 7)
#endif
#ifdef HAS_NV12TORGB565ROW_LSX #ifdef HAS_NV12TORGB565ROW_LSX
ANY21C(NV12ToRGB565Row_Any_LSX, NV12ToRGB565Row_LSX, 1, 1, 2, 2, 7) ANY21C(NV12ToRGB565Row_Any_LSX, NV12ToRGB565Row_LSX, 1, 1, 2, 2, 7)
#endif #endif
@ -988,14 +922,6 @@ ANY11(ARGBToARGB1555Row_Any_MSA, ARGBToARGB1555Row_MSA, 0, 4, 2, 7)
ANY11(ARGBToARGB4444Row_Any_MSA, ARGBToARGB4444Row_MSA, 0, 4, 2, 7) ANY11(ARGBToARGB4444Row_Any_MSA, ARGBToARGB4444Row_MSA, 0, 4, 2, 7)
ANY11(J400ToARGBRow_Any_MSA, J400ToARGBRow_MSA, 0, 1, 4, 15) ANY11(J400ToARGBRow_Any_MSA, J400ToARGBRow_MSA, 0, 1, 4, 15)
#endif #endif
#if defined(HAS_ARGBTORGB24ROW_MMI)
ANY11(ARGBToRGB24Row_Any_MMI, ARGBToRGB24Row_MMI, 0, 4, 3, 3)
ANY11(ARGBToRAWRow_Any_MMI, ARGBToRAWRow_MMI, 0, 4, 3, 3)
ANY11(ARGBToRGB565Row_Any_MMI, ARGBToRGB565Row_MMI, 0, 4, 2, 3)
ANY11(ARGBToARGB1555Row_Any_MMI, ARGBToARGB1555Row_MMI, 0, 4, 2, 3)
ANY11(ARGBToARGB4444Row_Any_MMI, ARGBToARGB4444Row_MMI, 0, 4, 2, 3)
ANY11(J400ToARGBRow_Any_MMI, J400ToARGBRow_MMI, 0, 1, 4, 3)
#endif
#if defined(HAS_ARGBTORGB24ROW_LASX) #if defined(HAS_ARGBTORGB24ROW_LASX)
ANY11(ARGBToRGB24Row_Any_LASX, ARGBToRGB24Row_LASX, 0, 4, 3, 31) ANY11(ARGBToRGB24Row_Any_LASX, ARGBToRGB24Row_LASX, 0, 4, 3, 31)
ANY11(ARGBToRAWRow_Any_LASX, ARGBToRAWRow_LASX, 0, 4, 3, 31) ANY11(ARGBToRAWRow_Any_LASX, ARGBToRAWRow_LASX, 0, 4, 3, 31)
@ -1012,9 +938,6 @@ ANY11(RAWToRGB24Row_Any_NEON, RAWToRGB24Row_NEON, 0, 3, 3, 7)
#if defined(HAS_RAWTORGB24ROW_MSA) #if defined(HAS_RAWTORGB24ROW_MSA)
ANY11(RAWToRGB24Row_Any_MSA, RAWToRGB24Row_MSA, 0, 3, 3, 15) ANY11(RAWToRGB24Row_Any_MSA, RAWToRGB24Row_MSA, 0, 3, 3, 15)
#endif #endif
#if defined(HAS_RAWTORGB24ROW_MMI)
ANY11(RAWToRGB24Row_Any_MMI, RAWToRGB24Row_MMI, 0, 3, 3, 3)
#endif
#if defined(HAS_RAWTORGB24ROW_LSX) #if defined(HAS_RAWTORGB24ROW_LSX)
ANY11(RAWToRGB24Row_Any_LSX, RAWToRGB24Row_LSX, 0, 3, 3, 15) ANY11(RAWToRGB24Row_Any_LSX, RAWToRGB24Row_LSX, 0, 3, 3, 15)
#endif #endif
@ -1060,9 +983,6 @@ ANY11(ARGBToYRow_Any_NEON, ARGBToYRow_NEON, 0, 4, 1, 7)
#ifdef HAS_ARGBTOYROW_MSA #ifdef HAS_ARGBTOYROW_MSA
ANY11(ARGBToYRow_Any_MSA, ARGBToYRow_MSA, 0, 4, 1, 15) ANY11(ARGBToYRow_Any_MSA, ARGBToYRow_MSA, 0, 4, 1, 15)
#endif #endif
#ifdef HAS_ARGBTOYROW_MMI
ANY11(ARGBToYRow_Any_MMI, ARGBToYRow_MMI, 0, 4, 1, 7)
#endif
#ifdef HAS_ARGBTOYROW_LASX #ifdef HAS_ARGBTOYROW_LASX
ANY11(ARGBToYRow_Any_LASX, ARGBToYRow_LASX, 0, 4, 1, 31) ANY11(ARGBToYRow_Any_LASX, ARGBToYRow_LASX, 0, 4, 1, 31)
#endif #endif
@ -1075,9 +995,6 @@ ANY11(RGBAToYJRow_Any_NEON, RGBAToYJRow_NEON, 0, 4, 1, 7)
#ifdef HAS_ARGBTOYJROW_MSA #ifdef HAS_ARGBTOYJROW_MSA
ANY11(ARGBToYJRow_Any_MSA, ARGBToYJRow_MSA, 0, 4, 1, 15) ANY11(ARGBToYJRow_Any_MSA, ARGBToYJRow_MSA, 0, 4, 1, 15)
#endif #endif
#ifdef HAS_ARGBTOYJROW_MMI
ANY11(ARGBToYJRow_Any_MMI, ARGBToYJRow_MMI, 0, 4, 1, 7)
#endif
#ifdef HAS_ARGBTOYJROW_LSX #ifdef HAS_ARGBTOYJROW_LSX
ANY11(ARGBToYJRow_Any_LSX, ARGBToYJRow_LSX, 0, 4, 1, 15) ANY11(ARGBToYJRow_Any_LSX, ARGBToYJRow_LSX, 0, 4, 1, 15)
#endif #endif
@ -1087,9 +1004,6 @@ ANY11(BGRAToYRow_Any_NEON, BGRAToYRow_NEON, 0, 4, 1, 7)
#ifdef HAS_BGRATOYROW_MSA #ifdef HAS_BGRATOYROW_MSA
ANY11(BGRAToYRow_Any_MSA, BGRAToYRow_MSA, 0, 4, 1, 15) ANY11(BGRAToYRow_Any_MSA, BGRAToYRow_MSA, 0, 4, 1, 15)
#endif #endif
#ifdef HAS_BGRATOYROW_MMI
ANY11(BGRAToYRow_Any_MMI, BGRAToYRow_MMI, 0, 4, 1, 7)
#endif
#ifdef HAS_BGRATOYROW_LSX #ifdef HAS_BGRATOYROW_LSX
ANY11(BGRAToYRow_Any_LSX, BGRAToYRow_LSX, 0, 4, 1, 15) ANY11(BGRAToYRow_Any_LSX, BGRAToYRow_LSX, 0, 4, 1, 15)
#endif #endif
@ -1099,9 +1013,6 @@ ANY11(ABGRToYRow_Any_NEON, ABGRToYRow_NEON, 0, 4, 1, 7)
#ifdef HAS_ABGRTOYROW_MSA #ifdef HAS_ABGRTOYROW_MSA
ANY11(ABGRToYRow_Any_MSA, ABGRToYRow_MSA, 0, 4, 1, 7) ANY11(ABGRToYRow_Any_MSA, ABGRToYRow_MSA, 0, 4, 1, 7)
#endif #endif
#ifdef HAS_ABGRTOYROW_MMI
ANY11(ABGRToYRow_Any_MMI, ABGRToYRow_MMI, 0, 4, 1, 7)
#endif
#ifdef HAS_ABGRTOYROW_LSX #ifdef HAS_ABGRTOYROW_LSX
ANY11(ABGRToYRow_Any_LSX, ABGRToYRow_LSX, 0, 4, 1, 15) ANY11(ABGRToYRow_Any_LSX, ABGRToYRow_LSX, 0, 4, 1, 15)
#endif #endif
@ -1111,9 +1022,6 @@ ANY11(RGBAToYRow_Any_NEON, RGBAToYRow_NEON, 0, 4, 1, 7)
#ifdef HAS_RGBATOYROW_MSA #ifdef HAS_RGBATOYROW_MSA
ANY11(RGBAToYRow_Any_MSA, RGBAToYRow_MSA, 0, 4, 1, 15) ANY11(RGBAToYRow_Any_MSA, RGBAToYRow_MSA, 0, 4, 1, 15)
#endif #endif
#ifdef HAS_RGBATOYROW_MMI
ANY11(RGBAToYRow_Any_MMI, RGBAToYRow_MMI, 0, 4, 1, 7)
#endif
#ifdef HAS_RGBATOYROW_LSX #ifdef HAS_RGBATOYROW_LSX
ANY11(RGBAToYRow_Any_LSX, RGBAToYRow_LSX, 0, 4, 1, 15) ANY11(RGBAToYRow_Any_LSX, RGBAToYRow_LSX, 0, 4, 1, 15)
#endif #endif
@ -1132,9 +1040,6 @@ ANY11(RGB24ToYJRow_Any_NEON, RGB24ToYJRow_NEON, 0, 3, 1, 7)
#ifdef HAS_RGB24TOYROW_MSA #ifdef HAS_RGB24TOYROW_MSA
ANY11(RGB24ToYRow_Any_MSA, RGB24ToYRow_MSA, 0, 3, 1, 15) ANY11(RGB24ToYRow_Any_MSA, RGB24ToYRow_MSA, 0, 3, 1, 15)
#endif #endif
#ifdef HAS_RGB24TOYROW_MMI
ANY11(RGB24ToYRow_Any_MMI, RGB24ToYRow_MMI, 0, 3, 1, 7)
#endif
#ifdef HAS_RGB24TOYROW_LSX #ifdef HAS_RGB24TOYROW_LSX
ANY11(RGB24ToYRow_Any_LSX, RGB24ToYRow_LSX, 0, 3, 1, 15) ANY11(RGB24ToYRow_Any_LSX, RGB24ToYRow_LSX, 0, 3, 1, 15)
#endif #endif
@ -1153,9 +1058,6 @@ ANY11(RAWToYJRow_Any_NEON, RAWToYJRow_NEON, 0, 3, 1, 7)
#ifdef HAS_RAWTOYROW_MSA #ifdef HAS_RAWTOYROW_MSA
ANY11(RAWToYRow_Any_MSA, RAWToYRow_MSA, 0, 3, 1, 15) ANY11(RAWToYRow_Any_MSA, RAWToYRow_MSA, 0, 3, 1, 15)
#endif #endif
#ifdef HAS_RAWTOYROW_MMI
ANY11(RAWToYRow_Any_MMI, RAWToYRow_MMI, 0, 3, 1, 7)
#endif
#ifdef HAS_RAWTOYROW_LSX #ifdef HAS_RAWTOYROW_LSX
ANY11(RAWToYRow_Any_LSX, RAWToYRow_LSX, 0, 3, 1, 15) ANY11(RAWToYRow_Any_LSX, RAWToYRow_LSX, 0, 3, 1, 15)
#endif #endif
@ -1165,9 +1067,6 @@ ANY11(RGB565ToYRow_Any_NEON, RGB565ToYRow_NEON, 0, 2, 1, 7)
#ifdef HAS_RGB565TOYROW_MSA #ifdef HAS_RGB565TOYROW_MSA
ANY11(RGB565ToYRow_Any_MSA, RGB565ToYRow_MSA, 0, 2, 1, 15) ANY11(RGB565ToYRow_Any_MSA, RGB565ToYRow_MSA, 0, 2, 1, 15)
#endif #endif
#ifdef HAS_RGB565TOYROW_MMI
ANY11(RGB565ToYRow_Any_MMI, RGB565ToYRow_MMI, 0, 2, 1, 7)
#endif
#ifdef HAS_RGB565TOYROW_LSX #ifdef HAS_RGB565TOYROW_LSX
ANY11(RGB565ToYRow_Any_LSX, RGB565ToYRow_LSX, 0, 2, 1, 15) ANY11(RGB565ToYRow_Any_LSX, RGB565ToYRow_LSX, 0, 2, 1, 15)
#endif #endif
@ -1177,18 +1076,12 @@ ANY11(ARGB1555ToYRow_Any_NEON, ARGB1555ToYRow_NEON, 0, 2, 1, 7)
#ifdef HAS_ARGB1555TOYROW_MSA #ifdef HAS_ARGB1555TOYROW_MSA
ANY11(ARGB1555ToYRow_Any_MSA, ARGB1555ToYRow_MSA, 0, 2, 1, 15) ANY11(ARGB1555ToYRow_Any_MSA, ARGB1555ToYRow_MSA, 0, 2, 1, 15)
#endif #endif
#ifdef HAS_ARGB1555TOYROW_MMI
ANY11(ARGB1555ToYRow_Any_MMI, ARGB1555ToYRow_MMI, 0, 2, 1, 7)
#endif
#ifdef HAS_ARGB1555TOYROW_LSX #ifdef HAS_ARGB1555TOYROW_LSX
ANY11(ARGB1555ToYRow_Any_LSX, ARGB1555ToYRow_LSX, 0, 2, 1, 15) ANY11(ARGB1555ToYRow_Any_LSX, ARGB1555ToYRow_LSX, 0, 2, 1, 15)
#endif #endif
#ifdef HAS_ARGB4444TOYROW_NEON #ifdef HAS_ARGB4444TOYROW_NEON
ANY11(ARGB4444ToYRow_Any_NEON, ARGB4444ToYRow_NEON, 0, 2, 1, 7) ANY11(ARGB4444ToYRow_Any_NEON, ARGB4444ToYRow_NEON, 0, 2, 1, 7)
#endif #endif
#ifdef HAS_ARGB4444TOYROW_MMI
ANY11(ARGB4444ToYRow_Any_MMI, ARGB4444ToYRow_MMI, 0, 2, 1, 7)
#endif
#ifdef HAS_YUY2TOYROW_NEON #ifdef HAS_YUY2TOYROW_NEON
ANY11(YUY2ToYRow_Any_NEON, YUY2ToYRow_NEON, 1, 4, 1, 15) ANY11(YUY2ToYRow_Any_NEON, YUY2ToYRow_NEON, 1, 4, 1, 15)
#endif #endif
@ -1201,18 +1094,12 @@ ANY11(YUY2ToYRow_Any_MSA, YUY2ToYRow_MSA, 1, 4, 1, 31)
#ifdef HAS_YUY2TOYROW_LASX #ifdef HAS_YUY2TOYROW_LASX
ANY11(YUY2ToYRow_Any_LASX, YUY2ToYRow_LASX, 1, 4, 1, 31) ANY11(YUY2ToYRow_Any_LASX, YUY2ToYRow_LASX, 1, 4, 1, 31)
#endif #endif
#ifdef HAS_YUY2TOYROW_MMI
ANY11(YUY2ToYRow_Any_MMI, YUY2ToYRow_MMI, 1, 4, 1, 7)
#endif
#ifdef HAS_UYVYTOYROW_MSA #ifdef HAS_UYVYTOYROW_MSA
ANY11(UYVYToYRow_Any_MSA, UYVYToYRow_MSA, 1, 4, 1, 31) ANY11(UYVYToYRow_Any_MSA, UYVYToYRow_MSA, 1, 4, 1, 31)
#endif #endif
#ifdef HAS_UYVYTOYROW_LASX #ifdef HAS_UYVYTOYROW_LASX
ANY11(UYVYToYRow_Any_LASX, UYVYToYRow_LASX, 1, 4, 1, 31) ANY11(UYVYToYRow_Any_LASX, UYVYToYRow_LASX, 1, 4, 1, 31)
#endif #endif
#ifdef HAS_UYVYTOYROW_MMI
ANY11(UYVYToYRow_Any_MMI, UYVYToYRow_MMI, 1, 4, 1, 15)
#endif
#ifdef HAS_AYUVTOYROW_NEON #ifdef HAS_AYUVTOYROW_NEON
ANY11(AYUVToYRow_Any_NEON, AYUVToYRow_NEON, 0, 4, 1, 15) ANY11(AYUVToYRow_Any_NEON, AYUVToYRow_NEON, 0, 4, 1, 15)
#endif #endif
@ -1231,9 +1118,6 @@ ANY11(RGB24ToARGBRow_Any_NEON, RGB24ToARGBRow_NEON, 0, 3, 4, 7)
#ifdef HAS_RGB24TOARGBROW_MSA #ifdef HAS_RGB24TOARGBROW_MSA
ANY11(RGB24ToARGBRow_Any_MSA, RGB24ToARGBRow_MSA, 0, 3, 4, 15) ANY11(RGB24ToARGBRow_Any_MSA, RGB24ToARGBRow_MSA, 0, 3, 4, 15)
#endif #endif
#ifdef HAS_RGB24TOARGBROW_MMI
ANY11(RGB24ToARGBRow_Any_MMI, RGB24ToARGBRow_MMI, 0, 3, 4, 3)
#endif
#ifdef HAS_RGB24TOARGBROW_LSX #ifdef HAS_RGB24TOARGBROW_LSX
ANY11(RGB24ToARGBRow_Any_LSX, RGB24ToARGBRow_LSX, 0, 3, 4, 15) ANY11(RGB24ToARGBRow_Any_LSX, RGB24ToARGBRow_LSX, 0, 3, 4, 15)
#endif #endif
@ -1246,9 +1130,6 @@ ANY11(RAWToRGBARow_Any_NEON, RAWToRGBARow_NEON, 0, 3, 4, 7)
#ifdef HAS_RAWTOARGBROW_MSA #ifdef HAS_RAWTOARGBROW_MSA
ANY11(RAWToARGBRow_Any_MSA, RAWToARGBRow_MSA, 0, 3, 4, 15) ANY11(RAWToARGBRow_Any_MSA, RAWToARGBRow_MSA, 0, 3, 4, 15)
#endif #endif
#ifdef HAS_RAWTOARGBROW_MMI
ANY11(RAWToARGBRow_Any_MMI, RAWToARGBRow_MMI, 0, 3, 4, 3)
#endif
#ifdef HAS_RAWTOARGBROW_LSX #ifdef HAS_RAWTOARGBROW_LSX
ANY11(RAWToARGBRow_Any_LSX, RAWToARGBRow_LSX, 0, 3, 4, 15) ANY11(RAWToARGBRow_Any_LSX, RAWToARGBRow_LSX, 0, 3, 4, 15)
#endif #endif
@ -1258,9 +1139,6 @@ ANY11(RGB565ToARGBRow_Any_NEON, RGB565ToARGBRow_NEON, 0, 2, 4, 7)
#ifdef HAS_RGB565TOARGBROW_MSA #ifdef HAS_RGB565TOARGBROW_MSA
ANY11(RGB565ToARGBRow_Any_MSA, RGB565ToARGBRow_MSA, 0, 2, 4, 15) ANY11(RGB565ToARGBRow_Any_MSA, RGB565ToARGBRow_MSA, 0, 2, 4, 15)
#endif #endif
#ifdef HAS_RGB565TOARGBROW_MMI
ANY11(RGB565ToARGBRow_Any_MMI, RGB565ToARGBRow_MMI, 0, 2, 4, 3)
#endif
#ifdef HAS_RGB565TOARGBROW_LSX #ifdef HAS_RGB565TOARGBROW_LSX
ANY11(RGB565ToARGBRow_Any_LSX, RGB565ToARGBRow_LSX, 0, 2, 4, 15) ANY11(RGB565ToARGBRow_Any_LSX, RGB565ToARGBRow_LSX, 0, 2, 4, 15)
#endif #endif
@ -1270,9 +1148,6 @@ ANY11(ARGB1555ToARGBRow_Any_NEON, ARGB1555ToARGBRow_NEON, 0, 2, 4, 7)
#ifdef HAS_ARGB1555TOARGBROW_MSA #ifdef HAS_ARGB1555TOARGBROW_MSA
ANY11(ARGB1555ToARGBRow_Any_MSA, ARGB1555ToARGBRow_MSA, 0, 2, 4, 15) ANY11(ARGB1555ToARGBRow_Any_MSA, ARGB1555ToARGBRow_MSA, 0, 2, 4, 15)
#endif #endif
#ifdef HAS_ARGB1555TOARGBROW_MMI
ANY11(ARGB1555ToARGBRow_Any_MMI, ARGB1555ToARGBRow_MMI, 0, 2, 4, 3)
#endif
#ifdef HAS_ARGB1555TOARGBROW_LSX #ifdef HAS_ARGB1555TOARGBROW_LSX
ANY11(ARGB1555ToARGBRow_Any_LSX, ARGB1555ToARGBRow_LSX, 0, 2, 4, 15) ANY11(ARGB1555ToARGBRow_Any_LSX, ARGB1555ToARGBRow_LSX, 0, 2, 4, 15)
#endif #endif
@ -1282,9 +1157,6 @@ ANY11(ARGB4444ToARGBRow_Any_NEON, ARGB4444ToARGBRow_NEON, 0, 2, 4, 7)
#ifdef HAS_ARGB4444TOARGBROW_MSA #ifdef HAS_ARGB4444TOARGBROW_MSA
ANY11(ARGB4444ToARGBRow_Any_MSA, ARGB4444ToARGBRow_MSA, 0, 2, 4, 15) ANY11(ARGB4444ToARGBRow_Any_MSA, ARGB4444ToARGBRow_MSA, 0, 2, 4, 15)
#endif #endif
#ifdef HAS_ARGB4444TOARGBROW_MMI
ANY11(ARGB4444ToARGBRow_Any_MMI, ARGB4444ToARGBRow_MMI, 0, 2, 4, 3)
#endif
#ifdef HAS_ARGB4444TOARGBROW_LSX #ifdef HAS_ARGB4444TOARGBROW_LSX
ANY11(ARGB4444ToARGBRow_Any_LSX, ARGB4444ToARGBRow_LSX, 0, 2, 4, 15) ANY11(ARGB4444ToARGBRow_Any_LSX, ARGB4444ToARGBRow_LSX, 0, 2, 4, 15)
#endif #endif
@ -1306,9 +1178,6 @@ ANY11(ARGBAttenuateRow_Any_NEON, ARGBAttenuateRow_NEON, 0, 4, 4, 7)
#ifdef HAS_ARGBATTENUATEROW_MSA #ifdef HAS_ARGBATTENUATEROW_MSA
ANY11(ARGBAttenuateRow_Any_MSA, ARGBAttenuateRow_MSA, 0, 4, 4, 7) ANY11(ARGBAttenuateRow_Any_MSA, ARGBAttenuateRow_MSA, 0, 4, 4, 7)
#endif #endif
#ifdef HAS_ARGBATTENUATEROW_MMI
ANY11(ARGBAttenuateRow_Any_MMI, ARGBAttenuateRow_MMI, 0, 4, 4, 1)
#endif
#ifdef HAS_ARGBATTENUATEROW_LASX #ifdef HAS_ARGBATTENUATEROW_LASX
ANY11(ARGBAttenuateRow_Any_LASX, ARGBAttenuateRow_LASX, 0, 4, 4, 15) ANY11(ARGBAttenuateRow_Any_LASX, ARGBAttenuateRow_LASX, 0, 4, 4, 15)
#endif #endif
@ -1324,9 +1193,6 @@ ANY11(ARGBExtractAlphaRow_Any_NEON, ARGBExtractAlphaRow_NEON, 0, 4, 1, 15)
#ifdef HAS_ARGBEXTRACTALPHAROW_MSA #ifdef HAS_ARGBEXTRACTALPHAROW_MSA
ANY11(ARGBExtractAlphaRow_Any_MSA, ARGBExtractAlphaRow_MSA, 0, 4, 1, 15) ANY11(ARGBExtractAlphaRow_Any_MSA, ARGBExtractAlphaRow_MSA, 0, 4, 1, 15)
#endif #endif
#ifdef HAS_ARGBEXTRACTALPHAROW_MMI
ANY11(ARGBExtractAlphaRow_Any_MMI, ARGBExtractAlphaRow_MMI, 0, 4, 1, 7)
#endif
#ifdef HAS_ARGBEXTRACTALPHAROW_LSX #ifdef HAS_ARGBEXTRACTALPHAROW_LSX
ANY11(ARGBExtractAlphaRow_Any_LSX, ARGBExtractAlphaRow_LSX, 0, 4, 1, 15) ANY11(ARGBExtractAlphaRow_Any_LSX, ARGBExtractAlphaRow_LSX, 0, 4, 1, 15)
#endif #endif
@ -1354,18 +1220,12 @@ ANY11B(ARGBCopyAlphaRow_Any_AVX2, ARGBCopyAlphaRow_AVX2, 0, 4, 4, 15)
#ifdef HAS_ARGBCOPYALPHAROW_SSE2 #ifdef HAS_ARGBCOPYALPHAROW_SSE2
ANY11B(ARGBCopyAlphaRow_Any_SSE2, ARGBCopyAlphaRow_SSE2, 0, 4, 4, 7) ANY11B(ARGBCopyAlphaRow_Any_SSE2, ARGBCopyAlphaRow_SSE2, 0, 4, 4, 7)
#endif #endif
#ifdef HAS_ARGBCOPYALPHAROW_MMI
ANY11B(ARGBCopyAlphaRow_Any_MMI, ARGBCopyAlphaRow_MMI, 0, 4, 4, 1)
#endif
#ifdef HAS_ARGBCOPYYTOALPHAROW_AVX2 #ifdef HAS_ARGBCOPYYTOALPHAROW_AVX2
ANY11B(ARGBCopyYToAlphaRow_Any_AVX2, ARGBCopyYToAlphaRow_AVX2, 0, 1, 4, 15) ANY11B(ARGBCopyYToAlphaRow_Any_AVX2, ARGBCopyYToAlphaRow_AVX2, 0, 1, 4, 15)
#endif #endif
#ifdef HAS_ARGBCOPYYTOALPHAROW_SSE2 #ifdef HAS_ARGBCOPYYTOALPHAROW_SSE2
ANY11B(ARGBCopyYToAlphaRow_Any_SSE2, ARGBCopyYToAlphaRow_SSE2, 0, 1, 4, 7) ANY11B(ARGBCopyYToAlphaRow_Any_SSE2, ARGBCopyYToAlphaRow_SSE2, 0, 1, 4, 7)
#endif #endif
#ifdef HAS_ARGBCOPYYTOALPHAROW_MMI
ANY11B(ARGBCopyYToAlphaRow_Any_MMI, ARGBCopyYToAlphaRow_MMI, 0, 1, 4, 7)
#endif
#undef ANY11B #undef ANY11B
// Any 1 to 1 with parameter. // Any 1 to 1 with parameter.
@ -1415,14 +1275,6 @@ ANY11P(I400ToARGBRow_Any_MSA,
4, 4,
15) 15)
#endif #endif
#if defined(HAS_I400TOARGBROW_MMI)
ANY11P(I400ToARGBRow_Any_MMI,
I400ToARGBRow_MMI,
const struct YuvConstants*,
1,
4,
7)
#endif
#if defined(HAS_I400TOARGBROW_LSX) #if defined(HAS_I400TOARGBROW_LSX)
ANY11P(I400ToARGBRow_Any_LSX, ANY11P(I400ToARGBRow_Any_LSX,
I400ToARGBRow_LSX, I400ToARGBRow_LSX,
@ -1464,14 +1316,6 @@ ANY11P(ARGBToRGB565DitherRow_Any_MSA,
2, 2,
7) 7)
#endif #endif
#if defined(HAS_ARGBTORGB565DITHERROW_MMI)
ANY11P(ARGBToRGB565DitherRow_Any_MMI,
ARGBToRGB565DitherRow_MMI,
const uint32_t,
4,
2,
3)
#endif
#if defined(HAS_ARGBTORGB565DITHERROW_LASX) #if defined(HAS_ARGBTORGB565DITHERROW_LASX)
ANY11P(ARGBToRGB565DitherRow_Any_LASX, ANY11P(ARGBToRGB565DitherRow_Any_LASX,
ARGBToRGB565DitherRow_LASX, ARGBToRGB565DitherRow_LASX,
@ -1492,9 +1336,6 @@ ANY11P(ARGBShuffleRow_Any_NEON, ARGBShuffleRow_NEON, const uint8_t*, 4, 4, 3)
#ifdef HAS_ARGBSHUFFLEROW_MSA #ifdef HAS_ARGBSHUFFLEROW_MSA
ANY11P(ARGBShuffleRow_Any_MSA, ARGBShuffleRow_MSA, const uint8_t*, 4, 4, 7) ANY11P(ARGBShuffleRow_Any_MSA, ARGBShuffleRow_MSA, const uint8_t*, 4, 4, 7)
#endif #endif
#ifdef HAS_ARGBSHUFFLEROW_MMI
ANY11P(ARGBShuffleRow_Any_MMI, ARGBShuffleRow_MMI, const uint8_t*, 4, 4, 1)
#endif
#ifdef HAS_ARGBSHUFFLEROW_LASX #ifdef HAS_ARGBSHUFFLEROW_LASX
ANY11P(ARGBShuffleRow_Any_LASX, ARGBShuffleRow_LASX, const uint8_t*, 4, 4, 15) ANY11P(ARGBShuffleRow_Any_LASX, ARGBShuffleRow_LASX, const uint8_t*, 4, 4, 15)
#endif #endif
@ -1729,10 +1570,6 @@ ANY11C(UYVYToARGBRow_Any_NEON, UYVYToARGBRow_NEON, 1, 4, 4, 7)
ANY11C(YUY2ToARGBRow_Any_MSA, YUY2ToARGBRow_MSA, 1, 4, 4, 7) ANY11C(YUY2ToARGBRow_Any_MSA, YUY2ToARGBRow_MSA, 1, 4, 4, 7)
ANY11C(UYVYToARGBRow_Any_MSA, UYVYToARGBRow_MSA, 1, 4, 4, 7) ANY11C(UYVYToARGBRow_Any_MSA, UYVYToARGBRow_MSA, 1, 4, 4, 7)
#endif #endif
#if defined(HAS_YUY2TOARGBROW_MMI)
ANY11C(YUY2ToARGBRow_Any_MMI, YUY2ToARGBRow_MMI, 1, 4, 4, 7)
ANY11C(UYVYToARGBRow_Any_MMI, UYVYToARGBRow_MMI, 1, 4, 4, 7)
#endif
#if defined(HAS_YUY2TOARGBROW_LSX) #if defined(HAS_YUY2TOARGBROW_LSX)
ANY11C(YUY2ToARGBRow_Any_LSX, YUY2ToARGBRow_LSX, 1, 4, 4, 7) ANY11C(YUY2ToARGBRow_Any_LSX, YUY2ToARGBRow_LSX, 1, 4, 4, 7)
ANY11C(UYVYToARGBRow_Any_LSX, UYVYToARGBRow_LSX, 1, 4, 4, 7) ANY11C(UYVYToARGBRow_Any_LSX, UYVYToARGBRow_LSX, 1, 4, 4, 7)
@ -1768,9 +1605,6 @@ ANY11I(InterpolateRow_Any_NEON, InterpolateRow_NEON, 1, 1, 15)
#ifdef HAS_INTERPOLATEROW_MSA #ifdef HAS_INTERPOLATEROW_MSA
ANY11I(InterpolateRow_Any_MSA, InterpolateRow_MSA, 1, 1, 31) ANY11I(InterpolateRow_Any_MSA, InterpolateRow_MSA, 1, 1, 31)
#endif #endif
#ifdef HAS_INTERPOLATEROW_MMI
ANY11I(InterpolateRow_Any_MMI, InterpolateRow_MMI, 1, 1, 7)
#endif
#ifdef HAS_INTERPOLATEROW_LSX #ifdef HAS_INTERPOLATEROW_LSX
ANY11I(InterpolateRow_Any_LSX, InterpolateRow_LSX, 1, 1, 31) ANY11I(InterpolateRow_Any_LSX, InterpolateRow_LSX, 1, 1, 31)
#endif #endif
@ -1803,9 +1637,6 @@ ANY11M(MirrorRow_Any_NEON, MirrorRow_NEON, 1, 31)
#ifdef HAS_MIRRORROW_MSA #ifdef HAS_MIRRORROW_MSA
ANY11M(MirrorRow_Any_MSA, MirrorRow_MSA, 1, 63) ANY11M(MirrorRow_Any_MSA, MirrorRow_MSA, 1, 63)
#endif #endif
#ifdef HAS_MIRRORROW_MMI
ANY11M(MirrorRow_Any_MMI, MirrorRow_MMI, 1, 7)
#endif
#ifdef HAS_MIRRORROW_LASX #ifdef HAS_MIRRORROW_LASX
ANY11M(MirrorRow_Any_LASX, MirrorRow_LASX, 1, 63) ANY11M(MirrorRow_Any_LASX, MirrorRow_LASX, 1, 63)
#endif #endif
@ -1839,9 +1670,6 @@ ANY11M(ARGBMirrorRow_Any_MSA, ARGBMirrorRow_MSA, 4, 15)
#ifdef HAS_ARGBMIRRORROW_LASX #ifdef HAS_ARGBMIRRORROW_LASX
ANY11M(ARGBMirrorRow_Any_LASX, ARGBMirrorRow_LASX, 4, 15) ANY11M(ARGBMirrorRow_Any_LASX, ARGBMirrorRow_LASX, 4, 15)
#endif #endif
#ifdef HAS_ARGBMIRRORROW_MMI
ANY11M(ARGBMirrorRow_Any_MMI, ARGBMirrorRow_MMI, 4, 1)
#endif
#ifdef HAS_RGB24MIRRORROW_SSSE3 #ifdef HAS_RGB24MIRRORROW_SSSE3
ANY11M(RGB24MirrorRow_Any_SSSE3, RGB24MirrorRow_SSSE3, 3, 15) ANY11M(RGB24MirrorRow_Any_SSSE3, RGB24MirrorRow_SSSE3, 3, 15)
#endif #endif
@ -1879,9 +1707,6 @@ ANY1(ARGBSetRow_Any_NEON, ARGBSetRow_NEON, uint32_t, 4, 3)
#ifdef HAS_ARGBSETROW_MSA #ifdef HAS_ARGBSETROW_MSA
ANY1(ARGBSetRow_Any_MSA, ARGBSetRow_MSA, uint32_t, 4, 3) ANY1(ARGBSetRow_Any_MSA, ARGBSetRow_MSA, uint32_t, 4, 3)
#endif #endif
#ifdef HAS_ARGBSETROW_MMI
ANY1(ARGBSetRow_Any_MMI, ARGBSetRow_MMI, uint32_t, 4, 3)
#endif
#ifdef HAS_ARGBSETROW_LSX #ifdef HAS_ARGBSETROW_LSX
ANY1(ARGBSetRow_Any_LSX, ARGBSetRow_LSX, uint32_t, 4, 3) ANY1(ARGBSetRow_Any_LSX, ARGBSetRow_LSX, uint32_t, 4, 3)
#endif #endif
@ -1916,9 +1741,6 @@ ANY12(SplitUVRow_Any_NEON, SplitUVRow_NEON, 0, 2, 0, 15)
#ifdef HAS_SPLITUVROW_MSA #ifdef HAS_SPLITUVROW_MSA
ANY12(SplitUVRow_Any_MSA, SplitUVRow_MSA, 0, 2, 0, 31) ANY12(SplitUVRow_Any_MSA, SplitUVRow_MSA, 0, 2, 0, 31)
#endif #endif
#ifdef HAS_SPLITUVROW_MMI
ANY12(SplitUVRow_Any_MMI, SplitUVRow_MMI, 0, 2, 0, 7)
#endif
#ifdef HAS_SPLITUVROW_LSX #ifdef HAS_SPLITUVROW_LSX
ANY12(SplitUVRow_Any_LSX, SplitUVRow_LSX, 0, 2, 0, 31) ANY12(SplitUVRow_Any_LSX, SplitUVRow_LSX, 0, 2, 0, 31)
#endif #endif
@ -1943,11 +1765,6 @@ ANY12(ARGBToUV444Row_Any_MSA, ARGBToUV444Row_MSA, 0, 4, 0, 15)
ANY12(YUY2ToUV422Row_Any_MSA, YUY2ToUV422Row_MSA, 1, 4, 1, 31) ANY12(YUY2ToUV422Row_Any_MSA, YUY2ToUV422Row_MSA, 1, 4, 1, 31)
ANY12(UYVYToUV422Row_Any_MSA, UYVYToUV422Row_MSA, 1, 4, 1, 31) ANY12(UYVYToUV422Row_Any_MSA, UYVYToUV422Row_MSA, 1, 4, 1, 31)
#endif #endif
#ifdef HAS_YUY2TOUV422ROW_MMI
ANY12(ARGBToUV444Row_Any_MMI, ARGBToUV444Row_MMI, 0, 4, 0, 7)
ANY12(UYVYToUV422Row_Any_MMI, UYVYToUV422Row_MMI, 1, 4, 1, 15)
ANY12(YUY2ToUV422Row_Any_MMI, YUY2ToUV422Row_MMI, 1, 4, 1, 15)
#endif
#ifdef HAS_YUY2TOUV422ROW_LASX #ifdef HAS_YUY2TOUV422ROW_LASX
ANY12(ARGBToUV444Row_Any_LASX, ARGBToUV444Row_LASX, 0, 4, 0, 31) ANY12(ARGBToUV444Row_Any_LASX, ARGBToUV444Row_LASX, 0, 4, 0, 31)
ANY12(YUY2ToUV422Row_Any_LASX, YUY2ToUV422Row_LASX, 1, 4, 1, 31) ANY12(YUY2ToUV422Row_Any_LASX, YUY2ToUV422Row_LASX, 1, 4, 1, 31)
@ -2005,9 +1822,6 @@ ANY13(SplitRGBRow_Any_SSSE3, SplitRGBRow_SSSE3, 3, 15)
#ifdef HAS_SPLITRGBROW_NEON #ifdef HAS_SPLITRGBROW_NEON
ANY13(SplitRGBRow_Any_NEON, SplitRGBRow_NEON, 3, 15) ANY13(SplitRGBRow_Any_NEON, SplitRGBRow_NEON, 3, 15)
#endif #endif
#ifdef HAS_SPLITRGBROW_MMI
ANY13(SplitRGBRow_Any_MMI, SplitRGBRow_MMI, 3, 3)
#endif
#ifdef HAS_SPLITXRGBROW_SSE2 #ifdef HAS_SPLITXRGBROW_SSE2
ANY13(SplitXRGBRow_Any_SSE2, SplitXRGBRow_SSE2, 4, 7) ANY13(SplitXRGBRow_Any_SSE2, SplitXRGBRow_SSE2, 4, 7)
#endif #endif
@ -2110,9 +1924,6 @@ ANY12S(ARGBToUVRow_Any_NEON, ARGBToUVRow_NEON, 0, 4, 15)
#ifdef HAS_ARGBTOUVROW_MSA #ifdef HAS_ARGBTOUVROW_MSA
ANY12S(ARGBToUVRow_Any_MSA, ARGBToUVRow_MSA, 0, 4, 31) ANY12S(ARGBToUVRow_Any_MSA, ARGBToUVRow_MSA, 0, 4, 31)
#endif #endif
#ifdef HAS_ARGBTOUVROW_MMI
ANY12S(ARGBToUVRow_Any_MMI, ARGBToUVRow_MMI, 0, 4, 15)
#endif
#ifdef HAS_ARGBTOUVROW_LASX #ifdef HAS_ARGBTOUVROW_LASX
ANY12S(ARGBToUVRow_Any_LASX, ARGBToUVRow_LASX, 0, 4, 31) ANY12S(ARGBToUVRow_Any_LASX, ARGBToUVRow_LASX, 0, 4, 31)
#endif #endif
@ -2122,9 +1933,6 @@ ANY12S(ARGBToUVJRow_Any_NEON, ARGBToUVJRow_NEON, 0, 4, 15)
#ifdef HAS_ARGBTOUVJROW_MSA #ifdef HAS_ARGBTOUVJROW_MSA
ANY12S(ARGBToUVJRow_Any_MSA, ARGBToUVJRow_MSA, 0, 4, 31) ANY12S(ARGBToUVJRow_Any_MSA, ARGBToUVJRow_MSA, 0, 4, 31)
#endif #endif
#ifdef HAS_ARGBTOUVJROW_MMI
ANY12S(ARGBToUVJRow_Any_MMI, ARGBToUVJRow_MMI, 0, 4, 15)
#endif
#ifdef HAS_ARGBTOUVJROW_LSX #ifdef HAS_ARGBTOUVJROW_LSX
ANY12S(ARGBToUVJRow_Any_LSX, ARGBToUVJRow_LSX, 0, 4, 15) ANY12S(ARGBToUVJRow_Any_LSX, ARGBToUVJRow_LSX, 0, 4, 15)
#endif #endif
@ -2137,18 +1945,12 @@ ANY12S(BGRAToUVRow_Any_MSA, BGRAToUVRow_MSA, 0, 4, 15)
#ifdef HAS_BGRATOUVROW_LSX #ifdef HAS_BGRATOUVROW_LSX
ANY12S(BGRAToUVRow_Any_LSX, BGRAToUVRow_LSX, 0, 4, 15) ANY12S(BGRAToUVRow_Any_LSX, BGRAToUVRow_LSX, 0, 4, 15)
#endif #endif
#ifdef HAS_BGRATOUVROW_MMI
ANY12S(BGRAToUVRow_Any_MMI, BGRAToUVRow_MMI, 0, 4, 15)
#endif
#ifdef HAS_ABGRTOUVROW_NEON #ifdef HAS_ABGRTOUVROW_NEON
ANY12S(ABGRToUVRow_Any_NEON, ABGRToUVRow_NEON, 0, 4, 15) ANY12S(ABGRToUVRow_Any_NEON, ABGRToUVRow_NEON, 0, 4, 15)
#endif #endif
#ifdef HAS_ABGRTOUVROW_MSA #ifdef HAS_ABGRTOUVROW_MSA
ANY12S(ABGRToUVRow_Any_MSA, ABGRToUVRow_MSA, 0, 4, 15) ANY12S(ABGRToUVRow_Any_MSA, ABGRToUVRow_MSA, 0, 4, 15)
#endif #endif
#ifdef HAS_ABGRTOUVROW_MMI
ANY12S(ABGRToUVRow_Any_MMI, ABGRToUVRow_MMI, 0, 4, 15)
#endif
#ifdef HAS_ABGRTOUVROW_LSX #ifdef HAS_ABGRTOUVROW_LSX
ANY12S(ABGRToUVRow_Any_LSX, ABGRToUVRow_LSX, 0, 4, 15) ANY12S(ABGRToUVRow_Any_LSX, ABGRToUVRow_LSX, 0, 4, 15)
#endif #endif
@ -2158,9 +1960,6 @@ ANY12S(RGBAToUVRow_Any_NEON, RGBAToUVRow_NEON, 0, 4, 15)
#ifdef HAS_RGBATOUVROW_MSA #ifdef HAS_RGBATOUVROW_MSA
ANY12S(RGBAToUVRow_Any_MSA, RGBAToUVRow_MSA, 0, 4, 15) ANY12S(RGBAToUVRow_Any_MSA, RGBAToUVRow_MSA, 0, 4, 15)
#endif #endif
#ifdef HAS_RGBATOUVROW_MMI
ANY12S(RGBAToUVRow_Any_MMI, RGBAToUVRow_MMI, 0, 4, 15)
#endif
#ifdef HAS_RGBATOUVROW_LSX #ifdef HAS_RGBATOUVROW_LSX
ANY12S(RGBAToUVRow_Any_LSX, RGBAToUVRow_LSX, 0, 4, 15) ANY12S(RGBAToUVRow_Any_LSX, RGBAToUVRow_LSX, 0, 4, 15)
#endif #endif
@ -2173,9 +1972,6 @@ ANY12S(RGB24ToUVJRow_Any_NEON, RGB24ToUVJRow_NEON, 0, 3, 15)
#ifdef HAS_RGB24TOUVROW_MSA #ifdef HAS_RGB24TOUVROW_MSA
ANY12S(RGB24ToUVRow_Any_MSA, RGB24ToUVRow_MSA, 0, 3, 15) ANY12S(RGB24ToUVRow_Any_MSA, RGB24ToUVRow_MSA, 0, 3, 15)
#endif #endif
#ifdef HAS_RGB24TOUVROW_MMI
ANY12S(RGB24ToUVRow_Any_MMI, RGB24ToUVRow_MMI, 0, 3, 15)
#endif
#ifdef HAS_RGB24TOUVROW_LSX #ifdef HAS_RGB24TOUVROW_LSX
ANY12S(RGB24ToUVRow_Any_LSX, RGB24ToUVRow_LSX, 0, 3, 15) ANY12S(RGB24ToUVRow_Any_LSX, RGB24ToUVRow_LSX, 0, 3, 15)
#endif #endif
@ -2188,9 +1984,6 @@ ANY12S(RAWToUVJRow_Any_NEON, RAWToUVJRow_NEON, 0, 3, 15)
#ifdef HAS_RAWTOUVROW_MSA #ifdef HAS_RAWTOUVROW_MSA
ANY12S(RAWToUVRow_Any_MSA, RAWToUVRow_MSA, 0, 3, 15) ANY12S(RAWToUVRow_Any_MSA, RAWToUVRow_MSA, 0, 3, 15)
#endif #endif
#ifdef HAS_RAWTOUVROW_MMI
ANY12S(RAWToUVRow_Any_MMI, RAWToUVRow_MMI, 0, 3, 15)
#endif
#ifdef HAS_RAWTOUVROW_LSX #ifdef HAS_RAWTOUVROW_LSX
ANY12S(RAWToUVRow_Any_LSX, RAWToUVRow_LSX, 0, 3, 15) ANY12S(RAWToUVRow_Any_LSX, RAWToUVRow_LSX, 0, 3, 15)
#endif #endif
@ -2200,9 +1993,6 @@ ANY12S(RGB565ToUVRow_Any_NEON, RGB565ToUVRow_NEON, 0, 2, 15)
#ifdef HAS_RGB565TOUVROW_MSA #ifdef HAS_RGB565TOUVROW_MSA
ANY12S(RGB565ToUVRow_Any_MSA, RGB565ToUVRow_MSA, 0, 2, 15) ANY12S(RGB565ToUVRow_Any_MSA, RGB565ToUVRow_MSA, 0, 2, 15)
#endif #endif
#ifdef HAS_RGB565TOUVROW_MMI
ANY12S(RGB565ToUVRow_Any_MMI, RGB565ToUVRow_MMI, 0, 2, 15)
#endif
#ifdef HAS_RGB565TOUVROW_LSX #ifdef HAS_RGB565TOUVROW_LSX
ANY12S(RGB565ToUVRow_Any_LSX, RGB565ToUVRow_LSX, 0, 2, 15) ANY12S(RGB565ToUVRow_Any_LSX, RGB565ToUVRow_LSX, 0, 2, 15)
#endif #endif
@ -2212,18 +2002,12 @@ ANY12S(ARGB1555ToUVRow_Any_NEON, ARGB1555ToUVRow_NEON, 0, 2, 15)
#ifdef HAS_ARGB1555TOUVROW_MSA #ifdef HAS_ARGB1555TOUVROW_MSA
ANY12S(ARGB1555ToUVRow_Any_MSA, ARGB1555ToUVRow_MSA, 0, 2, 15) ANY12S(ARGB1555ToUVRow_Any_MSA, ARGB1555ToUVRow_MSA, 0, 2, 15)
#endif #endif
#ifdef HAS_ARGB1555TOUVROW_MMI
ANY12S(ARGB1555ToUVRow_Any_MMI, ARGB1555ToUVRow_MMI, 0, 2, 15)
#endif
#ifdef HAS_ARGB1555TOUVROW_LSX #ifdef HAS_ARGB1555TOUVROW_LSX
ANY12S(ARGB1555ToUVRow_Any_LSX, ARGB1555ToUVRow_LSX, 0, 2, 15) ANY12S(ARGB1555ToUVRow_Any_LSX, ARGB1555ToUVRow_LSX, 0, 2, 15)
#endif #endif
#ifdef HAS_ARGB4444TOUVROW_NEON #ifdef HAS_ARGB4444TOUVROW_NEON
ANY12S(ARGB4444ToUVRow_Any_NEON, ARGB4444ToUVRow_NEON, 0, 2, 15) ANY12S(ARGB4444ToUVRow_Any_NEON, ARGB4444ToUVRow_NEON, 0, 2, 15)
#endif #endif
#ifdef HAS_ARGB4444TOUVROW_MMI
ANY12S(ARGB4444ToUVRow_Any_MMI, ARGB4444ToUVRow_MMI, 0, 2, 15)
#endif
#ifdef HAS_YUY2TOUVROW_NEON #ifdef HAS_YUY2TOUVROW_NEON
ANY12S(YUY2ToUVRow_Any_NEON, YUY2ToUVRow_NEON, 1, 4, 15) ANY12S(YUY2ToUVRow_Any_NEON, YUY2ToUVRow_NEON, 1, 4, 15)
#endif #endif
@ -2233,9 +2017,6 @@ ANY12S(UYVYToUVRow_Any_NEON, UYVYToUVRow_NEON, 1, 4, 15)
#ifdef HAS_YUY2TOUVROW_MSA #ifdef HAS_YUY2TOUVROW_MSA
ANY12S(YUY2ToUVRow_Any_MSA, YUY2ToUVRow_MSA, 1, 4, 31) ANY12S(YUY2ToUVRow_Any_MSA, YUY2ToUVRow_MSA, 1, 4, 31)
#endif #endif
#ifdef HAS_YUY2TOUVROW_MMI
ANY12S(YUY2ToUVRow_Any_MMI, YUY2ToUVRow_MMI, 1, 4, 15)
#endif
#ifdef HAS_YUY2TOUVROW_LASX #ifdef HAS_YUY2TOUVROW_LASX
ANY12S(YUY2ToUVRow_Any_LASX, YUY2ToUVRow_LASX, 1, 4, 31) ANY12S(YUY2ToUVRow_Any_LASX, YUY2ToUVRow_LASX, 1, 4, 31)
#endif #endif
@ -2245,9 +2026,6 @@ ANY12S(UYVYToUVRow_Any_MSA, UYVYToUVRow_MSA, 1, 4, 31)
#ifdef HAS_UYVYTOUVROW_LASX #ifdef HAS_UYVYTOUVROW_LASX
ANY12S(UYVYToUVRow_Any_LASX, UYVYToUVRow_LASX, 1, 4, 31) ANY12S(UYVYToUVRow_Any_LASX, UYVYToUVRow_LASX, 1, 4, 31)
#endif #endif
#ifdef HAS_UYVYTOUVROW_MMI
ANY12S(UYVYToUVRow_Any_MMI, UYVYToUVRow_MMI, 1, 4, 15)
#endif
#undef ANY12S #undef ANY12S
// Any 1 to 1 with source stride (2 rows of source). Outputs UV plane. // Any 1 to 1 with source stride (2 rows of source). Outputs UV plane.

View File

@ -604,6 +604,29 @@ void SplitUVRow_NEON(const uint8_t* src_uv,
); );
} }
// Reads 16 byte Y's from tile and writes out 16 Y's.
// MM21 Y tiles are 16x32 so src_tile_stride = 512 bytes
// MM21 UV tiles are 8x16 so src_tile_stride = 256 bytes
// width measured in bytes so 8 UV = 16.
void DetileRow_NEON(const uint8_t* src,
ptrdiff_t src_tile_stride,
uint8_t* dst,
int width) {
asm volatile(
"1: \n"
"ld1 {v0.16b}, [%0], %3 \n" // load 16 bytes
"subs %w2, %w2, #16 \n" // 16 processed per loop
"prfm pldl1keep, [%0, 448] \n"
"st1 {v0.16b}, [%1], #16 \n" // store 16 bytes
"b.gt 1b \n"
: "+r"(src), // %0
"+r"(dst), // %1
"+r"(width) // %2
: "r"(src_tile_stride) // %3
: "cc", "memory", "v0" // Clobber List
);
}
#if LIBYUV_USE_ST2 #if LIBYUV_USE_ST2
// Reads 16 U's and V's and writes out 16 pairs of UV. // Reads 16 U's and V's and writes out 16 pairs of UV.
void MergeUVRow_NEON(const uint8_t* src_u, void MergeUVRow_NEON(const uint8_t* src_u,

View File

@ -104,21 +104,6 @@ static void ScalePlaneDown2(int src_width,
} }
} }
#endif #endif
#if defined(HAS_SCALEROWDOWN2_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ScaleRowDown2 =
filtering == kFilterNone
? ScaleRowDown2_Any_MMI
: (filtering == kFilterLinear ? ScaleRowDown2Linear_Any_MMI
: ScaleRowDown2Box_Any_MMI);
if (IS_ALIGNED(dst_width, 8)) {
ScaleRowDown2 = filtering == kFilterNone ? ScaleRowDown2_MMI
: (filtering == kFilterLinear
? ScaleRowDown2Linear_MMI
: ScaleRowDown2Box_MMI);
}
}
#endif
#if defined(HAS_SCALEROWDOWN2_MSA) #if defined(HAS_SCALEROWDOWN2_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ScaleRowDown2 = ScaleRowDown2 =
@ -200,14 +185,6 @@ static void ScalePlaneDown2_16(int src_width,
: ScaleRowDown2Box_16_SSE2); : ScaleRowDown2Box_16_SSE2);
} }
#endif #endif
#if defined(HAS_SCALEROWDOWN2_16_MMI)
if (TestCpuFlag(kCpuHasMMI) && IS_ALIGNED(dst_width, 4)) {
ScaleRowDown2 = filtering == kFilterNone ? ScaleRowDown2_16_MMI
: (filtering == kFilterLinear
? ScaleRowDown2Linear_16_MMI
: ScaleRowDown2Box_16_MMI);
}
#endif
if (filtering == kFilterLinear) { if (filtering == kFilterLinear) {
src_stride = 0; src_stride = 0;
@ -271,15 +248,6 @@ static void ScalePlaneDown4(int src_width,
} }
} }
#endif #endif
#if defined(HAS_SCALEROWDOWN4_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ScaleRowDown4 =
filtering ? ScaleRowDown4Box_Any_MMI : ScaleRowDown4_Any_MMI;
if (IS_ALIGNED(dst_width, 8)) {
ScaleRowDown4 = filtering ? ScaleRowDown4Box_MMI : ScaleRowDown4_MMI;
}
}
#endif
#if defined(HAS_SCALEROWDOWN4_MSA) #if defined(HAS_SCALEROWDOWN4_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ScaleRowDown4 = ScaleRowDown4 =
@ -341,11 +309,6 @@ static void ScalePlaneDown4_16(int src_width,
filtering ? ScaleRowDown4Box_16_SSE2 : ScaleRowDown4_16_SSE2; filtering ? ScaleRowDown4Box_16_SSE2 : ScaleRowDown4_16_SSE2;
} }
#endif #endif
#if defined(HAS_SCALEROWDOWN4_16_MMI)
if (TestCpuFlag(kCpuHasMMI) && IS_ALIGNED(dst_width, 8)) {
ScaleRowDown4 = filtering ? ScaleRowDown4Box_16_MMI : ScaleRowDown4_16_MMI;
}
#endif
if (filtering == kFilterLinear) { if (filtering == kFilterLinear) {
src_stride = 0; src_stride = 0;
@ -403,18 +366,6 @@ static void ScalePlaneDown34(int src_width,
} }
} }
#endif #endif
#if defined(HAS_SCALEROWDOWN34_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
if (!filtering) {
ScaleRowDown34_0 = ScaleRowDown34_Any_MMI;
ScaleRowDown34_1 = ScaleRowDown34_Any_MMI;
if (dst_width % 24 == 0) {
ScaleRowDown34_0 = ScaleRowDown34_MMI;
ScaleRowDown34_1 = ScaleRowDown34_MMI;
}
}
}
#endif
#if defined(HAS_SCALEROWDOWN34_MSA) #if defined(HAS_SCALEROWDOWN34_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
if (!filtering) { if (!filtering) {
@ -955,14 +906,6 @@ static void ScalePlaneBox(int src_width,
} }
} }
#endif #endif
#if defined(HAS_SCALEADDROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ScaleAddRow = ScaleAddRow_Any_MMI;
if (IS_ALIGNED(src_width, 8)) {
ScaleAddRow = ScaleAddRow_MMI;
}
}
#endif
#if defined(HAS_SCALEADDROW_MSA) #if defined(HAS_SCALEADDROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ScaleAddRow = ScaleAddRow_Any_MSA; ScaleAddRow = ScaleAddRow_Any_MSA;
@ -1034,11 +977,6 @@ static void ScalePlaneBox_16(int src_width,
} }
#endif #endif
#if defined(HAS_SCALEADDROW_16_MMI)
if (TestCpuFlag(kCpuHasMMI) && IS_ALIGNED(src_width, 4)) {
ScaleAddRow = ScaleAddRow_16_MMI;
}
#endif
for (j = 0; j < dst_height; ++j) { for (j = 0; j < dst_height; ++j) {
int boxheight; int boxheight;
int iy = y >> 16; int iy = y >> 16;
@ -1115,14 +1053,6 @@ void ScalePlaneBilinearDown(int src_width,
} }
} }
#endif #endif
#if defined(HAS_INTERPOLATEROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
InterpolateRow = InterpolateRow_Any_MMI;
if (IS_ALIGNED(src_width, 16)) {
InterpolateRow = InterpolateRow_MMI;
}
}
#endif
#if defined(HAS_INTERPOLATEROW_MSA) #if defined(HAS_INTERPOLATEROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
InterpolateRow = InterpolateRow_Any_MSA; InterpolateRow = InterpolateRow_Any_MSA;
@ -1373,11 +1303,6 @@ void ScalePlaneBilinearUp(int src_width,
if (TestCpuFlag(kCpuHasSSE2) && IS_ALIGNED(dst_width, 8)) { if (TestCpuFlag(kCpuHasSSE2) && IS_ALIGNED(dst_width, 8)) {
ScaleFilterCols = ScaleColsUp2_SSE2; ScaleFilterCols = ScaleColsUp2_SSE2;
} }
#endif
#if defined(HAS_SCALECOLS_MMI)
if (TestCpuFlag(kCpuHasMMI) && IS_ALIGNED(dst_width, 8)) {
ScaleFilterCols = ScaleColsUp2_MMI;
}
#endif #endif
} }
@ -1826,11 +1751,6 @@ void ScalePlaneBilinearUp_16(int src_width,
if (TestCpuFlag(kCpuHasSSE2) && IS_ALIGNED(dst_width, 8)) { if (TestCpuFlag(kCpuHasSSE2) && IS_ALIGNED(dst_width, 8)) {
ScaleFilterCols = ScaleColsUp2_16_SSE2; ScaleFilterCols = ScaleColsUp2_16_SSE2;
} }
#endif
#if defined(HAS_SCALECOLS_16_MMI)
if (TestCpuFlag(kCpuHasMMI) && IS_ALIGNED(dst_width, 8)) {
ScaleFilterCols = ScaleColsUp2_16_MMI;
}
#endif #endif
} }
@ -1916,11 +1836,6 @@ static void ScalePlaneSimple(int src_width,
if (TestCpuFlag(kCpuHasSSE2) && IS_ALIGNED(dst_width, 8)) { if (TestCpuFlag(kCpuHasSSE2) && IS_ALIGNED(dst_width, 8)) {
ScaleCols = ScaleColsUp2_SSE2; ScaleCols = ScaleColsUp2_SSE2;
} }
#endif
#if defined(HAS_SCALECOLS_MMI)
if (TestCpuFlag(kCpuHasMMI) && IS_ALIGNED(dst_width, 8)) {
ScaleCols = ScaleColsUp2_MMI;
}
#endif #endif
} }
@ -1958,11 +1873,6 @@ static void ScalePlaneSimple_16(int src_width,
if (TestCpuFlag(kCpuHasSSE2) && IS_ALIGNED(dst_width, 8)) { if (TestCpuFlag(kCpuHasSSE2) && IS_ALIGNED(dst_width, 8)) {
ScaleCols = ScaleColsUp2_16_SSE2; ScaleCols = ScaleColsUp2_16_SSE2;
} }
#endif
#if defined(HAS_SCALECOLS_16_MMI)
if (TestCpuFlag(kCpuHasMMI) && IS_ALIGNED(dst_width, 8)) {
ScaleCols = ScaleColsUp2_16_MMI;
}
#endif #endif
} }

View File

@ -152,27 +152,6 @@ SDANY(ScaleRowDown2Box_Any_MSA,
1, 1,
31) 31)
#endif #endif
#ifdef HAS_SCALEROWDOWN2_MMI
SDANY(ScaleRowDown2_Any_MMI, ScaleRowDown2_MMI, ScaleRowDown2_C, 2, 1, 7)
SDANY(ScaleRowDown2Linear_Any_MMI,
ScaleRowDown2Linear_MMI,
ScaleRowDown2Linear_C,
2,
1,
7)
SDANY(ScaleRowDown2Box_Any_MMI,
ScaleRowDown2Box_MMI,
ScaleRowDown2Box_C,
2,
1,
7)
SDODD(ScaleRowDown2Box_Odd_MMI,
ScaleRowDown2Box_MMI,
ScaleRowDown2Box_Odd_C,
2,
1,
7)
#endif
#ifdef HAS_SCALEROWDOWN2_LSX #ifdef HAS_SCALEROWDOWN2_LSX
SDANY(ScaleRowDown2_Any_LSX, ScaleRowDown2_LSX, ScaleRowDown2_C, 2, 1, 31) SDANY(ScaleRowDown2_Any_LSX, ScaleRowDown2_LSX, ScaleRowDown2_C, 2, 1, 31)
SDANY(ScaleRowDown2Linear_Any_LSX, SDANY(ScaleRowDown2Linear_Any_LSX,
@ -224,15 +203,6 @@ SDANY(ScaleRowDown4Box_Any_MSA,
1, 1,
15) 15)
#endif #endif
#ifdef HAS_SCALEROWDOWN4_MMI
SDANY(ScaleRowDown4_Any_MMI, ScaleRowDown4_MMI, ScaleRowDown4_C, 4, 1, 7)
SDANY(ScaleRowDown4Box_Any_MMI,
ScaleRowDown4Box_MMI,
ScaleRowDown4Box_C,
4,
1,
7)
#endif
#ifdef HAS_SCALEROWDOWN4_LSX #ifdef HAS_SCALEROWDOWN4_LSX
SDANY(ScaleRowDown4_Any_LSX, ScaleRowDown4_LSX, ScaleRowDown4_C, 4, 1, 15) SDANY(ScaleRowDown4_Any_LSX, ScaleRowDown4_LSX, ScaleRowDown4_C, 4, 1, 15)
SDANY(ScaleRowDown4Box_Any_LSX, SDANY(ScaleRowDown4Box_Any_LSX,
@ -322,14 +292,6 @@ SDANY(ScaleRowDown34_1_Box_Any_LSX,
1, 1,
47) 47)
#endif #endif
#ifdef HAS_SCALEROWDOWN34_MMI
SDANY(ScaleRowDown34_Any_MMI,
ScaleRowDown34_MMI,
ScaleRowDown34_C,
4 / 3,
1,
23)
#endif
#ifdef HAS_SCALEROWDOWN38_SSSE3 #ifdef HAS_SCALEROWDOWN38_SSSE3
SDANY(ScaleRowDown38_Any_SSSE3, SDANY(ScaleRowDown38_Any_SSSE3,
ScaleRowDown38_SSSE3, ScaleRowDown38_SSSE3,
@ -471,26 +433,6 @@ SDANY(ScaleARGBRowDown2Box_Any_MSA,
4, 4,
3) 3)
#endif #endif
#ifdef HAS_SCALEARGBROWDOWN2_MMI
SDANY(ScaleARGBRowDown2_Any_MMI,
ScaleARGBRowDown2_MMI,
ScaleARGBRowDown2_C,
2,
4,
1)
SDANY(ScaleARGBRowDown2Linear_Any_MMI,
ScaleARGBRowDown2Linear_MMI,
ScaleARGBRowDown2Linear_C,
2,
4,
1)
SDANY(ScaleARGBRowDown2Box_Any_MMI,
ScaleARGBRowDown2Box_MMI,
ScaleARGBRowDown2Box_C,
2,
4,
1)
#endif
#ifdef HAS_SCALEARGBROWDOWN2_LSX #ifdef HAS_SCALEARGBROWDOWN2_LSX
SDANY(ScaleARGBRowDown2_Any_LSX, SDANY(ScaleARGBRowDown2_Any_LSX,
ScaleARGBRowDown2_LSX, ScaleARGBRowDown2_LSX,
@ -562,18 +504,6 @@ SDAANY(ScaleARGBRowDownEvenBox_Any_MSA,
4, 4,
3) 3)
#endif #endif
#ifdef HAS_SCALEARGBROWDOWNEVEN_MMI
SDAANY(ScaleARGBRowDownEven_Any_MMI,
ScaleARGBRowDownEven_MMI,
ScaleARGBRowDownEven_C,
4,
1)
SDAANY(ScaleARGBRowDownEvenBox_Any_MMI,
ScaleARGBRowDownEvenBox_MMI,
ScaleARGBRowDownEvenBox_C,
4,
1)
#endif
#ifdef HAS_SCALEARGBROWDOWNEVEN_LSX #ifdef HAS_SCALEARGBROWDOWNEVEN_LSX
SDAANY(ScaleARGBRowDownEven_Any_LSX, SDAANY(ScaleARGBRowDownEven_Any_LSX,
ScaleARGBRowDownEven_LSX, ScaleARGBRowDownEven_LSX,
@ -629,9 +559,6 @@ SAROW(ScaleAddRow_Any_MSA, ScaleAddRow_MSA, 1, 2, 15)
#ifdef HAS_SCALEADDROW_LSX #ifdef HAS_SCALEADDROW_LSX
SAROW(ScaleAddRow_Any_LSX, ScaleAddRow_LSX, 1, 2, 15) SAROW(ScaleAddRow_Any_LSX, ScaleAddRow_LSX, 1, 2, 15)
#endif #endif
#ifdef HAS_SCALEADDROW_MMI
SAROW(ScaleAddRow_Any_MMI, ScaleAddRow_MMI, 1, 2, 7)
#endif
#undef SAANY #undef SAANY
#else #else
@ -658,9 +585,6 @@ SAANY(ScaleAddRow_Any_NEON, ScaleAddRow_NEON, ScaleAddRow_C, 15)
#ifdef HAS_SCALEADDROW_MSA #ifdef HAS_SCALEADDROW_MSA
SAANY(ScaleAddRow_Any_MSA, ScaleAddRow_MSA, ScaleAddRow_C, 15) SAANY(ScaleAddRow_Any_MSA, ScaleAddRow_MSA, ScaleAddRow_C, 15)
#endif #endif
#ifdef HAS_SCALEADDROW_MMI
SAANY(ScaleAddRow_Any_MMI, ScaleAddRow_MMI, ScaleAddRow_C, 7)
#endif
#ifdef HAS_SCALEADDROW_LSX #ifdef HAS_SCALEADDROW_LSX
SAANY(ScaleAddRow_Any_LSX, ScaleAddRow_LSX, ScaleAddRow_C, 15) SAANY(ScaleAddRow_Any_LSX, ScaleAddRow_LSX, ScaleAddRow_C, 15)
#endif #endif
@ -698,9 +622,6 @@ CANY(ScaleARGBCols_Any_MSA, ScaleARGBCols_MSA, ScaleARGBCols_C, 4, 3)
#ifdef HAS_SCALEARGBCOLS_LSX #ifdef HAS_SCALEARGBCOLS_LSX
CANY(ScaleARGBCols_Any_LSX, ScaleARGBCols_LSX, ScaleARGBCols_C, 4, 3) CANY(ScaleARGBCols_Any_LSX, ScaleARGBCols_LSX, ScaleARGBCols_C, 4, 3)
#endif #endif
#ifdef HAS_SCALEARGBCOLS_MMI
CANY(ScaleARGBCols_Any_MMI, ScaleARGBCols_MMI, ScaleARGBCols_C, 4, 0)
#endif
#ifdef HAS_SCALEARGBFILTERCOLS_NEON #ifdef HAS_SCALEARGBFILTERCOLS_NEON
CANY(ScaleARGBFilterCols_Any_NEON, CANY(ScaleARGBFilterCols_Any_NEON,
ScaleARGBFilterCols_NEON, ScaleARGBFilterCols_NEON,

View File

@ -95,22 +95,6 @@ static void ScaleARGBDown2(int src_width,
} }
} }
#endif #endif
#if defined(HAS_SCALEARGBROWDOWN2_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ScaleARGBRowDown2 =
filtering == kFilterNone
? ScaleARGBRowDown2_Any_MMI
: (filtering == kFilterLinear ? ScaleARGBRowDown2Linear_Any_MMI
: ScaleARGBRowDown2Box_Any_MMI);
if (IS_ALIGNED(dst_width, 2)) {
ScaleARGBRowDown2 =
filtering == kFilterNone
? ScaleARGBRowDown2_MMI
: (filtering == kFilterLinear ? ScaleARGBRowDown2Linear_MMI
: ScaleARGBRowDown2Box_MMI);
}
}
#endif
#if defined(HAS_SCALEARGBROWDOWN2_MSA) #if defined(HAS_SCALEARGBROWDOWN2_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ScaleARGBRowDown2 = ScaleARGBRowDown2 =
@ -259,16 +243,6 @@ static void ScaleARGBDownEven(int src_width,
} }
} }
#endif #endif
#if defined(HAS_SCALEARGBROWDOWNEVEN_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ScaleARGBRowDownEven = filtering ? ScaleARGBRowDownEvenBox_Any_MMI
: ScaleARGBRowDownEven_Any_MMI;
if (IS_ALIGNED(dst_width, 2)) {
ScaleARGBRowDownEven =
filtering ? ScaleARGBRowDownEvenBox_MMI : ScaleARGBRowDownEven_MMI;
}
}
#endif
#if defined(HAS_SCALEARGBROWDOWNEVEN_MSA) #if defined(HAS_SCALEARGBROWDOWNEVEN_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ScaleARGBRowDownEven = filtering ? ScaleARGBRowDownEvenBox_Any_MSA ScaleARGBRowDownEven = filtering ? ScaleARGBRowDownEvenBox_Any_MSA
@ -478,14 +452,6 @@ static void ScaleARGBBilinearUp(int src_width,
} }
} }
#endif #endif
#if defined(HAS_INTERPOLATEROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
InterpolateRow = InterpolateRow_Any_MMI;
if (IS_ALIGNED(dst_width, 2)) {
InterpolateRow = InterpolateRow_MMI;
}
}
#endif
#if defined(HAS_INTERPOLATEROW_MSA) #if defined(HAS_INTERPOLATEROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
InterpolateRow = InterpolateRow_Any_MSA; InterpolateRow = InterpolateRow_Any_MSA;
@ -548,14 +514,6 @@ static void ScaleARGBBilinearUp(int src_width,
} }
} }
#endif #endif
#if defined(HAS_SCALEARGBCOLS_MMI)
if (!filtering && TestCpuFlag(kCpuHasMMI)) {
ScaleARGBFilterCols = ScaleARGBCols_Any_MMI;
if (IS_ALIGNED(dst_width, 1)) {
ScaleARGBFilterCols = ScaleARGBCols_MMI;
}
}
#endif
#if defined(HAS_SCALEARGBCOLS_MSA) #if defined(HAS_SCALEARGBCOLS_MSA)
if (!filtering && TestCpuFlag(kCpuHasMSA)) { if (!filtering && TestCpuFlag(kCpuHasMSA)) {
ScaleARGBFilterCols = ScaleARGBCols_Any_MSA; ScaleARGBFilterCols = ScaleARGBCols_Any_MSA;
@ -578,11 +536,6 @@ static void ScaleARGBBilinearUp(int src_width,
if (TestCpuFlag(kCpuHasSSE2) && IS_ALIGNED(dst_width, 8)) { if (TestCpuFlag(kCpuHasSSE2) && IS_ALIGNED(dst_width, 8)) {
ScaleARGBFilterCols = ScaleARGBColsUp2_SSE2; ScaleARGBFilterCols = ScaleARGBColsUp2_SSE2;
} }
#endif
#if defined(HAS_SCALEARGBCOLSUP2_MMI)
if (TestCpuFlag(kCpuHasMMI) && IS_ALIGNED(dst_width, 4)) {
ScaleARGBFilterCols = ScaleARGBColsUp2_MMI;
}
#endif #endif
} }
@ -693,14 +646,6 @@ static void ScaleYUVToARGBBilinearUp(int src_width,
} }
} }
#endif #endif
#if defined(HAS_I422TOARGBROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
I422ToARGBRow = I422ToARGBRow_Any_MMI;
if (IS_ALIGNED(src_width, 4)) {
I422ToARGBRow = I422ToARGBRow_MMI;
}
}
#endif
#if defined(HAS_I422TOARGBROW_MSA) #if defined(HAS_I422TOARGBROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
I422ToARGBRow = I422ToARGBRow_Any_MSA; I422ToARGBRow = I422ToARGBRow_Any_MSA;
@ -811,14 +756,6 @@ static void ScaleYUVToARGBBilinearUp(int src_width,
} }
} }
#endif #endif
#if defined(HAS_SCALEARGBCOLS_MMI)
if (!filtering && TestCpuFlag(kCpuHasMMI)) {
ScaleARGBFilterCols = ScaleARGBCols_Any_MMI;
if (IS_ALIGNED(dst_width, 1)) {
ScaleARGBFilterCols = ScaleARGBCols_MMI;
}
}
#endif
#if defined(HAS_SCALEARGBCOLS_MSA) #if defined(HAS_SCALEARGBCOLS_MSA)
if (!filtering && TestCpuFlag(kCpuHasMSA)) { if (!filtering && TestCpuFlag(kCpuHasMSA)) {
ScaleARGBFilterCols = ScaleARGBCols_Any_MSA; ScaleARGBFilterCols = ScaleARGBCols_Any_MSA;
@ -841,11 +778,6 @@ static void ScaleYUVToARGBBilinearUp(int src_width,
if (TestCpuFlag(kCpuHasSSE2) && IS_ALIGNED(dst_width, 8)) { if (TestCpuFlag(kCpuHasSSE2) && IS_ALIGNED(dst_width, 8)) {
ScaleARGBFilterCols = ScaleARGBColsUp2_SSE2; ScaleARGBFilterCols = ScaleARGBColsUp2_SSE2;
} }
#endif
#if defined(HAS_SCALEARGBCOLSUP2_MMI)
if (TestCpuFlag(kCpuHasMMI) && IS_ALIGNED(dst_width, 4)) {
ScaleARGBFilterCols = ScaleARGBColsUp2_MMI;
}
#endif #endif
} }
@ -963,14 +895,6 @@ static void ScaleARGBSimple(int src_width,
} }
} }
#endif #endif
#if defined(HAS_SCALEARGBCOLS_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ScaleARGBCols = ScaleARGBCols_Any_MMI;
if (IS_ALIGNED(dst_width, 1)) {
ScaleARGBCols = ScaleARGBCols_MMI;
}
}
#endif
#if defined(HAS_SCALEARGBCOLS_MSA) #if defined(HAS_SCALEARGBCOLS_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ScaleARGBCols = ScaleARGBCols_Any_MSA; ScaleARGBCols = ScaleARGBCols_Any_MSA;
@ -993,11 +917,6 @@ static void ScaleARGBSimple(int src_width,
if (TestCpuFlag(kCpuHasSSE2) && IS_ALIGNED(dst_width, 8)) { if (TestCpuFlag(kCpuHasSSE2) && IS_ALIGNED(dst_width, 8)) {
ScaleARGBCols = ScaleARGBColsUp2_SSE2; ScaleARGBCols = ScaleARGBColsUp2_SSE2;
} }
#endif
#if defined(HAS_SCALEARGBCOLSUP2_MMI)
if (TestCpuFlag(kCpuHasMMI) && IS_ALIGNED(dst_width, 4)) {
ScaleARGBCols = ScaleARGBColsUp2_MMI;
}
#endif #endif
} }

View File

@ -1503,14 +1503,6 @@ void ScalePlaneVertical(int src_height,
} }
} }
#endif #endif
#if defined(HAS_INTERPOLATEROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
InterpolateRow = InterpolateRow_Any_MMI;
if (IS_ALIGNED(dst_width_bytes, 8)) {
InterpolateRow = InterpolateRow_MMI;
}
}
#endif
#if defined(HAS_INTERPOLATEROW_MSA) #if defined(HAS_INTERPOLATEROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
InterpolateRow = InterpolateRow_Any_MSA; InterpolateRow = InterpolateRow_Any_MSA;

View File

@ -147,22 +147,6 @@ static void ScaleUVDown2(int src_width,
} }
} }
#endif #endif
#if defined(HAS_SCALEUVROWDOWN2_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ScaleUVRowDown2 =
filtering == kFilterNone
? ScaleUVRowDown2_Any_MMI
: (filtering == kFilterLinear ? ScaleUVRowDown2Linear_Any_MMI
: ScaleUVRowDown2Box_Any_MMI);
if (IS_ALIGNED(dst_width, 2)) {
ScaleUVRowDown2 =
filtering == kFilterNone
? ScaleUVRowDown2_MMI
: (filtering == kFilterLinear ? ScaleUVRowDown2Linear_MMI
: ScaleUVRowDown2Box_MMI);
}
}
#endif
#if defined(HAS_SCALEUVROWDOWN2_MSA) #if defined(HAS_SCALEUVROWDOWN2_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ScaleUVRowDown2 = ScaleUVRowDown2 =
@ -316,16 +300,6 @@ static void ScaleUVDownEven(int src_width,
} }
} }
#endif #endif
#if defined(HAS_SCALEUVROWDOWNEVEN_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ScaleUVRowDownEven =
filtering ? ScaleUVRowDownEvenBox_Any_MMI : ScaleUVRowDownEven_Any_MMI;
if (IS_ALIGNED(dst_width, 2)) {
ScaleUVRowDownEven =
filtering ? ScaleUVRowDownEvenBox_MMI : ScaleUVRowDownEven_MMI;
}
}
#endif
#if defined(HAS_SCALEUVROWDOWNEVEN_MSA) #if defined(HAS_SCALEUVROWDOWNEVEN_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ScaleUVRowDownEven = ScaleUVRowDownEven =
@ -521,14 +495,6 @@ static void ScaleUVBilinearUp(int src_width,
} }
} }
#endif #endif
#if defined(HAS_INTERPOLATEROW_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
InterpolateRow = InterpolateRow_Any_MMI;
if (IS_ALIGNED(dst_width, 4)) {
InterpolateRow = InterpolateRow_MMI;
}
}
#endif
#if defined(HAS_INTERPOLATEROW_MSA) #if defined(HAS_INTERPOLATEROW_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
InterpolateRow = InterpolateRow_Any_MSA; InterpolateRow = InterpolateRow_Any_MSA;
@ -582,14 +548,6 @@ static void ScaleUVBilinearUp(int src_width,
} }
} }
#endif #endif
#if defined(HAS_SCALEUVCOLS_MMI)
if (!filtering && TestCpuFlag(kCpuHasMMI)) {
ScaleUVFilterCols = ScaleUVCols_Any_MMI;
if (IS_ALIGNED(dst_width, 1)) {
ScaleUVFilterCols = ScaleUVCols_MMI;
}
}
#endif
#if defined(HAS_SCALEUVCOLS_MSA) #if defined(HAS_SCALEUVCOLS_MSA)
if (!filtering && TestCpuFlag(kCpuHasMSA)) { if (!filtering && TestCpuFlag(kCpuHasMSA)) {
ScaleUVFilterCols = ScaleUVCols_Any_MSA; ScaleUVFilterCols = ScaleUVCols_Any_MSA;
@ -604,11 +562,6 @@ static void ScaleUVBilinearUp(int src_width,
if (TestCpuFlag(kCpuHasSSSE3) && IS_ALIGNED(dst_width, 8)) { if (TestCpuFlag(kCpuHasSSSE3) && IS_ALIGNED(dst_width, 8)) {
ScaleUVFilterCols = ScaleUVColsUp2_SSSE3; ScaleUVFilterCols = ScaleUVColsUp2_SSSE3;
} }
#endif
#if defined(HAS_SCALEUVCOLSUP2_MMI)
if (TestCpuFlag(kCpuHasMMI) && IS_ALIGNED(dst_width, 4)) {
ScaleUVFilterCols = ScaleUVColsUp2_MMI;
}
#endif #endif
} }
@ -914,14 +867,6 @@ static void ScaleUVSimple(int src_width,
} }
} }
#endif #endif
#if defined(HAS_SCALEUVCOLS_MMI)
if (TestCpuFlag(kCpuHasMMI)) {
ScaleUVCols = ScaleUVCols_Any_MMI;
if (IS_ALIGNED(dst_width, 1)) {
ScaleUVCols = ScaleUVCols_MMI;
}
}
#endif
#if defined(HAS_SCALEUVCOLS_MSA) #if defined(HAS_SCALEUVCOLS_MSA)
if (TestCpuFlag(kCpuHasMSA)) { if (TestCpuFlag(kCpuHasMSA)) {
ScaleUVCols = ScaleUVCols_Any_MSA; ScaleUVCols = ScaleUVCols_Any_MSA;
@ -936,11 +881,6 @@ static void ScaleUVSimple(int src_width,
if (TestCpuFlag(kCpuHasSSSE3) && IS_ALIGNED(dst_width, 8)) { if (TestCpuFlag(kCpuHasSSSE3) && IS_ALIGNED(dst_width, 8)) {
ScaleUVCols = ScaleUVColsUp2_SSSE3; ScaleUVCols = ScaleUVColsUp2_SSSE3;
} }
#endif
#if defined(HAS_SCALEUVCOLSUP2_MMI)
if (TestCpuFlag(kCpuHasMMI) && IS_ALIGNED(dst_width, 4)) {
ScaleUVCols = ScaleUVColsUp2_MMI;
}
#endif #endif
} }

View File

@ -69,8 +69,6 @@ TEST_F(LibYUVBaseTest, TestCpuHas) {
printf("Has MIPS %d\n", has_mips); printf("Has MIPS %d\n", has_mips);
int has_msa = TestCpuFlag(kCpuHasMSA); int has_msa = TestCpuFlag(kCpuHasMSA);
printf("Has MSA %d\n", has_msa); printf("Has MSA %d\n", has_msa);
int has_mmi = TestCpuFlag(kCpuHasMMI);
printf("Has MMI %d\n", has_mmi);
#endif #endif
#if defined(__loongarch__) #if defined(__loongarch__)
@ -253,18 +251,13 @@ TEST_F(LibYUVBaseTest, TestLinuxNeon) {
#endif #endif
} }
TEST_F(LibYUVBaseTest, TestLinuxMipsMsaMmi) { TEST_F(LibYUVBaseTest, TestLinuxMipsMsa) {
if (FileExists("../../unit_test/testdata/mips.txt")) { if (FileExists("../../unit_test/testdata/mips.txt")) {
printf("Note: testing to load \"../../unit_test/testdata/mips.txt\"\n"); printf("Note: testing to load \"../../unit_test/testdata/mips.txt\"\n");
EXPECT_EQ(0, MipsCpuCaps("../../unit_test/testdata/mips.txt")); EXPECT_EQ(0, MipsCpuCaps("../../unit_test/testdata/mips.txt"));
EXPECT_EQ(kCpuHasMMI,
MipsCpuCaps("../../unit_test/testdata/mips_loongson3.txt"));
EXPECT_EQ(kCpuHasMMI,
MipsCpuCaps("../../unit_test/testdata/mips_loongson_mmi.txt"));
EXPECT_EQ(kCpuHasMSA, MipsCpuCaps("../../unit_test/testdata/mips_msa.txt")); EXPECT_EQ(kCpuHasMSA, MipsCpuCaps("../../unit_test/testdata/mips_msa.txt"));
EXPECT_EQ(kCpuHasMMI | kCpuHasMSA, EXPECT_EQ(kCpuHasMSA, MipsCpuCaps("../../unit_test/testdata/mips_loongson2k.txt"));
MipsCpuCaps("../../unit_test/testdata/mips_loongson2k.txt"));
} else { } else {
printf("WARNING: unable to load \"../../unit_test/testdata/mips.txt\"\n"); printf("WARNING: unable to load \"../../unit_test/testdata/mips.txt\"\n");
} }

View File

@ -1221,10 +1221,6 @@ extern "C" void ScaleRowUp2_16_NEON(const uint16_t* src_ptr,
ptrdiff_t src_stride, ptrdiff_t src_stride,
uint16_t* dst, uint16_t* dst,
int dst_width); int dst_width);
extern "C" void ScaleRowUp2_16_MMI(const uint16_t* src_ptr,
ptrdiff_t src_stride,
uint16_t* dst,
int dst_width);
extern "C" void ScaleRowUp2_16_C(const uint16_t* src_ptr, extern "C" void ScaleRowUp2_16_C(const uint16_t* src_ptr,
ptrdiff_t src_stride, ptrdiff_t src_stride,
uint16_t* dst, uint16_t* dst,
@ -1251,13 +1247,6 @@ TEST_F(LibYUVScaleTest, TestScaleRowUp2_16) {
} else { } else {
ScaleRowUp2_16_C(&orig_pixels[0], 640, &dst_pixels_opt[0], 1280); ScaleRowUp2_16_C(&orig_pixels[0], 640, &dst_pixels_opt[0], 1280);
} }
#elif !defined(LIBYUV_DISABLE_MMI) && defined(_MIPS_ARCH_LOONGSON3A)
int has_mmi = TestCpuFlag(kCpuHasMMI);
if (has_mmi) {
ScaleRowUp2_16_MMI(&orig_pixels[0], 640, &dst_pixels_opt[0], 1280);
} else {
ScaleRowUp2_16_C(&orig_pixels[0], 640, &dst_pixels_opt[0], 1280);
}
#else #else
ScaleRowUp2_16_C(&orig_pixels[0], 640, &dst_pixels_opt[0], 1280); ScaleRowUp2_16_C(&orig_pixels[0], 640, &dst_pixels_opt[0], 1280);
#endif #endif

View File

@ -77,9 +77,6 @@ int TestCpuEnv(int cpu_info) {
if (TestEnv("LIBYUV_DISABLE_MSA")) { if (TestEnv("LIBYUV_DISABLE_MSA")) {
cpu_info &= ~libyuv::kCpuHasMSA; cpu_info &= ~libyuv::kCpuHasMSA;
} }
if (TestEnv("LIBYUV_DISABLE_MMI")) {
cpu_info &= ~libyuv::kCpuHasMMI;
}
#endif #endif
#if defined(__longarch__) && defined(__linux__) #if defined(__longarch__) && defined(__linux__)
if (TestEnv("LIBYUV_DISABLE_LSX")) { if (TestEnv("LIBYUV_DISABLE_LSX")) {

View File

@ -74,8 +74,6 @@ int main(int argc, const char* argv[]) {
if (has_mips) { if (has_mips) {
int has_msa = TestCpuFlag(kCpuHasMSA); int has_msa = TestCpuFlag(kCpuHasMSA);
printf("Has MSA %x\n", has_msa); printf("Has MSA %x\n", has_msa);
int has_mmi = TestCpuFlag(kCpuHasMMI);
printf("Has MMI %x\n", has_mmi);
} }
if (has_loongarch) { if (has_loongarch) {
int has_lsx = TestCpuFlag(kCpuHasLSX); int has_lsx = TestCpuFlag(kCpuHasLSX);