X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fsunrast.c;h=ffa685c19f21ecff2ca0fdf8df722cb3b06ada88;hb=18f4fa251b0eb36392839f5bf6180f280dc04d8d;hp=281913fd581bfc10547054cce114e163d86d759e;hpb=6d97484d72e33f7dde9493a9ead1a72e2f029605;p=ffmpeg diff --git a/libavcodec/sunrast.c b/libavcodec/sunrast.c index 281913fd581..ffa685c19f2 100644 --- a/libavcodec/sunrast.c +++ b/libavcodec/sunrast.c @@ -61,10 +61,6 @@ static int sunrast_decode_frame(AVCodecContext *avctx, void *data, av_log(avctx, AV_LOG_ERROR, "invalid (compression) type\n"); return AVERROR_INVALIDDATA; } - if (av_image_check_size(w, h, 0, avctx)) { - av_log(avctx, AV_LOG_ERROR, "invalid image size\n"); - return AVERROR_INVALIDDATA; - } if (maptype == RMT_RAW) { avpriv_request_sample(avctx, "Unknown colormap type"); return AVERROR_PATCHWELCOME; @@ -90,8 +86,10 @@ static int sunrast_decode_frame(AVCodecContext *avctx, void *data, return AVERROR_INVALIDDATA; } - if (w != avctx->width || h != avctx->height) - avcodec_set_dimensions(avctx, w, h); + ret = ff_set_dimensions(avctx, w, h); + if (ret < 0) + return ret; + if ((ret = ff_get_buffer(avctx, p, 0)) < 0) { av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n"); return ret; @@ -170,9 +168,9 @@ static int sunrast_decode_frame(AVCodecContext *avctx, void *data, AVCodec ff_sunrast_decoder = { .name = "sunrast", + .long_name = NULL_IF_CONFIG_SMALL("Sun Rasterfile image"), .type = AVMEDIA_TYPE_VIDEO, .id = AV_CODEC_ID_SUNRAST, .decode = sunrast_decode_frame, .capabilities = CODEC_CAP_DR1, - .long_name = NULL_IF_CONFIG_SMALL("Sun Rasterfile image"), };