[FFmpeg-devel] [PATCH] avutil/x86/emms: Don't unnecessarily include lavu/cpu.h

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Mon Feb 14 20:41:44 EET 2022


Only include it if it is needed, namely if __MMX__ is undefined.

X86 is currently the only arch where lavu/cpu.h is basically
automatically included (for internal development): #if ARCH_X86
is true, lavu/internal.h (which is basically included everywhere)
includes lavu/x86/emms.h which can mask missing inclusions
of lavu/cpu.h if the developer works on x86/x64. This has happened
in 8e825ec3ab09d877f12dcf05d76902a8bb9c8b11 and also earlier
(see 6d2365882f281f9452b31b91edb2e6a2d4f5ff08).
By including said header only if necessary ordinary developer machines
will behave like non-x86 arches, so that missing inclusions of cpu.h
won't go unnoticed any more.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
 libavutil/x86/emms.h | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/libavutil/x86/emms.h b/libavutil/x86/emms.h
index c21e34b451..8ceec110cf 100644
--- a/libavutil/x86/emms.h
+++ b/libavutil/x86/emms.h
@@ -21,11 +21,14 @@
 
 #include "config.h"
 #include "libavutil/attributes.h"
-#include "libavutil/cpu.h"
 
 void avpriv_emms_asm(void);
 
 #if HAVE_MMX_INLINE
+#ifndef __MMX__
+#include "libavutil/cpu.h"
+#endif
+
 #   define emms_c emms_c
 /**
  * Empty mmx state.
-- 
2.32.0



More information about the ffmpeg-devel mailing list