mirror of
https://github.com/webmproject/libwebp.git
synced 2024-12-27 06:08:21 +01:00
Fix undefined signed shift.
Using the fix from SSE2. Change-Id: Ie53d0163d97322da5a722c3e49f9d5f057ee1d91
This commit is contained in:
parent
a09a647241
commit
e79974cd6a
@ -25,8 +25,9 @@
|
|||||||
static void TransformColorInverse_SSE41(const VP8LMultipliers* const m,
|
static void TransformColorInverse_SSE41(const VP8LMultipliers* const m,
|
||||||
const uint32_t* const src,
|
const uint32_t* const src,
|
||||||
int num_pixels, uint32_t* dst) {
|
int num_pixels, uint32_t* dst) {
|
||||||
#define CST(X) ((int32_t)((int8_t)m->X) << 3)
|
// sign-extended multiplying constants, pre-shifted by 5.
|
||||||
const __m128i mults_rb = _mm_set1_epi32(CST(green_to_red_) << 16 |
|
#define CST(X) (((int16_t)(m->X << 8)) >> 5) // sign-extend
|
||||||
|
const __m128i mults_rb = _mm_set1_epi32((uint32_t)CST(green_to_red_) << 16 |
|
||||||
(CST(green_to_blue_) & 0xffff));
|
(CST(green_to_blue_) & 0xffff));
|
||||||
const __m128i mults_b2 = _mm_set1_epi32(CST(red_to_blue_));
|
const __m128i mults_b2 = _mm_set1_epi32(CST(red_to_blue_));
|
||||||
#undef CST
|
#undef CST
|
||||||
|
Loading…
Reference in New Issue
Block a user