Commit d4ca70f8 authored by Fiona Glaser's avatar Fiona Glaser

Hack around a potential failure point in VBV

pred_b_from_p can become absurdly large in static scenes, leading to rare collapses of quality with VBV+B-frames+threads.
This isn't a final fix, but should resolve the problem in most cases in the meantime.
parent 83d805fe
......@@ -1147,6 +1147,10 @@ void x264_ratecontrol_end( x264_t *h, int bits )
update_predictor( rc->pred_b_from_p, qp2qscale(rc->qpa_rc),
h->fref1[h->i_ref1-1]->i_satd, rc->bframe_bits / rc->bframes );
/* In some cases, such as completely blank scenes, pred_b_from_p can go nuts */
/* Hackily cap the predictor coeff in case this happens. */
rc->pred_b_from_p->coeff = X264_MIN( rc->pred_b_from_p->coeff, 10. );
rc->bframe_bits = 0;
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment