| Index: source/libvpx/vp9/encoder/vp9_rd.c
|
| diff --git a/source/libvpx/vp9/encoder/vp9_rd.c b/source/libvpx/vp9/encoder/vp9_rd.c
|
| index 3f6de42e3c6a18ec5e33dec55806fa5e10625455..fdee1536fc7798ddceef265e731c9887fbd53005 100644
|
| --- a/source/libvpx/vp9/encoder/vp9_rd.c
|
| +++ b/source/libvpx/vp9/encoder/vp9_rd.c
|
| @@ -15,7 +15,9 @@
|
| #include "./vp9_rtcd.h"
|
|
|
| #include "vpx_mem/vpx_mem.h"
|
| +#include "vpx_ports/bitops.h"
|
| #include "vpx_ports/mem.h"
|
| +#include "vpx_ports/system_state.h"
|
|
|
| #include "vp9/common/vp9_common.h"
|
| #include "vp9/common/vp9_entropy.h"
|
| @@ -26,7 +28,6 @@
|
| #include "vp9/common/vp9_reconinter.h"
|
| #include "vp9/common/vp9_reconintra.h"
|
| #include "vp9/common/vp9_seg_common.h"
|
| -#include "vp9/common/vp9_systemdependent.h"
|
|
|
| #include "vp9/encoder/vp9_cost.h"
|
| #include "vp9/encoder/vp9_encodemb.h"
|
| @@ -171,11 +172,13 @@ int vp9_compute_rd_mult(const VP9_COMP *cpi, int qindex) {
|
| if (cpi->oxcf.pass == 2 && (cpi->common.frame_type != KEY_FRAME)) {
|
| const GF_GROUP *const gf_group = &cpi->twopass.gf_group;
|
| const FRAME_UPDATE_TYPE frame_type = gf_group->update_type[gf_group->index];
|
| - const int boost_index = MIN(15, (cpi->rc.gfu_boost / 100));
|
| + const int boost_index = VPXMIN(15, (cpi->rc.gfu_boost / 100));
|
|
|
| rdmult = (rdmult * rd_frame_type_factor[frame_type]) >> 7;
|
| rdmult += ((rdmult * rd_boost_factor[boost_index]) >> 7);
|
| }
|
| + if (rdmult < 1)
|
| + rdmult = 1;
|
| return (int)rdmult;
|
| }
|
|
|
| @@ -201,7 +204,7 @@ static int compute_rd_thresh_factor(int qindex, vpx_bit_depth_t bit_depth) {
|
| q = vp9_dc_quant(qindex, 0, VPX_BITS_8) / 4.0;
|
| #endif // CONFIG_VP9_HIGHBITDEPTH
|
| // TODO(debargha): Adjust the function below.
|
| - return MAX((int)(pow(q, RD_THRESH_POW) * 5.12), 8);
|
| + return VPXMAX((int)(pow(q, RD_THRESH_POW) * 5.12), 8);
|
| }
|
|
|
| void vp9_initialize_me_consts(VP9_COMP *cpi, MACROBLOCK *x, int qindex) {
|
| @@ -268,7 +271,7 @@ void vp9_initialize_rd_consts(VP9_COMP *cpi) {
|
| RD_OPT *const rd = &cpi->rd;
|
| int i;
|
|
|
| - vp9_clear_system_state();
|
| + vpx_clear_system_state();
|
|
|
| rd->RDDIV = RDDIV_BITS; // In bits (to multiply D by 128).
|
| rd->RDMULT = vp9_compute_rd_mult(cpi, cm->base_qindex + cm->y_dc_delta_q);
|
| @@ -401,7 +404,7 @@ void vp9_model_rd_from_var_lapndz(unsigned int var, unsigned int n_log2,
|
| static const uint32_t MAX_XSQ_Q10 = 245727;
|
| const uint64_t xsq_q10_64 =
|
| (((uint64_t)qstep * qstep << (n_log2 + 10)) + (var >> 1)) / var;
|
| - const int xsq_q10 = (int)MIN(xsq_q10_64, MAX_XSQ_Q10);
|
| + const int xsq_q10 = (int)VPXMIN(xsq_q10_64, MAX_XSQ_Q10);
|
| model_rd_norm(xsq_q10, &r_q10, &d_q10);
|
| *rate = ((r_q10 << n_log2) + 2) >> 2;
|
| *dist = (var * (int64_t)d_q10 + 512) >> 10;
|
| @@ -482,7 +485,7 @@ void vp9_mv_pred(VP9_COMP *cpi, MACROBLOCK *x,
|
| continue;
|
| fp_row = (this_mv->row + 3 + (this_mv->row >= 0)) >> 3;
|
| fp_col = (this_mv->col + 3 + (this_mv->col >= 0)) >> 3;
|
| - max_mv = MAX(max_mv, MAX(abs(this_mv->row), abs(this_mv->col)) >> 3);
|
| + max_mv = VPXMAX(max_mv, VPXMAX(abs(this_mv->row), abs(this_mv->col)) >> 3);
|
|
|
| if (fp_row ==0 && fp_col == 0 && zero_seen)
|
| continue;
|
| @@ -626,16 +629,15 @@ void vp9_update_rd_thresh_fact(int (*factor_buf)[MAX_MODES], int rd_thresh,
|
| const int top_mode = bsize < BLOCK_8X8 ? MAX_REFS : MAX_MODES;
|
| int mode;
|
| for (mode = 0; mode < top_mode; ++mode) {
|
| - const BLOCK_SIZE min_size = MAX(bsize - 1, BLOCK_4X4);
|
| - const BLOCK_SIZE max_size = MIN(bsize + 2, BLOCK_64X64);
|
| + const BLOCK_SIZE min_size = VPXMAX(bsize - 1, BLOCK_4X4);
|
| + const BLOCK_SIZE max_size = VPXMIN(bsize + 2, BLOCK_64X64);
|
| BLOCK_SIZE bs;
|
| for (bs = min_size; bs <= max_size; ++bs) {
|
| int *const fact = &factor_buf[bs][mode];
|
| if (mode == best_mode_index) {
|
| *fact -= (*fact >> 4);
|
| } else {
|
| - *fact = MIN(*fact + RD_THRESH_INC,
|
| - rd_thresh * RD_THRESH_MAX_FACT);
|
| + *fact = VPXMIN(*fact + RD_THRESH_INC, rd_thresh * RD_THRESH_MAX_FACT);
|
| }
|
| }
|
| }
|
|
|