From: Tristan Matthews Date: Thu, 22 Sep 2016 22:49:27 +0000 (-0400) Subject: vp9: fix compilation for g++ 6.2.x X-Git-Tag: v1.6.1~226^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=32c375447c037526f32ea0e8bc50c8c783fa14ce;p=libvpx vp9: fix compilation for g++ 6.2.x Inline function called from test/dct16x16_test.cc wouldn't build due to: invalid operands of types ‘__gnu_cxx::__enable_if::__type {aka double}’ and ‘int’ to binary ‘operator>>’ return (abs(ref->row) >> 3) < COMPANDED_MVREF_THRESH && this converts the test to abs() < COMPANDED_MVREF_THRESH << 3 which hides the promotion issue. Regression from commit de993a847f8080d3128420c8ef8495642013bdb1 BUG=webm:1291 Change-Id: I73b5943d07d5b61b709d299114216a2371a8fd62 --- diff --git a/vp9/common/vp9_entropymv.h b/vp9/common/vp9_entropymv.h index a8cc7e93a..e2fe37a32 100644 --- a/vp9/common/vp9_entropymv.h +++ b/vp9/common/vp9_entropymv.h @@ -27,12 +27,9 @@ void vp9_init_mv_probs(struct VP9Common *cm); void vp9_adapt_mv_probs(struct VP9Common *cm, int usehp); -// Integer pel reference mv threshold for use of high-precision 1/8 mv -#define COMPANDED_MVREF_THRESH 8 - static INLINE int use_mv_hp(const MV *ref) { - return (abs(ref->row) >> 3) < COMPANDED_MVREF_THRESH && - (abs(ref->col) >> 3) < COMPANDED_MVREF_THRESH; + const int kMvRefThresh = 64; // threshold for use of high-precision 1/8 mv + return abs(ref->row) < kMvRefThresh && abs(ref->col) < kMvRefThresh; } #define MV_UPDATE_PROB 252