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]

Reply via email to