summaryrefslogtreecommitdiff
path: root/vp8/encoder
diff options
context:
space:
mode:
authorJohann Koenig <johannkoenig@google.com>2019-04-29 22:53:22 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2019-04-29 22:53:22 +0000
commit49794235cdce76826a76838c0cc8151d3ae644d7 (patch)
treeaa7fb4597b8916139a468a32b361f13cd25de112 /vp8/encoder
parent197ef67eeb327d79abb961fa0dfd8de9df24d691 (diff)
parent1e01d13fb8e7fb904bdbc9fe461a7c86d2b57427 (diff)
downloadlibvpx-49794235cdce76826a76838c0cc8151d3ae644d7.tar
libvpx-49794235cdce76826a76838c0cc8151d3ae644d7.tar.gz
libvpx-49794235cdce76826a76838c0cc8151d3ae644d7.tar.bz2
libvpx-49794235cdce76826a76838c0cc8151d3ae644d7.zip
Merge "vp8 quantize: silence conversion warning"
Diffstat (limited to 'vp8/encoder')
-rw-r--r--vp8/encoder/x86/quantize_sse4.c24
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) {