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:
parent
dd0100ddb1
commit
ef4a9670a8
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user