diff options
author | Johann Koenig <johannkoenig@google.com> | 2019-04-29 22:53:22 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2019-04-29 22:53:22 +0000 |
commit | 49794235cdce76826a76838c0cc8151d3ae644d7 (patch) | |
tree | aa7fb4597b8916139a468a32b361f13cd25de112 /vp8/encoder/x86 | |
parent | 197ef67eeb327d79abb961fa0dfd8de9df24d691 (diff) | |
parent | 1e01d13fb8e7fb904bdbc9fe461a7c86d2b57427 (diff) | |
download | libvpx-49794235cdce76826a76838c0cc8151d3ae644d7.tar libvpx-49794235cdce76826a76838c0cc8151d3ae644d7.tar.gz libvpx-49794235cdce76826a76838c0cc8151d3ae644d7.tar.bz2 libvpx-49794235cdce76826a76838c0cc8151d3ae644d7.zip |
Merge "vp8 quantize: silence conversion warning"
Diffstat (limited to 'vp8/encoder/x86')
-rw-r--r-- | vp8/encoder/x86/quantize_sse4.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/vp8/encoder/x86/quantize_sse4.c b/vp8/encoder/x86/quantize_sse4.c index 13dd1abc3..389c16705 100644 --- a/vp8/encoder/x86/quantize_sse4.c +++ b/vp8/encoder/x86/quantize_sse4.c @@ -14,17 +14,19 @@ #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) { |