s->nb_planes = (tmp >> 4) + 1;
bpp = bits_per_plane * s->nb_planes;
if (bits_per_plane > 8 || bpp < 1 || bpp > 32) {
- avpriv_request_sample(s, "Unsupported bit depth");
+ avpriv_request_sample(avctx, "Unsupported bit depth");
return AVERROR_PATCHWELCOME;
}
avctx->pix_fmt = AV_PIX_FMT_PAL8;
if (s->width != avctx->width && s->height != avctx->height) {
- if (av_image_check_size(s->width, s->height, 0, avctx) < 0)
- return -1;
- avcodec_set_dimensions(avctx, s->width, s->height);
+ ret = ff_set_dimensions(avctx, s->width, s->height);
+ if (ret < 0)
+ return ret;
}
if ((ret = ff_get_buffer(avctx, frame, 0)) < 0) {
if (bits_per_plane == 8) {
picmemset_8bpp(s, frame, val, run, &x, &y);
if (y < 0)
- break;
+ goto finish;
} else {
picmemset(s, frame, val, run, &x, &y, &plane, bits_per_plane);
}
}
}
} else {
- avpriv_request_sample(s, "Uncompressed image");
+ avpriv_request_sample(avctx, "Uncompressed image");
return avpkt->size;
}
+finish:
*got_frame = 1;
return avpkt->size;
AVCodec ff_pictor_decoder = {
.name = "pictor",
+ .long_name = NULL_IF_CONFIG_SMALL("Pictor/PC Paint"),
.type = AVMEDIA_TYPE_VIDEO,
.id = AV_CODEC_ID_PICTOR,
.priv_data_size = sizeof(PicContext),
.decode = decode_frame,
- .capabilities = CODEC_CAP_DR1,
- .long_name = NULL_IF_CONFIG_SMALL("Pictor/PC Paint"),
+ .capabilities = AV_CODEC_CAP_DR1,
};