Commit 42df71d9 authored by Vittorio Giovara's avatar Vittorio Giovara Committed by Luca Barbato

ratecontrol: Check memory allocation

parent 0994e142
......@@ -163,6 +163,8 @@ av_cold int ff_rate_control_init(MpegEncContext *s)
return -1;
rcc->entry = av_mallocz(i * sizeof(RateControlEntry));
rcc->num_entries = i;
if (!rcc->entry)
return AVERROR(ENOMEM);
/* init all to skipped p frames
* (with b frames we might have a not encoded frame at the end FIXME) */
......@@ -210,8 +212,10 @@ av_cold int ff_rate_control_init(MpegEncContext *s)
p = next;
}
if (init_pass2(s) < 0)
if (init_pass2(s) < 0) {
ff_rate_control_uninit(s);
return -1;
}
// FIXME maybe move to end
if ((s->avctx->flags & CODEC_FLAG_PASS2) && s->avctx->rc_strategy == FF_RC_STRATEGY_XVID) {
......@@ -932,6 +936,11 @@ static int init_pass2(MpegEncContext *s)
qscale = av_malloc(sizeof(double) * rcc->num_entries);
blurred_qscale = av_malloc(sizeof(double) * rcc->num_entries);
if (!qscale || !blurred_qscale) {
av_free(qscale);
av_free(blurred_qscale);
return AVERROR(ENOMEM);
}
toobig = 0;
for (step = 256 * 256; step > 0.0000001; step *= 0.5) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment