av_log(avctx, AV_LOG_ERROR, "v210x needs even width\n");
return -1;
}
- if(avcodec_check_dimensions(avctx, avctx->width, avctx->height) < 0)
- return -1;
avctx->pix_fmt = PIX_FMT_YUV422P16;
avctx->bits_per_raw_sample= 10;
return avpkt->size;
}
+static av_cold int decode_close(AVCodecContext *avctx)
+{
+ AVFrame *pic = avctx->coded_frame;
+ if (pic->data[0])
+ avctx->release_buffer(avctx, pic);
+ av_freep(&avctx->coded_frame);
+
+ return 0;
+}
+
AVCodec v210x_decoder = {
"v210x",
CODEC_TYPE_VIDEO,
0,
decode_init,
NULL,
- NULL,
+ decode_close,
decode_frame,
CODEC_CAP_DR1,
};