Fix vp9_compute_qdelta_by_rate loop behavior
The return value from vp9_compute_qdelta_by_rate, which is a delta value for the quantizer, could never be 0 if (qindex == rc->worst_quality). This occurs because target_index was setup unconditionally in the loop and yet the loop counter stopped at (rc->worst_quality - 1). Change-Id: I6b59cd9b5811ff33357e71cd7d814c5e53d291f2
This commit is contained in:
parent
6eaca27df2
commit
78df712216
@ -1595,11 +1595,12 @@ int vp9_compute_qdelta_by_rate(const RATE_CONTROL *rc, FRAME_TYPE frame_type,
|
||||
|
||||
// Convert the q target to an index
|
||||
for (i = rc->best_quality; i < rc->worst_quality; ++i) {
|
||||
target_index = i;
|
||||
if (vp9_rc_bits_per_mb(frame_type, i, 1.0, bit_depth) <= target_bits_per_mb)
|
||||
if (vp9_rc_bits_per_mb(frame_type, i, 1.0, bit_depth) <=
|
||||
target_bits_per_mb) {
|
||||
target_index = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return target_index - qindex;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user