diff options
author | Frank Barchard <fbarchard@google.com> | 2022-08-01 12:49:02 -0700 |
---|---|---|
committer | Frank Barchard <fbarchard@chromium.org> | 2022-08-01 22:54:48 +0000 |
commit | b028453ba61043a560298acae28eb813ea9bc67d (patch) | |
tree | ef1915fb359491eb88c283885baa6ba033a548e2 /include/libyuv/scale_row.h | |
parent | fe8c78b61aaf5a8cb2045e8a6231daf2d904c1a0 (diff) | |
download | libyuv-b028453ba61043a560298acae28eb813ea9bc67d.tar.gz |
Disable bilinear 16 bit scale up for SSE2
- Undefine HAS_SCALEROWUP2_BILINEAR_16_SSE2
- Save XMM7 in ScaleRowUp2_Bilinear_16_SSE2().
- Rename HAS_SCALEROWUP2LINEAR_xxx to HAS_SCALEROWUP2_LINEAR_xxx
- DetileSplitUVRow_C() is implemented using SplitUVRow_C().
- Changes to unit_test/planar_test.cc.
Bug: libyuv:882
Change-Id: I0a8e8e5fb43bdf58ded87244e802343eacb789f2
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3795063
Reviewed-by: Wan-Teh Chang <wtc@google.com>
Diffstat (limited to 'include/libyuv/scale_row.h')
-rw-r--r-- | include/libyuv/scale_row.h | 65 |
1 files changed, 33 insertions, 32 deletions
diff --git a/include/libyuv/scale_row.h b/include/libyuv/scale_row.h index 5c474b0c..a96078b3 100644 --- a/include/libyuv/scale_row.h +++ b/include/libyuv/scale_row.h @@ -76,18 +76,19 @@ extern "C" { // TODO(fbarchard): Port to Visual C #if !defined(LIBYUV_DISABLE_X86) && (defined(__x86_64__) || defined(__i386__)) #define HAS_SCALEUVROWDOWN2BOX_SSSE3 -#define HAS_SCALEROWUP2LINEAR_SSE2 -#define HAS_SCALEROWUP2LINEAR_SSSE3 -#define HAS_SCALEROWUP2BILINEAR_SSE2 -#define HAS_SCALEROWUP2BILINEAR_SSSE3 -#define HAS_SCALEROWUP2LINEAR_12_SSSE3 -#define HAS_SCALEROWUP2BILINEAR_12_SSSE3 -#define HAS_SCALEROWUP2LINEAR_16_SSE2 -#define HAS_SCALEROWUP2BILINEAR_16_SSE2 -#define HAS_SCALEUVROWUP2LINEAR_SSSE3 -#define HAS_SCALEUVROWUP2BILINEAR_SSSE3 -#define HAS_SCALEUVROWUP2LINEAR_16_SSE41 -#define HAS_SCALEUVROWUP2BILINEAR_16_SSE41 +#define HAS_SCALEROWUP2_LINEAR_SSE2 +#define HAS_SCALEROWUP2_LINEAR_SSSE3 +#define HAS_SCALEROWUP2_BILINEAR_SSE2 +#define HAS_SCALEROWUP2_BILINEAR_SSSE3 +#define HAS_SCALEROWUP2_LINEAR_12_SSSE3 +#define HAS_SCALEROWUP2_BILINEAR_12_SSSE3 +#define HAS_SCALEROWUP2_LINEAR_16_SSE2 +// TODO(libyuv:882): Fix SSE2 version of BILINEAR +//#define HAS_SCALEROWUP2_BILINEAR_16_SSE2 +#define HAS_SCALEUVROWUP2_LINEAR_SSSE3 +#define HAS_SCALEUVROWUP2_BILINEAR_SSSE3 +#define HAS_SCALEUVROWUP2_LINEAR_16_SSE41 +#define HAS_SCALEUVROWUP2_BILINEAR_16_SSE41 #endif // The following are available for gcc/clang x86 platforms, but @@ -97,16 +98,16 @@ extern "C" { (defined(__x86_64__) || defined(__i386__)) && \ (defined(CLANG_HAS_AVX2) || defined(GCC_HAS_AVX2)) #define HAS_SCALEUVROWDOWN2BOX_AVX2 -#define HAS_SCALEROWUP2LINEAR_AVX2 -#define HAS_SCALEROWUP2BILINEAR_AVX2 -#define HAS_SCALEROWUP2LINEAR_12_AVX2 -#define HAS_SCALEROWUP2BILINEAR_12_AVX2 -#define HAS_SCALEROWUP2LINEAR_16_AVX2 -#define HAS_SCALEROWUP2BILINEAR_16_AVX2 -#define HAS_SCALEUVROWUP2LINEAR_AVX2 -#define HAS_SCALEUVROWUP2BILINEAR_AVX2 -#define HAS_SCALEUVROWUP2LINEAR_16_AVX2 -#define HAS_SCALEUVROWUP2BILINEAR_16_AVX2 +#define HAS_SCALEROWUP2_LINEAR_AVX2 +#define HAS_SCALEROWUP2_BILINEAR_AVX2 +#define HAS_SCALEROWUP2_LINEAR_12_AVX2 +#define HAS_SCALEROWUP2_BILINEAR_12_AVX2 +#define HAS_SCALEROWUP2_LINEAR_16_AVX2 +#define HAS_SCALEROWUP2_BILINEAR_16_AVX2 +#define HAS_SCALEUVROWUP2_LINEAR_AVX2 +#define HAS_SCALEUVROWUP2_BILINEAR_AVX2 +#define HAS_SCALEUVROWUP2_LINEAR_16_AVX2 +#define HAS_SCALEUVROWUP2_BILINEAR_16_AVX2 #endif // The following are available on all x86 platforms, but @@ -135,16 +136,16 @@ extern "C" { #define HAS_SCALEROWDOWN4_NEON #define HAS_SCALEUVROWDOWN2BOX_NEON #define HAS_SCALEUVROWDOWNEVEN_NEON -#define HAS_SCALEROWUP2LINEAR_NEON -#define HAS_SCALEROWUP2BILINEAR_NEON -#define HAS_SCALEROWUP2LINEAR_12_NEON -#define HAS_SCALEROWUP2BILINEAR_12_NEON -#define HAS_SCALEROWUP2LINEAR_16_NEON -#define HAS_SCALEROWUP2BILINEAR_16_NEON -#define HAS_SCALEUVROWUP2LINEAR_NEON -#define HAS_SCALEUVROWUP2BILINEAR_NEON -#define HAS_SCALEUVROWUP2LINEAR_16_NEON -#define HAS_SCALEUVROWUP2BILINEAR_16_NEON +#define HAS_SCALEROWUP2_LINEAR_NEON +#define HAS_SCALEROWUP2_BILINEAR_NEON +#define HAS_SCALEROWUP2_LINEAR_12_NEON +#define HAS_SCALEROWUP2_BILINEAR_12_NEON +#define HAS_SCALEROWUP2_LINEAR_16_NEON +#define HAS_SCALEROWUP2_BILINEAR_16_NEON +#define HAS_SCALEUVROWUP2_LINEAR_NEON +#define HAS_SCALEUVROWUP2_BILINEAR_NEON +#define HAS_SCALEUVROWUP2_LINEAR_16_NEON +#define HAS_SCALEUVROWUP2_BILINEAR_16_NEON #endif #if !defined(LIBYUV_DISABLE_MSA) && defined(__mips_msa) |