aboutsummaryrefslogtreecommitdiff
path: root/source/row_common.cc
diff options
context:
space:
mode:
authorFrank Barchard <fbarchard@google.com>2021-05-03 21:32:46 -0700
committerFrank Barchard <fbarchard@chromium.org>2021-05-04 19:03:22 +0000
commit5b3351bd07e83f9f9a4cb6629561331ecdb7c546 (patch)
tree18981f5d836c752be834501afc9193d982635c11 /source/row_common.cc
parent2f0cbb9ede2525b8a1db3bce2501a0819140108b (diff)
downloadlibyuv-5b3351bd07e83f9f9a4cb6629561331ecdb7c546.tar.gz
Fix ARGB1555ToI420 odd width bug in C code.
Was [ RUN ] LibYUVConvertTest.ARGB1555ToI420_Any third_party/libyuv/files/unit_test/convert_test.cc:1139: Failure Expected equality of these values: dst_uv_c[i * kStrideUV + j] Which is: '\x8B' (139) dst_uv_opt[i * kStrideUV + j] Which is: '\x92' (146) third_party/libyuv/files/unit_test/convert_test.cc:1139: Failure [ FAILED ] LibYUVConvertTest.ARGB1555ToI420_Any Now [ RUN ] LibYUVConvertTest.ARGB1555ToI420_Any [ OK ] LibYUVConvertTest.ARGB1555ToI420_Any (0 ms) Bug: libyuv:894, b/155722711 Change-Id: I12dcacd0ecfff4ede5693a2554e9bb10dc8586c1 Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2870484 Reviewed-by: Frank Barchard <fbarchard@chromium.org> Reviewed-by: richard winterton <rrwinterton@gmail.com>
Diffstat (limited to 'source/row_common.cc')
-rw-r--r--source/row_common.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/source/row_common.cc b/source/row_common.cc
index c6e41241..517b7056 100644
--- a/source/row_common.cc
+++ b/source/row_common.cc
@@ -965,7 +965,7 @@ void ARGB1555ToUVRow_C(const uint8_t* src_argb1555,
uint8_t r0 = (src_argb1555[1] & 0x7c) >> 2;
uint8_t b2 = next_argb1555[0] & 0x1f;
uint8_t g2 = (next_argb1555[0] >> 5) | ((next_argb1555[1] & 0x03) << 3);
- uint8_t r2 = next_argb1555[1] >> 3;
+ uint8_t r2 = (next_argb1555[1] & 0x7c) >> 2;
b0 = (b0 << 3) | (b0 >> 2);
g0 = (g0 << 3) | (g0 >> 2);