@@ -2,6 +2,9 @@ The last version increases of all libraries were on 2024-03-07
API changes, most recent first:
+2024-06-12 - xxxxxxxxxx - lavu 59.22.100 - common.h
+ Deprecate av_mod_uintp2[_c]() and replace it with av_zero_extend[_c]().
+
2024-06-08 - xxxxxxxxxx - lavc 61.7.100 - defs.h
Add AV_PROFILE_AAC_USAC.
@@ -42,6 +42,7 @@
#include "attributes.h"
#include "error.h"
#include "macros.h"
+#include "version.h"
#ifdef HAVE_AV_CONFIG_H
# include "config.h"
@@ -122,9 +123,6 @@
#ifndef av_clip_uintp2
# define av_clip_uintp2 av_clip_uintp2_c
#endif
-#ifndef av_mod_uintp2
-# define av_mod_uintp2 av_mod_uintp2_c
-#endif
#ifndef av_sat_add32
# define av_sat_add32 av_sat_add32_c
#endif
@@ -149,6 +147,9 @@
#ifndef av_clipd
# define av_clipd av_clipd_c
#endif
+#ifndef av_zero_extend
+# define av_zero_extend av_zero_extend_c
+#endif
#ifndef av_popcount
# define av_popcount av_popcount_c
#endif
@@ -288,11 +289,22 @@ static av_always_inline av_const unsigned av_clip_uintp2_c(int a, int p)
* @param p bit position to clip at
* @return clipped value
*/
-static av_always_inline av_const unsigned av_mod_uintp2_c(unsigned a, unsigned p)
+static av_always_inline av_const unsigned av_zero_extend_c(unsigned a, unsigned p)
{
return a & ((1U << p) - 1);
}
+#if FF_API_MOD_UINTP2
+#ifndef av_mod_uintp2
+# define av_mod_uintp2 av_mod_uintp2_c
+#endif
+attribute_deprecated
+static av_always_inline av_const unsigned av_mod_uintp2_c(unsigned a, unsigned p)
+{
+ return av_zero_extend_c(a, p);
+}
+#endif
+
/**
* Add two signed 32-bit values with saturation.
*
@@ -112,6 +112,7 @@
#define FF_API_PALETTE_HAS_CHANGED (LIBAVUTIL_VERSION_MAJOR < 60)
#define FF_API_VULKAN_CONTIGUOUS_MEMORY (LIBAVUTIL_VERSION_MAJOR < 60)
#define FF_API_H274_FILM_GRAIN_VCS (LIBAVUTIL_VERSION_MAJOR < 60)
+#define FF_API_MOD_UINTP2 (LIBAVUTIL_VERSION_MAJOR < 60)
/**
* @}
@@ -82,13 +82,13 @@ static av_always_inline av_const int ff_ctzll_x86(long long v)
#if defined(__BMI2__)
#if AV_GCC_VERSION_AT_LEAST(5,1)
-#define av_mod_uintp2 __builtin_ia32_bzhi_si
+#define av_zero_extend __builtin_ia32_bzhi_si
#elif HAVE_INLINE_ASM
/* GCC releases before 5.1.0 have a broken bzhi builtin, so for those we
* implement it using inline assembly
*/
-#define av_mod_uintp2 av_mod_uintp2_bmi2
-static av_always_inline av_const unsigned av_mod_uintp2_bmi2(unsigned a, unsigned p)
+#define av_zero_extend av_zero_extend_bmi2
+static av_always_inline av_const unsigned av_zero_extend_bmi2(unsigned a, unsigned p)
{
if (av_builtin_constant_p(p))
return a & ((1 << p) - 1);
It's more descriptive of what it does. Signed-off-by: James Almer <jamrial@gmail.com> --- TODO: Version bump doc/APIchanges | 3 +++ libavutil/common.h | 20 ++++++++++++++++---- libavutil/version.h | 1 + libavutil/x86/intmath.h | 6 +++--- 4 files changed, 23 insertions(+), 7 deletions(-)