* [FFmpeg-devel] [PATCH] avutil/frame: change the type of the crop fields to unsigned in the next major bump
@ 2023-04-17 15:34 James Almer
2023-04-17 17:07 ` Anton Khirnov
0 siblings, 1 reply; 3+ messages in thread
From: James Almer @ 2023-04-17 15:34 UTC (permalink / raw)
To: ffmpeg-devel
size_t is unnecessarily big on 64bit arches when width and height are ints.
Signed-off-by: James Almer <jamrial@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
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avutil/frame: change the type of the crop fields to unsigned in the next major bump
2023-04-17 15:34 [FFmpeg-devel] [PATCH] avutil/frame: change the type of the crop fields to unsigned in the next major bump James Almer
@ 2023-04-17 17:07 ` Anton Khirnov
2023-04-17 17:20 ` Marton Balint
0 siblings, 1 reply; 3+ messages in thread
From: Anton Khirnov @ 2023-04-17 17:07 UTC (permalink / raw)
To: FFmpeg development discussions and patches
Quoting James Almer (2023-04-17 17:34:08)
> size_t is unnecessarily big on 64bit arches when width and height are ints.
>
> Signed-off-by: James Almer <jamrial@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
Ok, but should be mentioned in APIchanges
--
Anton Khirnov
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avutil/frame: change the type of the crop fields to unsigned in the next major bump
2023-04-17 17:07 ` Anton Khirnov
@ 2023-04-17 17:20 ` Marton Balint
0 siblings, 0 replies; 3+ messages in thread
From: Marton Balint @ 2023-04-17 17:20 UTC (permalink / raw)
To: FFmpeg development discussions and patches
On Mon, 17 Apr 2023, Anton Khirnov wrote:
> Quoting James Almer (2023-04-17 17:34:08)
>> size_t is unnecessarily big on 64bit arches when width and height are ints.
>>
>> Signed-off-by: James Almer <jamrial@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
>
> Ok, but should be mentioned in APIchanges
I don't oppose this, but isn't this the same kind of change I wanted to do
for frame_number which was rejected because of e.g. printf format string
concerns? So based on that logic the proper way is to introduce new fields
with different types and deprecate the old ones. If we want to be
consistent with our API rules...
Regards,
Marton
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-04-17 17:21 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-17 15:34 [FFmpeg-devel] [PATCH] avutil/frame: change the type of the crop fields to unsigned in the next major bump James Almer
2023-04-17 17:07 ` Anton Khirnov
2023-04-17 17:20 ` Marton Balint
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git