[FFmpeg-devel] [PATCH] avutil/frame: change the type of the crop fields to unsigned in the next major bump

James Almer jamrial at gmail.com
Mon Apr 17 18:34:08 EEST 2023


size_t is unnecessarily big on 64bit arches when width and height are ints.

Signed-off-by: James Almer <jamrial at gmail.com>
---
 libavutil/frame.h   | 7 +++++++
 libavutil/version.h | 1 +
 2 files changed, 8 insertions(+)

diff --git a/libavutil/frame.h b/libavutil/frame.h
index f85d630c5c..e10a1c65e3 100644
--- a/libavutil/frame.h
+++ b/libavutil/frame.h
@@ -722,10 +722,17 @@ typedef struct AVFrame {
      * the frame intended for presentation.
      * @{
      */
+#if FF_API_CROP_SIZE_T
     size_t crop_top;
     size_t crop_bottom;
     size_t crop_left;
     size_t crop_right;
+#else
+    unsigned int crop_top;
+    unsigned int crop_bottom;
+    unsigned int crop_left;
+    unsigned int crop_right;
+#endif
     /**
      * @}
      */
diff --git a/libavutil/version.h b/libavutil/version.h
index 40f92af055..a974890d1f 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -115,6 +115,7 @@
 #define FF_API_FRAME_PICTURE_NUMBER     (LIBAVUTIL_VERSION_MAJOR < 59)
 #define FF_API_HDR_VIVID_THREE_SPLINE   (LIBAVUTIL_VERSION_MAJOR < 59)
 #define FF_API_FRAME_PKT                (LIBAVUTIL_VERSION_MAJOR < 59)
+#define FF_API_CROP_SIZE_T              (LIBAVUTIL_VERSION_MAJOR < 59)
 
 /**
  * @}
-- 
2.40.0



More information about the ffmpeg-devel mailing list