X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fdirac.c;h=d5870d6c00d5c0efddf95cb024a9bf05ab96073b;hb=24f1685f6eb2af6326acec9a06678e7127b9f9dc;hp=027ce79a2e13a772719ba05f5e405ddd73f833d2;hpb=7131139b4370bd2c434564db36f872e8f92d74e7;p=ffmpeg diff --git a/libavcodec/dirac.c b/libavcodec/dirac.c index 027ce79a2e1..d5870d6c00d 100644 --- a/libavcodec/dirac.c +++ b/libavcodec/dirac.c @@ -147,6 +147,7 @@ static int parse_source_parameters(AVDiracSeqHeader *dsh, GetBitContext *gb, unsigned luma_depth = 8, luma_offset = 16; int idx; int chroma_x_shift, chroma_y_shift; + int ret; /* [DIRAC_STD] 10.3.2 Frame size. frame_size(video_params) */ /* [DIRAC_STD] custom_dimensions_flag */ @@ -269,7 +270,10 @@ static int parse_source_parameters(AVDiracSeqHeader *dsh, GetBitContext *gb, return AVERROR_INVALIDDATA; dsh->pix_fmt = dirac_pix_fmt[dsh->chroma_format][dsh->pixel_range_index-2]; - avcodec_get_chroma_sub_sample(dsh->pix_fmt, &chroma_x_shift, &chroma_y_shift); + ret = av_pix_fmt_get_chroma_sub_sample(dsh->pix_fmt, &chroma_x_shift, &chroma_y_shift); + if (ret) + return ret; + if ((dsh->width % (1<height % (1<