diff options
author | Frank Barchard <fbarchard@google.com> | 2022-09-20 15:48:12 -0700 |
---|---|---|
committer | Frank Barchard <fbarchard@chromium.org> | 2022-09-20 23:07:53 +0000 |
commit | f9fda6e7d819c07a684ba6bc97cbf0e257bbcb37 (patch) | |
tree | 822975c181a302ceaf8a74142d154e3cdc595ebe /source/row_common.cc | |
parent | 8fc02134c838294ca1fe1ee60e24111ad311cfb1 (diff) | |
download | libyuv-f9fda6e7d819c07a684ba6bc97cbf0e257bbcb37.tar.gz |
Fix shift amount for SSSE3 assembly for I012 format conversions
Bug: libyuv:938, libyuv:942
Change-Id: I6fb6e7e17fa941785e398bc630f465baf72fcabd
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3906091
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Wan-Teh Chang <wtc@google.com>
Diffstat (limited to 'source/row_common.cc')
-rw-r--r-- | source/row_common.cc | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/source/row_common.cc b/source/row_common.cc index 20eb48ec..50be6287 100644 --- a/source/row_common.cc +++ b/source/row_common.cc @@ -4052,30 +4052,6 @@ void I422ToARGB4444Row_AVX2(const uint8_t* src_y, } #endif -// SSSE3 implemented in row_gcc.cc row_win.cc for 32 bit -// For row_win Visual C (not clangcl) -#if defined(HAS_I422TORGB24ROW_SSSE3) && defined(_M_X64) && !defined(__clang__) -void I422ToRGB24Row_SSSE3(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_rgb24, - const struct YuvConstants* yuvconstants, - int width) { - // Row buffer for intermediate ARGB pixels. - SIMD_ALIGNED(uint8_t row[MAXTWIDTH * 4]); - while (width > 0) { - int twidth = width > MAXTWIDTH ? MAXTWIDTH : width; - I422ToARGBRow_SSSE3(src_y, src_u, src_v, row, yuvconstants, twidth); - ARGBToRGB24Row_SSSE3(row, dst_rgb24, twidth); - src_y += twidth; - src_u += twidth / 2; - src_v += twidth / 2; - dst_rgb24 += twidth * 3; - width -= twidth; - } -} -#endif - #if defined(HAS_I422TORGB24ROW_AVX2) void I422ToRGB24Row_AVX2(const uint8_t* src_y, const uint8_t* src_u, @@ -4102,29 +4078,6 @@ void I422ToRGB24Row_AVX2(const uint8_t* src_y, } #endif -// For row_win Visual C (not clangcl) -#if defined(HAS_I444TORGB24ROW_SSSE3) && defined(_M_X64) && !defined(__clang__) -void I444ToRGB24Row_SSSE3(const uint8_t* src_y, - const uint8_t* src_u, - const uint8_t* src_v, - uint8_t* dst_rgb24, - const struct YuvConstants* yuvconstants, - int width) { - // Row buffer for intermediate ARGB pixels. - SIMD_ALIGNED(uint8_t row[MAXTWIDTH * 4]); - while (width > 0) { - int twidth = width > MAXTWIDTH ? MAXTWIDTH : width; - I444ToARGBRow_SSSE3(src_y, src_u, src_v, row, yuvconstants, twidth); - ARGBToRGB24Row_SSSE3(row, dst_rgb24, twidth); - src_y += twidth; - src_u += twidth; - src_v += twidth; - dst_rgb24 += twidth * 3; - width -= twidth; - } -} -#endif - #if defined(HAS_I444TORGB24ROW_AVX2) void I444ToRGB24Row_AVX2(const uint8_t* src_y, const uint8_t* src_u, |