| 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 375407d442d97a72b6a403dcd7939f9c4a88778c..0b6d11eca76b12a36fbded5749e23453d66b4eca 100644
|
| --- a/source/libvpx/vp9/encoder/vp9_rd.c
|
| +++ b/source/libvpx/vp9/encoder/vp9_rd.c
|
| @@ -279,9 +279,11 @@ void vp9_initialize_rd_consts(VP9_COMP *cpi) {
|
|
|
| set_block_thresholds(cm, rd);
|
|
|
| - if (!cpi->sf.use_nonrd_pick_mode || cm->frame_type == KEY_FRAME) {
|
| + if (!cpi->sf.use_nonrd_pick_mode || cm->frame_type == KEY_FRAME)
|
| fill_token_costs(x->token_costs, cm->fc->coef_probs);
|
|
|
| + if (cpi->sf.partition_search_type != VAR_BASED_PARTITION ||
|
| + cm->frame_type == KEY_FRAME) {
|
| for (i = 0; i < PARTITION_CONTEXTS; ++i)
|
| vp9_cost_tokens(cpi->partition_cost[i], get_partition_probs(cm, i),
|
| vp9_partition_tree);
|
| @@ -535,7 +537,8 @@ const YV12_BUFFER_CONFIG *vp9_get_scaled_ref_frame(const VP9_COMP *cpi,
|
| const VP9_COMMON *const cm = &cpi->common;
|
| const int ref_idx = cm->ref_frame_map[get_ref_frame_idx(cpi, ref_frame)];
|
| const int scaled_idx = cpi->scaled_ref_idx[ref_frame - 1];
|
| - return (scaled_idx != ref_idx) ? &cm->frame_bufs[scaled_idx].buf : NULL;
|
| + return (scaled_idx != ref_idx) ?
|
| + &cm->buffer_pool->frame_bufs[scaled_idx].buf : NULL;
|
| }
|
|
|
| int vp9_get_switchable_rate(const VP9_COMP *cpi, const MACROBLOCKD *const xd) {
|
| @@ -570,10 +573,6 @@ void vp9_set_rd_speed_thresholds(VP9_COMP *cpi) {
|
| rd->thresh_mult[THR_NEWA] += 1000;
|
| rd->thresh_mult[THR_NEWG] += 1000;
|
|
|
| - // Adjust threshold only in real time mode, which only uses last
|
| - // reference frame.
|
| - rd->thresh_mult[THR_NEWMV] += sf->elevate_newmv_thresh;
|
| -
|
| rd->thresh_mult[THR_NEARMV] += 1000;
|
| rd->thresh_mult[THR_NEARA] += 1000;
|
| rd->thresh_mult[THR_COMP_NEARESTLA] += 1000;
|
|
|