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