From: Johann Koenig Date: Mon, 29 Apr 2019 22:53:22 +0000 (+0000) Subject: Merge "vp8 quantize: silence conversion warning" X-Git-Tag: v1.8.1~86 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=49794235cdce76826a76838c0cc8151d3ae644d7;p=libvpx Merge "vp8 quantize: silence conversion warning" --- 49794235cdce76826a76838c0cc8151d3ae644d7 diff --cc vp8/encoder/x86/quantize_sse4.c index 13dd1abc3,5b7eec02e..389c16705 --- a/vp8/encoder/x86/quantize_sse4.c +++ b/vp8/encoder/x86/quantize_sse4.c @@@ -11,20 -11,22 +11,22 @@@ #include /* SSE4.1 */ #include "./vp8_rtcd.h" -#include "vp8/encoder/block.h" #include "vp8/common/entropy.h" /* vp8_default_inv_zig_zag */ +#include "vp8/encoder/block.h" - #define SELECT_EOB(i, z, x, y, q) \ - do { \ - short boost = *zbin_boost_ptr; \ - short x_z = _mm_extract_epi16(x, z); \ - short y_z = _mm_extract_epi16(y, z); \ - int cmp = (x_z < boost) | (y_z == 0); \ - zbin_boost_ptr++; \ - if (cmp) break; \ - q = _mm_insert_epi16(q, y_z, z); \ - eob = i; \ - zbin_boost_ptr = b->zrun_zbin_boost; \ + #define SELECT_EOB(i, z, x, y, q) \ + do { \ + short boost = *zbin_boost_ptr; \ + /* Technically _mm_extract_epi16() returns an int: */ \ + /* https://bugs.llvm.org/show_bug.cgi?id=41657 */ \ + short x_z = (short)_mm_extract_epi16(x, z); \ + short y_z = (short)_mm_extract_epi16(y, z); \ + int cmp = (x_z < boost) | (y_z == 0); \ + zbin_boost_ptr++; \ + if (cmp) break; \ + q = _mm_insert_epi16(q, y_z, z); \ + eob = i; \ + zbin_boost_ptr = b->zrun_zbin_boost; \ } while (0) void vp8_regular_quantize_b_sse4_1(BLOCK *b, BLOCKD *d) {