Merge "Account for inter prediction filter rate cost in rtc mode selection"
This commit is contained in:
commit
c9725813db
@ -810,9 +810,8 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
|
|||||||
vp9_build_inter_predictors_sby(xd, mi_row, mi_col, bsize);
|
vp9_build_inter_predictors_sby(xd, mi_row, mi_col, bsize);
|
||||||
model_rd_for_sb_y(cpi, bsize, x, xd, &pf_rate[filter],
|
model_rd_for_sb_y(cpi, bsize, x, xd, &pf_rate[filter],
|
||||||
&pf_dist[filter], &pf_var[filter], &pf_sse[filter]);
|
&pf_dist[filter], &pf_var[filter], &pf_sse[filter]);
|
||||||
cost = RDCOST(x->rdmult, x->rddiv,
|
pf_rate[filter] += vp9_get_switchable_rate(cpi, xd);
|
||||||
vp9_get_switchable_rate(cpi, xd) + pf_rate[filter],
|
cost = RDCOST(x->rdmult, x->rddiv, pf_rate[filter], pf_dist[filter]);
|
||||||
pf_dist[filter]);
|
|
||||||
pf_tx_size[filter] = mbmi->tx_size;
|
pf_tx_size[filter] = mbmi->tx_size;
|
||||||
if (cost < best_cost) {
|
if (cost < best_cost) {
|
||||||
best_filter = filter;
|
best_filter = filter;
|
||||||
@ -849,6 +848,8 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
|
|||||||
vp9_build_inter_predictors_sby(xd, mi_row, mi_col, bsize);
|
vp9_build_inter_predictors_sby(xd, mi_row, mi_col, bsize);
|
||||||
model_rd_for_sb_y(cpi, bsize, x, xd, &this_rdc.rate, &this_rdc.dist,
|
model_rd_for_sb_y(cpi, bsize, x, xd, &this_rdc.rate, &this_rdc.dist,
|
||||||
&var_y, &sse_y);
|
&var_y, &sse_y);
|
||||||
|
this_rdc.rate += cm->interp_filter == SWITCHABLE ?
|
||||||
|
vp9_get_switchable_rate(cpi, xd) : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// chroma component rate-distortion cost modeling
|
// chroma component rate-distortion cost modeling
|
||||||
|
Loading…
Reference in New Issue
Block a user