aboutsummaryrefslogtreecommitdiff
path: root/include/libyuv/scale_row.h
diff options
context:
space:
mode:
authorFrank Barchard <fbarchard@google.com>2022-08-01 12:49:02 -0700
committerFrank Barchard <fbarchard@chromium.org>2022-08-01 22:54:48 +0000
commitb028453ba61043a560298acae28eb813ea9bc67d (patch)
treeef1915fb359491eb88c283885baa6ba033a548e2 /include/libyuv/scale_row.h
parentfe8c78b61aaf5a8cb2045e8a6231daf2d904c1a0 (diff)
downloadlibyuv-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.h65
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)