diff --git a/vp9/encoder/vp9_rd.c b/vp9/encoder/vp9_rd.c index a9cff1ee0be1cb19fb93b0340974934c02ce39be..633ce088d21acb4afa0f004e04d79a50796911e4 100644 --- a/vp9/encoder/vp9_rd.c +++ b/vp9/encoder/vp9_rd.c @@ -220,8 +220,6 @@ void vp9_initialize_rd_consts(VP9_COMP *cpi) { } } -static const int MAX_XSQ_Q10 = 245727; - static void model_rd_norm(int xsq_q10, int *r_q10, int *d_q10) { // NOTE: The tables below must be of the same size. @@ -311,10 +309,10 @@ void vp9_model_rd_from_var_lapndz(unsigned int var, unsigned int n, *dist = 0; } else { int d_q10, r_q10; + static const uint32_t MAX_XSQ_Q10 = 245727; const uint64_t xsq_q10_64 = ((((uint64_t)qstep * qstep * n) << 10) + (var >> 1)) / var; - const int xsq_q10 = xsq_q10_64 > (uint64_t)MAX_XSQ_Q10 ? - (int)MAX_XSQ_Q10 : (int)xsq_q10_64; + const int xsq_q10 = (int)MIN(xsq_q10_64, MAX_XSQ_Q10); model_rd_norm(xsq_q10, &r_q10, &d_q10); *rate = (n * r_q10 + 2) >> 2; *dist = (var * (int64_t)d_q10 + 512) >> 10;