Mercurial > libavcore.hg
diff imgutils.c @ 13:97c3fe501477 libavcore
Deprecate avcodec_check_dimensions() in favor of the new function
av_check_image_size() declared in libavcore/imgutils.h.
author | stefano |
---|---|
date | Fri, 06 Aug 2010 09:36:45 +0000 |
parents | c37229a98056 |
children | caf03c72a254 |
line wrap: on
line diff
--- a/imgutils.c Fri Jul 30 08:42:22 2010 +0000 +++ b/imgutils.c Fri Aug 06 09:36:45 2010 +0000 @@ -95,3 +95,22 @@ return total_size; } + +typedef struct ImgUtils { + const AVClass *class; + int log_offset; + void *log_ctx; +} ImgUtils; + +static const AVClass imgutils_class = { "IMGUTILS", av_default_item_name, NULL, LIBAVUTIL_VERSION_INT, offsetof(ImgUtils, log_offset), offsetof(ImgUtils, log_ctx) }; + +int av_check_image_size(unsigned int w, unsigned int h, int log_offset, void *log_ctx) +{ + ImgUtils imgutils = { &imgutils_class, log_offset, log_ctx }; + + if((int)w>0 && (int)h>0 && (w+128)*(uint64_t)(h+128) < INT_MAX/8) + return 0; + + av_log(&imgutils, AV_LOG_ERROR, "picture size invalid (%ux%u)\n", w, h); + return AVERROR(EINVAL); +}