1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

avrndec: use av_image_check_size

Signed-off-by: Peter Ross <pross@xvid.org>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Peter Ross 2012-11-25 13:20:19 +11:00 committed by Michael Niedermayer
parent 2d954ccd84
commit a246a603bf

View File

@ -22,6 +22,7 @@
#include "avcodec.h" #include "avcodec.h"
#include "mjpeg.h" #include "mjpeg.h"
#include "mjpegdec.h" #include "mjpegdec.h"
#include "libavutil/imgutils.h"
typedef struct { typedef struct {
MJpegDecodeContext mjpeg_ctx; MJpegDecodeContext mjpeg_ctx;
@ -34,6 +35,7 @@ typedef struct {
static av_cold int init(AVCodecContext *avctx) static av_cold int init(AVCodecContext *avctx)
{ {
AVRnContext *a = avctx->priv_data; AVRnContext *a = avctx->priv_data;
int ret;
// Support "Resolution 1:1" for Avid AVI Codec // Support "Resolution 1:1" for Avid AVI Codec
a->is_mjpeg = avctx->extradata_size < 31 || memcmp(&avctx->extradata[28], "1:1", 3); a->is_mjpeg = avctx->extradata_size < 31 || memcmp(&avctx->extradata[28], "1:1", 3);
@ -46,8 +48,8 @@ static av_cold int init(AVCodecContext *avctx)
if(a->is_mjpeg) if(a->is_mjpeg)
return ff_mjpeg_decode_init(avctx); return ff_mjpeg_decode_init(avctx);
if(avctx->width <= 0 || avctx->height <= 0) if ((ret = av_image_check_size(avctx->width, avctx->height, 0, avctx)) < 0)
return AVERROR_INVALIDDATA; return ret;
avcodec_get_frame_defaults(&a->frame); avcodec_get_frame_defaults(&a->frame);
avctx->pix_fmt = AV_PIX_FMT_UYVY422; avctx->pix_fmt = AV_PIX_FMT_UYVY422;