Fixed incorrect use of compute_qdelta()
This function expects real Q values as inputs not index values. The use-age her impacts the Q chosen for force key frames. Though this is a bug fix I have not yet verified whether following the bug fix the q multiplier value used is correct. Change-Id: I49f6da894d90baeb1e86c820c335f02dc80d3b66
This commit is contained in:
parent
74e8bd11c2
commit
9b9136f8a2
@ -2735,8 +2735,13 @@ static void encode_frame_to_data_rate(VP9_COMP *cpi,
|
|||||||
// the maximum key frame interval. Here force the Q to a range
|
// the maximum key frame interval. Here force the Q to a range
|
||||||
// based on the ambient Q to reduce the risk of popping
|
// based on the ambient Q to reduce the risk of popping
|
||||||
if (cpi->this_key_frame_forced) {
|
if (cpi->this_key_frame_forced) {
|
||||||
const int qindex = cpi->last_boosted_qindex;
|
int delta_qindex;
|
||||||
const int delta_qindex = compute_qdelta(cpi, qindex, qindex * 0.75);
|
int qindex = cpi->last_boosted_qindex;
|
||||||
|
double last_boosted_q = vp9_convert_qindex_to_q(qindex);
|
||||||
|
|
||||||
|
delta_qindex = compute_qdelta(cpi, last_boosted_q,
|
||||||
|
(last_boosted_q * 0.75));
|
||||||
|
|
||||||
|
|
||||||
cpi->active_best_quality = MAX(qindex + delta_qindex, cpi->best_quality);
|
cpi->active_best_quality = MAX(qindex + delta_qindex, cpi->best_quality);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user