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<true, double>::__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
This commit is contained in:
Tristan Matthews 2016-09-22 18:49:27 -04:00 committed by James Zern
parent 99ef84c65a
commit 32c375447c

View File

@ -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