Commit 6ce9b431 authored by Stefano Sabatini's avatar Stefano Sabatini

Remove use of the deprecated function avcodec_check_dimensions(), use

av_check_image_size() instead.

Originally committed as revision 24711 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 899a507f
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/ */
#include "libavcore/imgutils.h"
#include "avcodec.h" #include "avcodec.h"
#include "dsputil.h" #include "dsputil.h"
#include "binkdata.h" #include "binkdata.h"
...@@ -971,7 +972,7 @@ static av_cold int decode_init(AVCodecContext *avctx) ...@@ -971,7 +972,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
c->pic.data[0] = NULL; c->pic.data[0] = NULL;
if (avcodec_check_dimensions(avctx, avctx->width, avctx->height) < 0) { if (av_check_image_size(avctx->width, avctx->height, 0, avctx) < 0) {
return 1; return 1;
} }
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
* @author Marco Gerards <marco@gnu.org> * @author Marco Gerards <marco@gnu.org>
*/ */
#include "libavcore/imgutils.h"
#include "dirac.h" #include "dirac.h"
#include "avcodec.h" #include "avcodec.h"
#include "golomb.h" #include "golomb.h"
...@@ -268,7 +269,7 @@ int ff_dirac_parse_sequence_header(AVCodecContext *avctx, GetBitContext *gb, ...@@ -268,7 +269,7 @@ int ff_dirac_parse_sequence_header(AVCodecContext *avctx, GetBitContext *gb,
if (parse_source_parameters(avctx, gb, source)) if (parse_source_parameters(avctx, gb, source))
return -1; return -1;
if (avcodec_check_dimensions(avctx, source->width, source->height)) if (av_check_image_size(source->width, source->height, 0, avctx))
return -1; return -1;
avcodec_set_dimensions(avctx, source->width, source->height); avcodec_set_dimensions(avctx, source->width, source->height);
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
//#define TRACE //#define TRACE
//#define DEBUG //#define DEBUG
#include "libavcore/imgutils.h"
#include "avcodec.h" #include "avcodec.h"
#include "get_bits.h" #include "get_bits.h"
#include "dnxhddata.h" #include "dnxhddata.h"
...@@ -305,7 +306,7 @@ static int dnxhd_decode_frame(AVCodecContext *avctx, void *data, int *data_size, ...@@ -305,7 +306,7 @@ static int dnxhd_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
} }
avctx->pix_fmt = PIX_FMT_YUV422P; avctx->pix_fmt = PIX_FMT_YUV422P;
if (avcodec_check_dimensions(avctx, ctx->width, ctx->height)) if (av_check_image_size(ctx->width, ctx->height, 0, avctx))
return -1; return -1;
avcodec_set_dimensions(avctx, ctx->width, ctx->height); avcodec_set_dimensions(avctx, ctx->width, ctx->height);
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
*/ */
#include "libavutil/intreadwrite.h" #include "libavutil/intreadwrite.h"
#include "libavcore/imgutils.h"
#include "bytestream.h" #include "bytestream.h"
#include "avcodec.h" #include "avcodec.h"
...@@ -139,7 +140,7 @@ static int decode_frame(AVCodecContext *avctx, ...@@ -139,7 +140,7 @@ static int decode_frame(AVCodecContext *avctx,
if (s->picture.data[0]) if (s->picture.data[0])
avctx->release_buffer(avctx, &s->picture); avctx->release_buffer(avctx, &s->picture);
if (avcodec_check_dimensions(avctx, w, h)) if (av_check_image_size(w, h, 0, avctx))
return -1; return -1;
if (w != avctx->width || h != avctx->height) if (w != avctx->width || h != avctx->height)
avcodec_set_dimensions(avctx, w, h); avcodec_set_dimensions(avctx, w, h);
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
*/ */
#include "libavutil/intreadwrite.h" #include "libavutil/intreadwrite.h"
#include "libavcore/imgutils.h"
#include "avcodec.h" #include "avcodec.h"
typedef struct CmvContext { typedef struct CmvContext {
...@@ -156,7 +157,7 @@ static int cmv_decode_frame(AVCodecContext *avctx, ...@@ -156,7 +157,7 @@ static int cmv_decode_frame(AVCodecContext *avctx,
return buf_size; return buf_size;
} }
if (avcodec_check_dimensions(s->avctx, s->width, s->height)) if (av_check_image_size(s->width, s->height, 0, s->avctx))
return -1; return -1;
/* shuffle */ /* shuffle */
......
...@@ -34,6 +34,7 @@ ...@@ -34,6 +34,7 @@
#include "aandcttab.h" #include "aandcttab.h"
#include "mpeg12.h" #include "mpeg12.h"
#include "mpeg12data.h" #include "mpeg12data.h"
#include "libavcore/imgutils.h"
#define EA_PREAMBLE_SIZE 8 #define EA_PREAMBLE_SIZE 8
#define MADk_TAG MKTAG('M', 'A', 'D', 'k') /* MAD i-frame */ #define MADk_TAG MKTAG('M', 'A', 'D', 'k') /* MAD i-frame */
...@@ -260,7 +261,7 @@ static int decode_frame(AVCodecContext *avctx, ...@@ -260,7 +261,7 @@ static int decode_frame(AVCodecContext *avctx,
buf += 16; buf += 16;
if (avctx->width != s->width || avctx->height != s->height) { if (avctx->width != s->width || avctx->height != s->height) {
if (avcodec_check_dimensions(avctx, s->width, s->height) < 0) if (av_check_image_size(s->width, s->height, 0, avctx) < 0)
return -1; return -1;
avcodec_set_dimensions(avctx, s->width, s->height); avcodec_set_dimensions(avctx, s->width, s->height);
if (t->frame.data[0]) if (t->frame.data[0])
......
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#define ALT_BITSTREAM_READER_LE #define ALT_BITSTREAM_READER_LE
#include "get_bits.h" #include "get_bits.h"
#include "libavutil/lzo.h" #include "libavutil/lzo.h"
#include "libavcore/imgutils.h"
#define EA_PREAMBLE_SIZE 8 #define EA_PREAMBLE_SIZE 8
#define kVGT_TAG MKTAG('k', 'V', 'G', 'T') #define kVGT_TAG MKTAG('k', 'V', 'G', 'T')
...@@ -275,7 +276,7 @@ static int tgv_decode_frame(AVCodecContext *avctx, ...@@ -275,7 +276,7 @@ static int tgv_decode_frame(AVCodecContext *avctx,
} }
} }
if (avcodec_check_dimensions(avctx, s->width, s->height)) if (av_check_image_size(s->width, s->height, 0, avctx))
return -1; return -1;
/* shuffle */ /* shuffle */
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#include "mpegvideo.h" #include "mpegvideo.h"
#include "h263.h" #include "h263.h"
#include "flv.h" #include "flv.h"
#include "libavcore/imgutils.h"
void ff_flv2_decode_ac_esc(GetBitContext *gb, int *level, int *run, int *last){ void ff_flv2_decode_ac_esc(GetBitContext *gb, int *level, int *run, int *last){
int is11 = get_bits1(gb); int is11 = get_bits1(gb);
...@@ -82,7 +83,7 @@ int ff_flv_decode_picture_header(MpegEncContext *s) ...@@ -82,7 +83,7 @@ int ff_flv_decode_picture_header(MpegEncContext *s)
width = height = 0; width = height = 0;
break; break;
} }
if(avcodec_check_dimensions(s->avctx, width, height)) if(av_check_image_size(width, height, 0, s->avctx))
return -1; return -1;
s->width = width; s->width = width;
s->height = height; s->height = height;
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
//#define DEBUG //#define DEBUG
#include "libavcore/imgutils.h"
#include "avcodec.h" #include "avcodec.h"
#include "bytestream.h" #include "bytestream.h"
#include "lzw.h" #include "lzw.h"
...@@ -296,7 +297,7 @@ static int gif_decode_frame(AVCodecContext *avctx, void *data, int *data_size, A ...@@ -296,7 +297,7 @@ static int gif_decode_frame(AVCodecContext *avctx, void *data, int *data_size, A
return -1; return -1;
avctx->pix_fmt = PIX_FMT_PAL8; avctx->pix_fmt = PIX_FMT_PAL8;
if (avcodec_check_dimensions(avctx, s->screen_width, s->screen_height)) if (av_check_image_size(s->screen_width, s->screen_height, 0, avctx))
return -1; return -1;
avcodec_set_dimensions(avctx, s->screen_width, s->screen_height); avcodec_set_dimensions(avctx, s->screen_width, s->screen_height);
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
* @author Michael Niedermayer <michaelni@gmx.at> * @author Michael Niedermayer <michaelni@gmx.at>
*/ */
#include "libavcore/imgutils.h"
#include "internal.h" #include "internal.h"
#include "dsputil.h" #include "dsputil.h"
#include "avcodec.h" #include "avcodec.h"
...@@ -341,7 +342,7 @@ int ff_h264_decode_seq_parameter_set(H264Context *h){ ...@@ -341,7 +342,7 @@ int ff_h264_decode_seq_parameter_set(H264Context *h){
sps->mb_width = get_ue_golomb(&s->gb) + 1; sps->mb_width = get_ue_golomb(&s->gb) + 1;
sps->mb_height= get_ue_golomb(&s->gb) + 1; sps->mb_height= get_ue_golomb(&s->gb) + 1;
if((unsigned)sps->mb_width >= INT_MAX/16 || (unsigned)sps->mb_height >= INT_MAX/16 || if((unsigned)sps->mb_width >= INT_MAX/16 || (unsigned)sps->mb_height >= INT_MAX/16 ||
avcodec_check_dimensions(NULL, 16*sps->mb_width, 16*sps->mb_height)){ av_check_image_size(16*sps->mb_width, 16*sps->mb_height, 0, h->s.avctx)){
av_log(h->s.avctx, AV_LOG_ERROR, "mb_width/height overflow\n"); av_log(h->s.avctx, AV_LOG_ERROR, "mb_width/height overflow\n");
goto fail; goto fail;
} }
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
* IFF PBM/ILBM bitmap decoder * IFF PBM/ILBM bitmap decoder
*/ */
#include "libavcore/imgutils.h"
#include "bytestream.h" #include "bytestream.h"
#include "avcodec.h" #include "avcodec.h"
#include "get_bits.h" #include "get_bits.h"
...@@ -160,7 +161,7 @@ static av_cold int decode_init(AVCodecContext *avctx) ...@@ -160,7 +161,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
return AVERROR_INVALIDDATA; return AVERROR_INVALIDDATA;
} }
if ((err = avcodec_check_dimensions(avctx, avctx->width, avctx->height))) if ((err = av_check_image_size(avctx->width, avctx->height, 0, avctx)))
return err; return err;
s->planesize = FFALIGN(avctx->width, 16) >> 3; // Align plane size in bits to word-boundary s->planesize = FFALIGN(avctx->width, 16) >> 3; // Align plane size in bits to word-boundary
s->planebuf = av_malloc(s->planesize + FF_INPUT_BUFFER_PADDING_SIZE); s->planebuf = av_malloc(s->planesize + FF_INPUT_BUFFER_PADDING_SIZE);
......
...@@ -515,7 +515,7 @@ int avpicture_fill(AVPicture *picture, uint8_t *ptr, ...@@ -515,7 +515,7 @@ int avpicture_fill(AVPicture *picture, uint8_t *ptr,
enum PixelFormat pix_fmt, int width, int height) enum PixelFormat pix_fmt, int width, int height)
{ {
if(avcodec_check_dimensions(NULL, width, height)) if(av_check_image_size(width, height, 0, NULL))
return -1; return -1;
if (av_fill_image_linesizes(picture->linesize, pix_fmt, width)) if (av_fill_image_linesizes(picture->linesize, pix_fmt, width))
...@@ -597,7 +597,7 @@ int avpicture_layout(const AVPicture* src, enum PixelFormat pix_fmt, int width, ...@@ -597,7 +597,7 @@ int avpicture_layout(const AVPicture* src, enum PixelFormat pix_fmt, int width,
int avpicture_get_size(enum PixelFormat pix_fmt, int width, int height) int avpicture_get_size(enum PixelFormat pix_fmt, int width, int height)
{ {
AVPicture dummy_pict; AVPicture dummy_pict;
if(avcodec_check_dimensions(NULL, width, height)) if(av_check_image_size(width, height, 0, NULL))
return -1; return -1;
switch (pix_fmt) { switch (pix_fmt) {
case PIX_FMT_RGB8: case PIX_FMT_RGB8:
......
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include "libavcore/imgutils.h"
#include "avcodec.h" #include "avcodec.h"
#include "dsputil.h" #include "dsputil.h"
#include "bytestream.h" #include "bytestream.h"
...@@ -995,7 +996,7 @@ static int iv_decode_frame(AVCodecContext *avctx, ...@@ -995,7 +996,7 @@ static int iv_decode_frame(AVCodecContext *avctx,
image_height = bytestream_get_le16(&buf_pos); image_height = bytestream_get_le16(&buf_pos);
image_width = bytestream_get_le16(&buf_pos); image_width = bytestream_get_le16(&buf_pos);
if(avcodec_check_dimensions(avctx, image_width, image_height)) if(av_check_image_size(image_width, image_height, 0, avctx))
return -1; return -1;
if (image_width != avctx->width || image_height != avctx->height) { if (image_width != avctx->width || image_height != avctx->height) {
int ret; int ret;
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
*/ */
#include "libavutil/intreadwrite.h" #include "libavutil/intreadwrite.h"
#include "libavcore/imgutils.h"
#include "avcodec.h" #include "avcodec.h"
typedef struct { typedef struct {
...@@ -50,7 +51,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, AVPac ...@@ -50,7 +51,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, AVPac
h = (buf[1] + 1) * 8; h = (buf[1] + 1) * 8;
buf += 2; buf += 2;
if (avcodec_check_dimensions(avctx, w, h)) if (av_check_image_size(w, h, 0, avctx))
return -1; return -1;
if (w != avctx->width || h != avctx->height) if (w != avctx->width || h != avctx->height)
......
...@@ -105,8 +105,8 @@ static int libdirac_decode_frame(AVCodecContext *avccontext, ...@@ -105,8 +105,8 @@ static int libdirac_decode_frame(AVCodecContext *avccontext,
/* tell FFmpeg about sequence details */ /* tell FFmpeg about sequence details */
dirac_sourceparams_t *src_params = &p_dirac_params->p_decoder->src_params; dirac_sourceparams_t *src_params = &p_dirac_params->p_decoder->src_params;
if (avcodec_check_dimensions(avccontext, src_params->width, if (av_check_image_size(src_params->width, src_params->height,
src_params->height) < 0) { 0, avccontext) < 0) {
av_log(avccontext, AV_LOG_ERROR, "Invalid dimensions (%dx%d)\n", av_log(avccontext, AV_LOG_ERROR, "Invalid dimensions (%dx%d)\n",
src_params->width, src_params->height); src_params->width, src_params->height);
avccontext->height = avccontext->width = 0; avccontext->height = avccontext->width = 0;
......
...@@ -113,7 +113,7 @@ static int libopenjpeg_decode_frame(AVCodecContext *avctx, ...@@ -113,7 +113,7 @@ static int libopenjpeg_decode_frame(AVCodecContext *avctx,
} }
width = image->comps[0].w << avctx->lowres; width = image->comps[0].w << avctx->lowres;
height = image->comps[0].h << avctx->lowres; height = image->comps[0].h << avctx->lowres;
if(avcodec_check_dimensions(avctx, width, height) < 0) { if(av_check_image_size(width, height, 0, avctx) < 0) {
av_log(avctx, AV_LOG_ERROR, "%dx%d dimension invalid.\n", width, height); av_log(avctx, AV_LOG_ERROR, "%dx%d dimension invalid.\n", width, height);
goto done; goto done;
} }
......
...@@ -169,8 +169,8 @@ static void libschroedinger_handle_first_access_unit(AVCodecContext *avccontext) ...@@ -169,8 +169,8 @@ static void libschroedinger_handle_first_access_unit(AVCodecContext *avccontext)
p_schro_params->format = schro_decoder_get_video_format(decoder); p_schro_params->format = schro_decoder_get_video_format(decoder);
/* Tell FFmpeg about sequence details. */ /* Tell FFmpeg about sequence details. */
if (avcodec_check_dimensions(avccontext, p_schro_params->format->width, if (av_check_image_size(p_schro_params->format->width, p_schro_params->format->height,
p_schro_params->format->height) < 0) { 0, avccontext) < 0) {
av_log(avccontext, AV_LOG_ERROR, "invalid dimensions (%dx%d)\n", av_log(avccontext, AV_LOG_ERROR, "invalid dimensions (%dx%d)\n",
p_schro_params->format->width, p_schro_params->format->height); p_schro_params->format->width, p_schro_params->format->height);
avccontext->height = avccontext->width = 0; avccontext->height = avccontext->width = 0;
......
...@@ -86,7 +86,7 @@ static int vp8_decode(AVCodecContext *avctx, ...@@ -86,7 +86,7 @@ static int vp8_decode(AVCodecContext *avctx,
if ((int) img->d_w != avctx->width || (int) img->d_h != avctx->height) { if ((int) img->d_w != avctx->width || (int) img->d_h != avctx->height) {
av_log(avctx, AV_LOG_INFO, "dimension change! %dx%d -> %dx%d\n", av_log(avctx, AV_LOG_INFO, "dimension change! %dx%d -> %dx%d\n",
avctx->width, avctx->height, img->d_w, img->d_h); avctx->width, avctx->height, img->d_w, img->d_h);
if (avcodec_check_dimensions(avctx, img->d_w, img->d_h)) if (av_check_image_size(img->d_w, img->d_h, 0, avctx))
return AVERROR_INVALIDDATA; return AVERROR_INVALIDDATA;
avcodec_set_dimensions(avctx, img->d_w, img->d_h); avcodec_set_dimensions(avctx, img->d_w, img->d_h);
} }
......
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
//#define DEBUG //#define DEBUG
#include <assert.h> #include <assert.h>
#include "libavcore/imgutils.h"
#include "avcodec.h" #include "avcodec.h"
#include "dsputil.h" #include "dsputil.h"
#include "mjpeg.h" #include "mjpeg.h"
...@@ -218,7 +219,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) ...@@ -218,7 +219,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s)
height= s->height; height= s->height;
av_log(s->avctx, AV_LOG_DEBUG, "sof0: picture: %dx%d\n", width, height); av_log(s->avctx, AV_LOG_DEBUG, "sof0: picture: %dx%d\n", width, height);
if(avcodec_check_dimensions(s->avctx, width, height)) if(av_check_image_size(width, height, 0, s->avctx))
return -1; return -1;
nb_components = get_bits(&s->gb, 8); nb_components = get_bits(&s->gb, 8);
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
*/ */
#include "libavutil/intmath.h" #include "libavutil/intmath.h"
#include "libavcore/imgutils.h"
#include "avcodec.h" #include "avcodec.h"
#include "dsputil.h" #include "dsputil.h"
#include "internal.h" #include "internal.h"
...@@ -510,7 +511,7 @@ av_cold int MPV_common_init(MpegEncContext *s) ...@@ -510,7 +511,7 @@ av_cold int MPV_common_init(MpegEncContext *s)
return -1; return -1;
} }
if((s->width || s->height) && avcodec_check_dimensions(s->avctx, s->width, s->height)) if((s->width || s->height) && av_check_image_size(s->width, s->height, 0, s->avctx))
return -1; return -1;
dsputil_init(&s->dsp, s->avctx); dsputil_init(&s->dsp, s->avctx);
......
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
#include "libavutil/bswap.h" #include "libavutil/bswap.h"
#include "libavutil/lzo.h" #include "libavutil/lzo.h"
#include "libavcore/imgutils.h"
#include "avcodec.h" #include "avcodec.h"
#include "dsputil.h" #include "dsputil.h"
#include "rtjpeg.h" #include "rtjpeg.h"
...@@ -111,7 +112,7 @@ static int codec_reinit(AVCodecContext *avctx, int width, int height, int qualit ...@@ -111,7 +112,7 @@ static int codec_reinit(AVCodecContext *avctx, int width, int height, int qualit
if (quality >= 0) if (quality >= 0)
get_quant_quality(c, quality); get_quant_quality(c, quality);
if (width != c->width || height != c->height) { if (width != c->width || height != c->height) {
if (avcodec_check_dimensions(avctx, height, width) < 0) if (av_check_image_size(height, width, 0, avctx) < 0)
return 0; return 0;
avctx->width = c->width = width; avctx->width = c->width = width;
avctx->height = c->height = height; avctx->height = c->height = height;
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/ */
#include "libavcore/imgutils.h"
#include "avcodec.h" #include "avcodec.h"
#include "bytestream.h" #include "bytestream.h"
#include "get_bits.h" #include "get_bits.h"
...@@ -142,7 +143,7 @@ static int pcx_decode_frame(AVCodecContext *avctx, void *data, int *data_size, ...@@ -142,7 +143,7 @@ static int pcx_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
if (p->data[0]) if (p->data[0])
avctx->release_buffer(avctx, p); avctx->release_buffer(avctx, p);
if (avcodec_check_dimensions(avctx, w, h)) if (av_check_image_size(w, h, 0, avctx))
return -1; return -1;
if (w != avctx->width || h != avctx->height) if (w != avctx->width || h != avctx->height)
avcodec_set_dimensions(avctx, w, h); avcodec_set_dimensions(avctx, w, h);
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
* Pictor/PC Paint decoder * Pictor/PC Paint decoder
*/ */
#include "libavcore/imgutils.h"
#include "avcodec.h" #include "avcodec.h"
#include "bytestream.h" #include "bytestream.h"
#include "cga_data.h" #include "cga_data.h"
...@@ -135,7 +136,7 @@ static int decode_frame(AVCodecContext *avctx, ...@@ -135,7 +136,7 @@ static int decode_frame(AVCodecContext *avctx,
avctx->pix_fmt = PIX_FMT_PAL8; avctx->pix_fmt = PIX_FMT_PAL8;
if (s->width != avctx->width && s->height != avctx->height) { if (s->width != avctx->width && s->height != avctx->height) {
if (avcodec_check_dimensions(avctx, s->width, s->height) < 0) if (av_check_image_size(s->width, s->height, 0, avctx) < 0)
return -1; return -1;
avcodec_set_dimensions(avctx, s->width, s->height); avcodec_set_dimensions(avctx, s->width, s->height);
if (s->frame.data[0]) if (s->frame.data[0])
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
* License along with FFmpeg; if not, write to the Free Software * License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/ */
#include "libavcore/imgutils.h"
#include "avcodec.h" #include "avcodec.h"
#include "bytestream.h" #include "bytestream.h"
#include "png.h" #include "png.h"
...@@ -441,7 +442,7 @@ static int decode_frame(AVCodecContext *avctx, ...@@ -441,7 +442,7 @@ static int decode_frame(AVCodecContext *avctx,
goto fail; goto fail;
s->width = bytestream_get_be32(&s->bytestream); s->width = bytestream_get_be32(&s->bytestream);
s->height = bytestream_get_be32(&s->bytestream); s->height = bytestream_get_be32(&s->bytestream);
if(avcodec_check_dimensions(avctx, s->width, s->height)){ if(av_check_image_size(s->width, s->height, 0, avctx)){
s->width= s->height= 0; s->width= s->height= 0;
goto fail; goto fail;
} }
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/ */
#include "libavcore/imgutils.h"
#include "avcodec.h" #include "avcodec.h"
#include "pnm.h" #include "pnm.h"
...@@ -101,7 +102,7 @@ int ff_pnm_decode_header(AVCodecContext *avctx, PNMContext * const s) ...@@ -101,7 +102,7 @@ int ff_pnm_decode_header(AVCodecContext *avctx, PNMContext * const s)
} }
} }
/* check that all tags are present */ /* check that all tags are present */
if (w <= 0 || h <= 0 || maxval <= 0 || depth <= 0 || tuple_type[0] == '\0' || avcodec_check_dimensions(avctx, w, h)) if (w <= 0 || h <= 0 || maxval <= 0 || depth <= 0 || tuple_type[0] == '\0' || av_check_image_size(w, h, 0, avctx))
return -1; return -1;
avctx->width = w; avctx->width = w;
...@@ -134,7 +135,7 @@ int ff_pnm_decode_header(AVCodecContext *avctx, PNMContext * const s) ...@@ -134,7 +135,7 @@ int ff_pnm_decode_header(AVCodecContext *avctx, PNMContext * const s)
return -1; return -1;
pnm_get(s, buf1, sizeof(buf1)); pnm_get(s, buf1, sizeof(buf1));
avctx->height = atoi(buf1); avctx->height = atoi(buf1);
if(avcodec_check_dimensions(avctx, avctx->width, avctx->height)) if(av_check_image_size(avctx->width, avctx->height, 0, avctx))
return -1; return -1;
if (avctx->pix_fmt != PIX_FMT_MONOWHITE) { if (avctx->pix_fmt != PIX_FMT_MONOWHITE) {
pnm_get(s, buf1, sizeof(buf1)); pnm_get(s, buf1, sizeof(buf1));
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
*/ */
#include "libavutil/intreadwrite.h" #include "libavutil/intreadwrite.h"
#include "libavcore/imgutils.h"
#include "avcodec.h" #include "avcodec.h"
typedef struct PTXContext { typedef struct PTXContext {
...@@ -64,7 +65,7 @@ static int ptx_decode_frame(AVCodecContext *avctx, void *data, int *data_size, ...@@ -64,7 +65,7 @@ static int ptx_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
if (p->data[0]) if (p->data[0])
avctx->release_buffer(avctx, p); avctx->release_buffer(avctx, p);
if (avcodec_check_dimensions(avctx, w, h)) if (av_check_image_size(w, h, 0, avctx))
return -1; return -1;
if (w != avctx->width || h != avctx->height) if (w != avctx->width || h != avctx->height)
avcodec_set_dimensions(avctx, w, h); avcodec_set_dimensions(avctx, w, h);
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/ */
#include "libavcore/imgutils.h"
#include "avcodec.h" #include "avcodec.h"
#include "bytestream.h" #include "bytestream.h"
...@@ -62,7 +63,7 @@ static av_cold int qtrle_encode_init(AVCodecContext *avctx) ...@@ -62,7 +63,7 @@ static av_cold int qtrle_encode_init(AVCodecContext *avctx)
{ {
QtrleEncContext *s = avctx->priv_data; QtrleEncContext *s = avctx->priv_data;
if (avcodec_check_dimensions(avctx, avctx->width, avctx->height) < 0) { if (av_check_image_size(avctx->width, avctx->height, 0, avctx) < 0) {
return -1; return -1;
} }
s->avctx=avctx; s->avctx=avctx;
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
* RV10/RV20 decoder * RV10/RV20 decoder
*/ */
#include "libavcore/imgutils.h"
#include "avcodec.h" #include "avcodec.h"
#include "dsputil.h" #include "dsputil.h"
#include "mpegvideo.h" #include "mpegvideo.h"
...@@ -369,7 +370,7 @@ static int rv20_decode_picture_header(MpegEncContext *s) ...@@ -369,7 +370,7 @@ static int rv20_decode_picture_header(MpegEncContext *s)
} }
if(new_w != s->width || new_h != s->height){ if(new_w != s->width || new_h != s->height){
av_log(s->avctx, AV_LOG_DEBUG, "attempting to change resolution to %dx%d\n", new_w, new_h); av_log(s->avctx, AV_LOG_DEBUG, "attempting to change resolution to %dx%d\n", new_w, new_h);
if (avcodec_check_dimensions(s->avctx, new_w, new_h) < 0) if (av_check_image_size(new_w, new_h, 0, s->avctx) < 0)
return -1; return -1;
MPV_common_end(s); MPV_common_end(s);
avcodec_set_dimensions(s->avctx, new_w, new_h); avcodec_set_dimensions(s->avctx, new_w, new_h);
......
...@@ -24,6 +24,8 @@ ...@@ -24,6 +24,8 @@
* RV40 decoder * RV40 decoder
*/ */
#include "libavcore/imgutils.h"
#include "avcodec.h" #include "avcodec.h"
#include "dsputil.h" #include "dsputil.h"
#include "mpegvideo.h" #include "mpegvideo.h"
...@@ -142,7 +144,7 @@ static int rv40_parse_slice_header(RV34DecContext *r, GetBitContext *gb, SliceIn ...@@ -142,7 +144,7 @@ static int rv40_parse_slice_header(RV34DecContext *r, GetBitContext *gb, SliceIn
si->pts = get_bits(gb, 13); si->pts = get_bits(gb, 13);
if(!si->type || !get_bits1(gb)) if(!si->type || !get_bits1(gb))
rv40_parse_picture_size(gb, &w, &h); rv40_parse_picture_size(gb, &w, &h);
if(avcodec_check_dimensions(r->s.avctx, w, h) < 0) if(av_check_image_size(w, h, 0, r->s.avctx) < 0)
return -1; return -1;
si->width = w; si->width = w;
si->height = h; si->height = h;
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/ */
#include "libavcore/imgutils.h"
#include "avcodec.h" #include "avcodec.h"
#include "bytestream.h" #include "bytestream.h"
#include "sgi.h" #include "sgi.h"
...@@ -201,7 +202,7 @@ static int decode_frame(AVCodecContext *avctx, ...@@ -201,7 +202,7 @@ static int decode_frame(AVCodecContext *avctx,
return -1; return -1;
} }
if (avcodec_check_dimensions(avctx, s->width, s->height)) if (av_check_image_size(s->width, s->height, 0, avctx))
return -1; return -1;
avcodec_set_dimensions(avctx, s->width, s->height); avcodec_set_dimensions(avctx, s->width, s->height);
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
*/ */
#include "libavutil/intreadwrite.h" #include "libavutil/intreadwrite.h"
#include "libavcore/imgutils.h"
#include "avcodec.h" #include "avcodec.h"
#define RT_OLD 0 #define RT_OLD 0
...@@ -97,7 +98,7 @@ static int sunrast_decode_frame(AVCodecContext *avctx, void *data, ...@@ -97,7 +98,7 @@ static int sunrast_decode_frame(AVCodecContext *avctx, void *data,
if (p->data[0]) if (p->data[0])
avctx->release_buffer(avctx, p); avctx->release_buffer(avctx, p);
if (avcodec_check_dimensions(avctx, w, h)) if (av_check_image_size(w, h, 0, avctx))
return -1; return -1;
if (w != avctx->width || h != avctx->height) if (w != avctx->width || h != avctx->height)
avcodec_set_dimensions(avctx, w, h); avcodec_set_dimensions(avctx, w, h);
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
*/ */
#include "libavutil/intreadwrite.h" #include "libavutil/intreadwrite.h"
#include "libavcore/imgutils.h"
#include "avcodec.h" #include "avcodec.h"
enum TargaCompr{ enum TargaCompr{
...@@ -145,7 +146,7 @@ static int decode_frame(AVCodecContext *avctx, ...@@ -145,7 +146,7 @@ static int decode_frame(AVCodecContext *avctx,
if(s->picture.data[0]) if(s->picture.data[0])
avctx->release_buffer(avctx, &s->picture); avctx->release_buffer(avctx, &s->picture);
if(avcodec_check_dimensions(avctx, w, h)) if(av_check_image_size(w, h, 0, avctx))
return -1; return -1;
if(w != avctx->width || h != avctx->height) if(w != avctx->width || h != avctx->height)
avcodec_set_dimensions(avctx, w, h); avcodec_set_dimensions(avctx, w, h);
......
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#include "faxcompr.h" #include "faxcompr.h"
#include "libavutil/common.h" #include "libavutil/common.h"
#include "libavutil/intreadwrite.h" #include "libavutil/intreadwrite.h"
#include "libavcore/imgutils.h"
typedef struct TiffContext { typedef struct TiffContext {
AVCodecContext *avctx; AVCodecContext *avctx;
...@@ -305,7 +306,7 @@ static int tiff_decode_tag(TiffContext *s, const uint8_t *start, const uint8_t * ...@@ -305,7 +306,7 @@ static int tiff_decode_tag(TiffContext *s, const uint8_t *start, const uint8_t *
return -1; return -1;
} }
if(s->width != s->avctx->width || s->height != s->avctx->height){ if(s->width != s->avctx->width || s->height != s->avctx->height){
if(avcodec_check_dimensions(s->avctx, s->width, s->height)) if(av_check_image_size(s->width, s->height, 0, s->avctx))
return -1; return -1;
avcodec_set_dimensions(s->avctx, s->width, s->height); avcodec_set_dimensions(s->avctx, s->width, s->height);
} }
...@@ -507,7 +508,7 @@ static int decode_frame(AVCodecContext *avctx, ...@@ -507,7 +508,7 @@ static int decode_frame(AVCodecContext *avctx,
s->bpp = 1; s->bpp = 1;
avctx->pix_fmt = PIX_FMT_MONOBLACK; avctx->pix_fmt = PIX_FMT_MONOBLACK;
if(s->width != s->avctx->width || s->height != s->avctx->height){ if(s->width != s->avctx->width || s->height != s->avctx->height){
if(avcodec_check_dimensions(s->avctx, s->width, s->height)) if(av_check_image_size(s->width, s->height, 0, s->avctx))
return -1; return -1;
avcodec_set_dimensions(s->avctx, s->width, s->height); avcodec_set_dimensions(s->avctx, s->width, s->height);
} }
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
*/ */
#include "libavutil/intreadwrite.h" #include "libavutil/intreadwrite.h"
#include "libavcore/imgutils.h"
#include "avcodec.h" #include "avcodec.h"
#include "s3tc.h" #include "s3tc.h"
...@@ -79,7 +80,7 @@ static int txd_decode_frame(AVCodecContext *avctx, void *data, int *data_size, ...@@ -79,7 +80,7 @@ static int txd_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
if (p->data[0]) if (p->data[0])
avctx->release_buffer(avctx, p); avctx->release_buffer(avctx, p);
if (avcodec_check_dimensions(avctx, w, h)) if (av_check_image_size(w, h, 0, avctx))
return -1; return -1;
if (w != avctx->width || h != avctx->height) if (w != avctx->width || h != avctx->height)
avcodec_set_dimensions(avctx, w, h); avcodec_set_dimensions(avctx, w, h);
......
...@@ -235,7 +235,7 @@ int avcodec_default_get_buffer(AVCodecContext *s, AVFrame *pic){ ...@@ -235,7 +235,7 @@ int avcodec_default_get_buffer(AVCodecContext *s, AVFrame *pic){
return -1; return -1;
} }
if(avcodec_check_dimensions(s,w,h)) if(av_check_image_size(w, h, 0, s))
return -1; return -1;
if(s->internal_buffer==NULL){ if(s->internal_buffer==NULL){
...@@ -487,7 +487,7 @@ int attribute_align_arg avcodec_open(AVCodecContext *avctx, AVCodec *codec) ...@@ -487,7 +487,7 @@ int attribute_align_arg avcodec_open(AVCodecContext *avctx, AVCodec *codec)
#define SANE_NB_CHANNELS 128U #define SANE_NB_CHANNELS 128U
if (((avctx->coded_width || avctx->coded_height) if (((avctx->coded_width || avctx->coded_height)
&& avcodec_check_dimensions(avctx, avctx->coded_width, avctx->coded_height)) && av_check_image_size(avctx->coded_width, avctx->coded_height, 0, avctx))
|| avctx->channels > SANE_NB_CHANNELS) { || avctx->channels > SANE_NB_CHANNELS) {
ret = AVERROR(EINVAL); ret = AVERROR(EINVAL);
goto free_and_end; goto free_and_end;
...@@ -554,7 +554,7 @@ int attribute_align_arg avcodec_encode_video(AVCodecContext *avctx, uint8_t *buf ...@@ -554,7 +554,7 @@ int attribute_align_arg avcodec_encode_video(AVCodecContext *avctx, uint8_t *buf
av_log(avctx, AV_LOG_ERROR, "buffer smaller than minimum size\n"); av_log(avctx, AV_LOG_ERROR, "buffer smaller than minimum size\n");
return -1; return -1;
} }
if(avcodec_check_dimensions(avctx,avctx->width,avctx->height)) if(av_check_image_size(avctx->width, avctx->height, 0, avctx))
return -1; return -1;
if((avctx->codec->capabilities & CODEC_CAP_DELAY) || pict){ if((avctx->codec->capabilities & CODEC_CAP_DELAY) || pict){
int ret = avctx->codec->encode(avctx, buf, buf_size, pict); int ret = avctx->codec->encode(avctx, buf, buf_size, pict);
...@@ -604,7 +604,7 @@ int attribute_align_arg avcodec_decode_video2(AVCodecContext *avctx, AVFrame *pi ...@@ -604,7 +604,7 @@ int attribute_align_arg avcodec_decode_video2(AVCodecContext *avctx, AVFrame *pi
int ret; int ret;
*got_picture_ptr= 0; *got_picture_ptr= 0;
if((avctx->coded_width||avctx->coded_height) && avcodec_check_dimensions(avctx,avctx->coded_width,avctx->coded_height)) if((avctx->coded_width||avctx->coded_height) && av_check_image_size(avctx->coded_width, avctx->coded_height, 0, avctx))
return -1; return -1;
if((avctx->codec->capabilities & CODEC_CAP_DELAY) || avpkt->size){ if((avctx->codec->capabilities & CODEC_CAP_DELAY) || avpkt->size){
ret = avctx->codec->decode(avctx, picture, got_picture_ptr, ret = avctx->codec->decode(avctx, picture, got_picture_ptr,
......
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include "libavcore/imgutils.h"
#include "avcodec.h" #include "avcodec.h"
#include "dsputil.h" #include "dsputil.h"
#include "get_bits.h" #include "get_bits.h"
...@@ -1980,7 +1981,7 @@ static int theora_decode_header(AVCodecContext *avctx, GetBitContext *gb) ...@@ -1980,7 +1981,7 @@ static int theora_decode_header(AVCodecContext *avctx, GetBitContext *gb)
visible_width = s->width = get_bits(gb, 16) << 4; visible_width = s->width = get_bits(gb, 16) << 4;
visible_height = s->height = get_bits(gb, 16) << 4; visible_height = s->height = get_bits(gb, 16) << 4;
if(avcodec_check_dimensions(avctx, s->width, s->height)){ if(av_check_image_size(s->width, s->height, 0, avctx)){
av_log(avctx, AV_LOG_ERROR, "Invalid dimensions (%dx%d)\n", s->width, s->height); av_log(avctx, AV_LOG_ERROR, "Invalid dimensions (%dx%d)\n", s->width, s->height);
s->width= s->height= 0; s->width= s->height= 0;
return -1; return -1;
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/ */
#include "libavcore/imgutils.h"
#include "avcodec.h" #include "avcodec.h"
#include "vp56.h" #include "vp56.h"
#include "vp8data.h" #include "vp8data.h"
...@@ -224,7 +225,7 @@ static void vp8_decode_flush(AVCodecContext *avctx) ...@@ -224,7 +225,7 @@ static void vp8_decode_flush(AVCodecContext *avctx)
static int update_dimensions(VP8Context *s, int width, int height) static int update_dimensions(VP8Context *s, int width, int height)
{ {
if (avcodec_check_dimensions(s->avctx, width, height)) if (av_check_image_size(width, height, 0, s->avctx))
return AVERROR_INVALIDDATA; return AVERROR_INVALIDDATA;
vp8_decode_flush(s->avctx); vp8_decode_flush(s->avctx);
......
...@@ -68,6 +68,7 @@ ...@@ -68,6 +68,7 @@
#include <string.h> #include <string.h>
#include "libavutil/intreadwrite.h" #include "libavutil/intreadwrite.h"
#include "libavcore/imgutils.h"
#include "avcodec.h" #include "avcodec.h"
#define PALETTE_COUNT 256 #define PALETTE_COUNT 256
...@@ -147,7 +148,7 @@ static av_cold int vqa_decode_init(AVCodecContext *avctx) ...@@ -147,7 +148,7 @@ static av_cold int vqa_decode_init(AVCodecContext *avctx)
s->vqa_version = vqa_header[0]; s->vqa_version = vqa_header[0];
s->width = AV_RL16(&vqa_header[6]); s->width = AV_RL16(&vqa_header[6]);
s->height = AV_RL16(&vqa_header[8]); s->height = AV_RL16(&vqa_header[8]);
if(avcodec_check_dimensions(avctx, s->width, s->height)){ if(av_check_image_size(s->width, s->height, 0, avctx)){
s->width= s->height= 0; s->width= s->height= 0;
return -1; return -1;
} }
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
* License along with FFmpeg; if not, write to the Free Software * License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/ */
#include "libavcore/imgutils.h"
#include "avcodec.h" #include "avcodec.h"
#include "get_bits.h" #include "get_bits.h"
#include "bytestream.h" #include "bytestream.h"
...@@ -76,7 +77,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, ...@@ -76,7 +77,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size,
// read header // read header
w = bytestream_get_le16(&buf); w = bytestream_get_le16(&buf);
h = bytestream_get_le16(&buf); h = bytestream_get_le16(&buf);
if (avcodec_check_dimensions(avctx, w, h) < 0) if (av_check_image_size(w, h, 0, avctx) < 0)
return -1; return -1;
x = bytestream_get_le16(&buf); x = bytestream_get_le16(&buf);
y = bytestream_get_le16(&buf); y = bytestream_get_le16(&buf);
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
*/ */
#include "libavutil/intreadwrite.h" #include "libavutil/intreadwrite.h"
#include "libavcore/imgutils.h"
#include "avcodec.h" #include "avcodec.h"
#include "get_bits.h" #include "get_bits.h"
...@@ -84,7 +85,7 @@ static av_cold int yop_decode_init(AVCodecContext *avctx) ...@@ -84,7 +85,7 @@ static av_cold int yop_decode_init(AVCodecContext *avctx)
s->avctx = avctx; s->avctx = avctx;
if (avctx->width & 1 || avctx->height & 1 || if (avctx->width & 1 || avctx->height & 1 ||
avcodec_check_dimensions(avctx, avctx->width, avctx->height) < 0) { av_check_image_size(avctx->width, avctx->height, 0, avctx) < 0) {
av_log(avctx, AV_LOG_ERROR, "YOP has invalid dimensions\n"); av_log(avctx, AV_LOG_ERROR, "YOP has invalid dimensions\n");
return -1; return -1;
} }
......
include $(SUBDIR)../config.mak include $(SUBDIR)../config.mak
NAME = avdevice NAME = avdevice
FFLIBS = avformat avcodec avutil FFLIBS = avformat avcodec avcore avutil
HEADERS = avdevice.h HEADERS = avdevice.h
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
#define LIBAVDEVICE_VERSION_MAJOR 52 #define LIBAVDEVICE_VERSION_MAJOR 52
#define LIBAVDEVICE_VERSION_MINOR 2 #define LIBAVDEVICE_VERSION_MINOR 2
#define LIBAVDEVICE_VERSION_MICRO 0 #define LIBAVDEVICE_VERSION_MICRO 1
#define LIBAVDEVICE_VERSION_INT AV_VERSION_INT(LIBAVDEVICE_VERSION_MAJOR, \ #define LIBAVDEVICE_VERSION_INT AV_VERSION_INT(LIBAVDEVICE_VERSION_MAJOR, \
LIBAVDEVICE_VERSION_MINOR, \ LIBAVDEVICE_VERSION_MINOR, \
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#undef __STRICT_ANSI__ //workaround due to broken kernel headers #undef __STRICT_ANSI__ //workaround due to broken kernel headers
#include "config.h" #include "config.h"
#include "libavutil/rational.h" #include "libavutil/rational.h"
#include "libavcore/imgutils.h"
#include "libavformat/avformat.h" #include "libavformat/avformat.h"
#include "libavcodec/dsputil.h" #include "libavcodec/dsputil.h"
#include <unistd.h> #include <unistd.h>
...@@ -116,7 +117,7 @@ static int grab_read_header(AVFormatContext *s1, AVFormatParameters *ap) ...@@ -116,7 +117,7 @@ static int grab_read_header(AVFormatContext *s1, AVFormatParameters *ap)
} }
} }
if(avcodec_check_dimensions(s1, s->video_win.width, s->video_win.height) < 0) if(av_check_image_size(s->video_win.width, s->video_win.height, 0, s1) < 0)
return -1; return -1;
desired_palette = -1; desired_palette = -1;
......
...@@ -43,6 +43,7 @@ ...@@ -43,6 +43,7 @@
#endif #endif
#include <time.h> #include <time.h>
#include <strings.h> #include <strings.h>
#include "libavcore/imgutils.h"
static const int desired_video_buffers = 256; static const int desired_video_buffers = 256;
...@@ -623,7 +624,7 @@ static int v4l2_read_header(AVFormatContext *s1, AVFormatParameters *ap) ...@@ -623,7 +624,7 @@ static int v4l2_read_header(AVFormatContext *s1, AVFormatParameters *ap)
return AVERROR(EIO); return AVERROR(EIO);
} }
if (avcodec_check_dimensions(s1, s->width, s->height) < 0) if (av_check_image_size(s->width, s->height, 0, s1) < 0)
return AVERROR(EINVAL); return AVERROR(EINVAL);
s->frame_format = desired_format; s->frame_format = desired_format;
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
#define LIBAVFILTER_VERSION_MAJOR 1 #define LIBAVFILTER_VERSION_MAJOR 1
#define LIBAVFILTER_VERSION_MINOR 27 #define LIBAVFILTER_VERSION_MINOR 27
#define LIBAVFILTER_VERSION_MICRO 0 #define LIBAVFILTER_VERSION_MICRO 1
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \ #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
LIBAVFILTER_VERSION_MINOR, \ LIBAVFILTER_VERSION_MINOR, \
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
#include "parseutils.h" #include "parseutils.h"
#include "libavutil/pixdesc.h" #include "libavutil/pixdesc.h"
#include "libavutil/colorspace.h" #include "libavutil/colorspace.h"
#include "libavcore/imgutils.h"
#include "libavcore/parseutils.h" #include "libavcore/parseutils.h"
enum { RED = 0, GREEN, BLUE, ALPHA }; enum { RED = 0, GREEN, BLUE, ALPHA };
...@@ -406,7 +407,7 @@ static int color_config_props(AVFilterLink *inlink) ...@@ -406,7 +407,7 @@ static int color_config_props(AVFilterLink *inlink)
color->w &= ~((1 << color->hsub) - 1); color->w &= ~((1 << color->hsub) - 1);
color->h &= ~((1 << color->vsub) - 1); color->h &= ~((1 << color->vsub) - 1);
if (avcodec_check_dimensions(ctx, color->w, color->h) < 0) if (av_check_image_size(color->w, color->h, 0, ctx) < 0)
return AVERROR(EINVAL); return AVERROR(EINVAL);
memcpy(rgba_color, color->color, sizeof(rgba_color)); memcpy(rgba_color, color->color, sizeof(rgba_color));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment