James Almer: > It's more descriptive of what it does. > > Signed-off-by: James Almer <jamr...@gmail.com> > --- > libavutil/common.h | 16 +++++++++++++++- > libavutil/version.h | 1 + > libavutil/x86/intmath.h | 6 +++--- > 3 files changed, 19 insertions(+), 4 deletions(-) > > diff --git a/libavutil/common.h b/libavutil/common.h > index 3e4c339893..acd041fb67 100644 > --- a/libavutil/common.h > +++ b/libavutil/common.h > @@ -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,11 @@ > #ifndef av_clip_uintp2 > # define av_clip_uintp2 av_clip_uintp2_c > #endif > +#if FF_API_MOD_UINTP2 > #ifndef av_mod_uintp2 > # define av_mod_uintp2 av_mod_uintp2_c > #endif > +#endif
For the record: This patch on its own will disable the x86 optimization in this patch, only to be restored in #3. > #ifndef av_sat_add32 > # define av_sat_add32 av_sat_add32_c > #endif > @@ -149,6 +152,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 +294,19 @@ 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 > +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. > * > diff --git a/libavutil/version.h b/libavutil/version.h > index 9d08d56884..38456affb8 100644 > --- a/libavutil/version.h > +++ b/libavutil/version.h > @@ -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) > > /** > * @} > diff --git a/libavutil/x86/intmath.h b/libavutil/x86/intmath.h > index 8a6b5ae261..821a06ab66 100644 > --- a/libavutil/x86/intmath.h > +++ b/libavutil/x86/intmath.h > @@ -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); Missing APIchanges and version bump. - Andreas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".