[FFmpeg-devel] [PATCH 2/3] Revert "avutil: Add av_image_check_size2()"

Nicolas George george at nsup.org
Sun Dec 11 18:39:59 EET 2016


This reverts commit f542b152aa2086b30d1089162d79f5c136905c0c.

Signed-off-by: Nicolas George <george at nsup.org>
---
 doc/APIchanges       |  3 ---
 libavutil/imgutils.c | 29 +++++------------------------
 libavutil/imgutils.h | 14 --------------
 libavutil/version.h  |  2 +-
 4 files changed, 6 insertions(+), 42 deletions(-)

diff --git a/doc/APIchanges b/doc/APIchanges
index fbeae7a..0cdb4cf 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -15,9 +15,6 @@ libavutil:     2015-08-28
 
 API changes, most recent first:
 
-2016-12-10 - xxxxxxx - lavu xx.xx.100- imgutils.h
-  Add av_image_check_size2()
-
 2016-xx-xx - xxxxxxx - lavc 57.67.100 / 57.29.0 - avcodec.h
   Add AV_PKT_DATA_SPHERICAL packet side data to export AVSphericalMapping
   information from containers.
diff --git a/libavutil/imgutils.c b/libavutil/imgutils.c
index cc410ab..37808e5 100644
--- a/libavutil/imgutils.c
+++ b/libavutil/imgutils.c
@@ -248,38 +248,19 @@ static const AVClass imgutils_class = {
     .parent_log_context_offset = offsetof(ImgUtils, log_ctx),
 };
 
-int av_image_check_size2(unsigned int w, unsigned int h, int64_t max_pixels, enum AVPixelFormat pix_fmt, int log_offset, void *log_ctx)
+int av_image_check_size(unsigned int w, unsigned int h, int log_offset, void *log_ctx)
 {
     ImgUtils imgutils = {
         .class      = &imgutils_class,
         .log_offset = log_offset,
         .log_ctx    = log_ctx,
     };
-    int64_t stride = av_image_get_linesize(pix_fmt, w, 0);
-    if (stride <= 0)
-        stride = 8LL*w;
-    stride += 128*8;
-
-    if ((int)w<=0 || (int)h<=0 || stride >= INT_MAX || stride*(uint64_t)(h+128) >= INT_MAX) {
-        av_log(&imgutils, AV_LOG_ERROR, "Picture size %ux%u is invalid\n", w, h);
-        return AVERROR(EINVAL);
-    }
-
-    if (max_pixels < INT64_MAX) {
-        if (w*(int64_t)h > max_pixels) {
-            av_log(&imgutils, AV_LOG_ERROR,
-                    "Picture size %ux%u exceeds specified max pixel count %"PRId64", see the documentation if you wish to increase it\n",
-                    w, h, max_pixels);
-            return AVERROR(EINVAL);
-        }
-    }
 
-    return 0;
-}
+    if ((int)w>0 && (int)h>0 && (w+128)*(uint64_t)(h+128) < INT_MAX/8)
+        return 0;
 
-int av_image_check_size(unsigned int w, unsigned int h, int log_offset, void *log_ctx)
-{
-    return av_image_check_size2(w, h, INT64_MAX, AV_PIX_FMT_NONE, log_offset, log_ctx);
+    av_log(&imgutils, AV_LOG_ERROR, "Picture size %ux%u is invalid\n", w, h);
+    return AVERROR(EINVAL);
 }
 
 int av_image_check_sar(unsigned int w, unsigned int h, AVRational sar)
diff --git a/libavutil/imgutils.h b/libavutil/imgutils.h
index 19f34de..23282a3 100644
--- a/libavutil/imgutils.h
+++ b/libavutil/imgutils.h
@@ -192,20 +192,6 @@ int av_image_copy_to_buffer(uint8_t *dst, int dst_size,
 int av_image_check_size(unsigned int w, unsigned int h, int log_offset, void *log_ctx);
 
 /**
- * Check if the given dimension of an image is valid, meaning that all
- * bytes of the image can be addressed with a signed int.
- *
- * @param w the width of the picture
- * @param h the height of the picture
- * @param max_pixels the maximum number of pixels the user wants to accept
- * @param pix_fmt the pixel format, can be AV_PIX_FMT_NONE if unknown.
- * @param log_offset the offset to sum to the log level for logging with log_ctx
- * @param log_ctx the parent logging context, it may be NULL
- * @return >= 0 if valid, a negative error code otherwise
- */
-int av_image_check_size2(unsigned int w, unsigned int h, int64_t max_pixels, enum AVPixelFormat pix_fmt, int log_offset, void *log_ctx);
-
-/**
  * Check if the given sample aspect ratio of an image is valid.
  *
  * It is considered invalid if the denominator is 0 or if applying the ratio
diff --git a/libavutil/version.h b/libavutil/version.h
index 9f8c4c2..301c11b 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -79,7 +79,7 @@
  */
 
 #define LIBAVUTIL_VERSION_MAJOR  55
-#define LIBAVUTIL_VERSION_MINOR  43
+#define LIBAVUTIL_VERSION_MINOR  42
 #define LIBAVUTIL_VERSION_MICRO 100
 
 #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
-- 
2.10.2



More information about the ffmpeg-devel mailing list