From 5dd95670808915b391348624d3f9860e021a81a2 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 23 Jan 2021 16:22:33 +0100 Subject: [PATCH] avutil/common: Add FFABSU() for a signed -> unsigned ABS Signed-off-by: Michael Niedermayer --- doc/APIchanges | 3 +++ libavutil/common.h | 8 ++++++++ libavutil/version.h | 4 ++-- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/doc/APIchanges b/doc/APIchanges index 1509c9b8cb..1332694820 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -15,6 +15,9 @@ libavutil: 2017-10-21 API changes, most recent first: +2021-01-26 - xxxxxxxxxx - lavu 56.64.100 - common.h + Add FFABSU() + 2021-01-25 - xxxxxxxxxx - lavc 58.119.100 - avcodec.h Deprecate AVCodecContext.debug_mv, FF_DEBUG_VIS_MV_P_FOR, FF_DEBUG_VIS_MV_B_FOR, FF_DEBUG_VIS_MV_B_BACK diff --git a/libavutil/common.h b/libavutil/common.h index b9fbcc4d60..a60a558b1d 100644 --- a/libavutil/common.h +++ b/libavutil/common.h @@ -80,6 +80,14 @@ */ #define FFNABS(a) ((a) <= 0 ? (a) : (-(a))) +/** + * Unsigned Absolute value. + * This takes the absolute value of a signed int and returns it as a unsigned. + * This also works with INT_MIN which would otherwise not be representable + * As with many macros, this evaluates its argument twice. + */ +#define FFABSU(a) ((a) <= 0 ? -(unsigned)(a) : (unsigned)(a)) + /** * Comparator. * For two numerical expressions x and y, gives 1 if x > y, -1 if x < y, and 0 diff --git a/libavutil/version.h b/libavutil/version.h index bb8d60bef5..21136e6cb7 100644 --- a/libavutil/version.h +++ b/libavutil/version.h @@ -79,8 +79,8 @@ */ #define LIBAVUTIL_VERSION_MAJOR 56 -#define LIBAVUTIL_VERSION_MINOR 63 -#define LIBAVUTIL_VERSION_MICRO 101 +#define LIBAVUTIL_VERSION_MINOR 64 +#define LIBAVUTIL_VERSION_MICRO 100 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ LIBAVUTIL_VERSION_MINOR, \