From 9892d70c965678381d2a70a1c9002d1cf136ee78 Mon Sep 17 00:00:00 2001 From: Wan-Teh Chang Date: Wed, 3 Aug 2022 10:04:43 -0700 Subject: [PATCH] Fix MSVC warnings by adding casts Fix the following MSVC warnings: src\source\row_win.cc(117): warning C4309: 'argument': truncation of constant value src\source\row_win.cc(136): warning C4309: 'argument': truncation of constant value src\source\row_win.cc(155): warning C4309: 'argument': truncation of constant value src\source\row_win.cc(174): warning C4309: 'argument': truncation of constant value src\source\row_common.cc(1712): warning C4244: 'initializing': conversion from 'uint16_t' to 'int8_t', possible loss of data src\source\row_common.cc(1731): warning C4244: 'initializing': conversion from 'int16_t' to 'int8_t', possible loss of data src\source\row_common.cc(1786): warning C4244: 'initializing': conversion from 'uint16_t' to 'int8_t', possible loss of data src\source\row_common.cc(1805): warning C4244: 'initializing': conversion from 'uint16_t' to 'int8_t', possible loss of data Bug: libyuv:939 Change-Id: Ie87ba6e716732d1ff1ae5c236dfd9cfdac13439d Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3807105 Commit-Queue: Frank Barchard Reviewed-by: Frank Barchard --- source/row_common.cc | 4 ++-- source/row_win.cc | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/source/row_common.cc b/source/row_common.cc index f4e987621..83442496c 100644 --- a/source/row_common.cc +++ b/source/row_common.cc @@ -1654,8 +1654,8 @@ MAKEYUVCONSTANTS(V2020, YG, YB, UB, UG, VG, VR) #define CALC_RGB16 \ int32_t y1 = ((uint32_t)(y32 * yg) >> 16) + yb; \ - int8_t ui = u; \ - int8_t vi = v; \ + int8_t ui = (int8_t)u; \ + int8_t vi = (int8_t)v; \ ui -= 0x80; \ vi -= 0x80; \ int b16 = y1 + (ui * ub); \ diff --git a/source/row_win.cc b/source/row_win.cc index 7dccacc7f..c7c1ff60d 100644 --- a/source/row_win.cc +++ b/source/row_win.cc @@ -75,7 +75,7 @@ extern "C" { // Convert 8 pixels: 8 UV and 8 Y. #define YUVTORGB(yuvconstants) \ - xmm3 = _mm_sub_epi8(xmm3, _mm_set1_epi8(0x80)); \ + xmm3 = _mm_sub_epi8(xmm3, _mm_set1_epi8((char)0x80)); \ xmm4 = _mm_mulhi_epu16(xmm4, *(__m128i*)yuvconstants->kYToRgb); \ xmm4 = _mm_add_epi16(xmm4, *(__m128i*)yuvconstants->kYBiasToRgb); \ xmm0 = _mm_maddubs_epi16(*(__m128i*)yuvconstants->kUVToB, xmm3); \