static av_cold int flashsv2_encode_init(AVCodecContext * avctx)
{
FlashSV2Context *s = avctx->priv_data;
+ int ret;
s->avctx = avctx;
if (s->comp < 0 || s->comp > 9) {
av_log(avctx, AV_LOG_ERROR,
"Compression level should be 0-9, not %d\n", s->comp);
- return -1;
+ return AVERROR(EINVAL);
}
if ((avctx->width > 4095) || (avctx->height > 4095)) {
av_log(avctx, AV_LOG_ERROR,
"Input dimensions too large, input must be max 4095x4095 !\n");
- return -1;
+ return AVERROR(EINVAL);
}
if ((avctx->width < 16) || (avctx->height < 16)) {
av_log(avctx, AV_LOG_ERROR,
"Input dimensions too small, input must be at least 16x16 !\n");
- return -1;
+ return AVERROR(EINVAL);
}
- if (av_image_check_size(avctx->width, avctx->height, 0, avctx) < 0)
- return -1;
+ if ((ret = av_image_check_size(avctx->width, avctx->height, 0, avctx)) < 0)
+ return ret;
s->last_key_frame = 0;
|| !s->current_frame || !s->key_frame || !s->key_blocks
|| !s->frame_blocks) {
av_log(avctx, AV_LOG_ERROR, "Memory allocation failed.\n");
- cleanup(s);
return AVERROR(ENOMEM);
}
.encode2 = flashsv2_encode_frame,
.close = flashsv2_encode_end,
.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_BGR24, AV_PIX_FMT_NONE },
+ .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
};