diff options
author | Frank Barchard <fbarchard@google.com> | 2021-05-03 21:32:46 -0700 |
---|---|---|
committer | Frank Barchard <fbarchard@chromium.org> | 2021-05-04 19:03:22 +0000 |
commit | 5b3351bd07e83f9f9a4cb6629561331ecdb7c546 (patch) | |
tree | 18981f5d836c752be834501afc9193d982635c11 /source/row_common.cc | |
parent | 2f0cbb9ede2525b8a1db3bce2501a0819140108b (diff) | |
download | libyuv-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.cc | 2 |
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); |