This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit 66766bb1c76443093e7d7f1dd31fd188c56d18cf Author: Andreas Rheinhardt <[email protected]> AuthorDate: Sun Feb 8 14:44:54 2026 +0100 Commit: Andreas Rheinhardt <[email protected]> CommitDate: Fri Feb 13 09:21:02 2026 +0100 avutil/avassert: Deprecate av_assert0_fpu() Said function has presumably been added in order to check that we have successfully reset the floating point state after having violated the ABI/calling convention by not issuing emms in our MMX DSP routines. Yet the ability to check this should not have been made public, because there is no external need for it and because the function does not even always achieve what its documentation claims to do: It only works when inline assembly is available. It should have been implemented in emms.h like emms_c() (which is where a replacement should be put if there is still ABI-violating MMX code when av_assert0_fpu() is removed). Signed-off-by: Andreas Rheinhardt <[email protected]> --- doc/APIchanges | 3 +++ libavutil/avassert.h | 12 ++++++++++-- libavutil/utils.c | 3 ++- libavutil/version.h | 3 ++- 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/doc/APIchanges b/doc/APIchanges index 59655434a7..2b43139b48 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -2,6 +2,9 @@ The last version increases of all libraries were on 2025-03-28 API changes, most recent first: +2026-02-13 - xxxxxxxxxx - lavu 60.25.100 - avassert.h + Deprecate av_assert0_fpu() and av_assert2_fpu() without replacement. + 2026-02-xx - xxxxxxxxxx - lavf 62.9.100 - avformat.h Add AVFormatContext.name. diff --git a/libavutil/avassert.h b/libavutil/avassert.h index 209c0d9d17..e316a3c90d 100644 --- a/libavutil/avassert.h +++ b/libavutil/avassert.h @@ -34,6 +34,7 @@ #include "attributes.h" #include "log.h" #include "macros.h" +#include "version.h" /** * assert() equivalent, that is always enabled. @@ -63,18 +64,25 @@ */ #if defined(ASSERT_LEVEL) && ASSERT_LEVEL > 1 #define av_assert2(cond) av_assert0(cond) -#define av_assert2_fpu() av_assert0_fpu() #else #define av_assert2(cond) ((void)0) -#define av_assert2_fpu() ((void)0) #endif +#if FF_API_ASSERT_FPU +#if defined(ASSERT_LEVEL) && ASSERT_LEVEL > 1 +#define av_assert2_fpu() av_assert0_fpu() +#else +#define av_assert2_fpu() ((void)0) +#endif /** * Assert that floating point operations can be executed. * * This will av_assert0() that the cpu is not in MMX state on X86 + * @deprecated without replacement */ +attribute_deprecated void av_assert0_fpu(void); +#endif /** * Asserts that are used as compiler optimization hints depending diff --git a/libavutil/utils.c b/libavutil/utils.c index 162a4dee26..fc431fdd60 100644 --- a/libavutil/utils.c +++ b/libavutil/utils.c @@ -99,7 +99,7 @@ AVRational av_get_time_base_q(void) { return (AVRational){1, AV_TIME_BASE}; } - +#if FF_API_ASSERT_FPU void av_assert0_fpu(void) { #if HAVE_MMX_INLINE uint16_t state[14]; @@ -112,3 +112,4 @@ void av_assert0_fpu(void) { av_assert0((state[4] & 3) == 3); #endif } +#endif diff --git a/libavutil/version.h b/libavutil/version.h index 9d308ed059..a42ae73884 100644 --- a/libavutil/version.h +++ b/libavutil/version.h @@ -79,7 +79,7 @@ */ #define LIBAVUTIL_VERSION_MAJOR 60 -#define LIBAVUTIL_VERSION_MINOR 24 +#define LIBAVUTIL_VERSION_MINOR 25 #define LIBAVUTIL_VERSION_MICRO 100 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ @@ -112,6 +112,7 @@ #define FF_API_OPT_PTR (LIBAVUTIL_VERSION_MAJOR < 61) #define FF_API_CPU_FLAG_FORCE (LIBAVUTIL_VERSION_MAJOR < 61) #define FF_API_DOVI_L11_INVALID_PROPS (LIBAVUTIL_VERSION_MAJOR < 61) +#define FF_API_ASSERT_FPU (LIBAVUTIL_VERSION_MAJOR < 61) /** * @} _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
