Merge "Add ref frame rate cost to non-RD mode decision"
This commit is contained in:
Коммит
532cb435f8
|
@ -577,6 +577,9 @@ static const PREDICTION_MODE inter_mode_set[INTER_MODES] = {
|
|||
ZEROMV, NEARESTMV, NEARMV, NEWMV,
|
||||
};
|
||||
|
||||
static const int ref_frame_cost[MAX_REF_FRAMES] = {
|
||||
1235, 229, 530, 615,
|
||||
};
|
||||
// TODO(jingning) placeholder for inter-frame non-RD mode decision.
|
||||
// this needs various further optimizations. to be continued..
|
||||
void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
|
@ -865,6 +868,7 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
|
|||
this_rdc.rate += rate_mv;
|
||||
this_rdc.rate += cpi->inter_mode_cost[mbmi->mode_context[ref_frame]]
|
||||
[INTER_OFFSET(this_mode)];
|
||||
this_rdc.rate += ref_frame_cost[ref_frame];
|
||||
this_rdc.rdcost = RDCOST(x->rdmult, x->rddiv,
|
||||
this_rdc.rate, this_rdc.dist);
|
||||
|
||||
|
@ -971,6 +975,7 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
|
|||
this_rdc.rate = args.rate;
|
||||
this_rdc.dist = args.dist;
|
||||
this_rdc.rate += cpi->mbmode_cost[this_mode];
|
||||
this_rdc.rate += ref_frame_cost[INTRA_FRAME];
|
||||
this_rdc.rate += intra_cost_penalty;
|
||||
this_rdc.rdcost = RDCOST(x->rdmult, x->rddiv,
|
||||
this_rdc.rate, this_rdc.dist);
|
||||
|
|
Загрузка…
Ссылка в новой задаче