Remove the resetting of qp params for temporal layers.

The ambient qp and active worse/best qp were reset for every frame
when temporal layers is on. This change removes this reset.

As this affects the target size for forced key frames
(it will actually lower the size somewhat), we increased the
inital boost factor to compensate.

Change-Id: Ie38d95f5c99ab3d447469c49e2177bc3fcc4ad28
This commit is contained in:
Marco Paniconi 2012-07-27 17:24:29 -07:00
parent dd0100ddb1
commit ef4a9670a8
2 changed files with 2 additions and 6 deletions

View File

@ -1364,10 +1364,6 @@ static void update_layer_contexts (VP8_COMP *cpi)
oxcf->target_bitrate[i-1]) * 1000 /
(lc->frame_rate - prev_layer_frame_rate);
lc->active_worst_quality = oxcf->worst_allowed_q;
lc->active_best_quality = oxcf->best_allowed_q;
lc->avg_frame_qindex = oxcf->worst_allowed_q;
prev_layer_frame_rate = lc->frame_rate;
}
}

View File

@ -388,13 +388,13 @@ static void calc_iframe_target_size(VP8_COMP *cpi)
int Q = (cpi->common.frame_flags & FRAMEFLAGS_KEY)
? cpi->avg_frame_qindex : cpi->ni_av_qi;
int initial_boost = 24; /* |2.5 * per_frame_bandwidth| */
int initial_boost = 32; /* |3.0 * per_frame_bandwidth| */
/* Boost depends somewhat on frame rate: only used for 1 layer case. */
if (cpi->oxcf.number_of_layers == 1) {
kf_boost = MAX(initial_boost, (int)(2 * cpi->output_frame_rate - 16));
}
else {
/* Initial factor: set target size to: |2.5 * per_frame_bandwidth|. */
/* Initial factor: set target size to: |3.0 * per_frame_bandwidth|. */
kf_boost = initial_boost;
}