h->b_stride = 4*s->mb_width;
- ff_h264_alloc_tables(h);
+ if (ff_h264_alloc_tables(h) < 0) {
+ av_log(avctx, AV_LOG_ERROR, "svq3 memory allocation failed\n");
+ return AVERROR(ENOMEM);
+ }
}
return 0;
}
AVCodec ff_svq3_decoder = {
- "svq3",
- AVMEDIA_TYPE_VIDEO,
- CODEC_ID_SVQ3,
- sizeof(SVQ3Context),
- svq3_decode_init,
- NULL,
- svq3_decode_end,
- svq3_decode_frame,
- CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1 | CODEC_CAP_DELAY,
+ .name = "svq3",
+ .type = AVMEDIA_TYPE_VIDEO,
+ .id = CODEC_ID_SVQ3,
+ .priv_data_size = sizeof(SVQ3Context),
+ .init = svq3_decode_init,
+ .close = svq3_decode_end,
+ .decode = svq3_decode_frame,
+ .capabilities = CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1 | CODEC_CAP_DELAY,
.long_name = NULL_IF_CONFIG_SMALL("Sorenson Vector Quantizer 3 / Sorenson Video 3 / SVQ3"),
.pix_fmts= (const enum PixelFormat[]){PIX_FMT_YUVJ420P, PIX_FMT_NONE},
};