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