On Sat, 14 Apr 2018, Diego Biurrun wrote:
On Sat, Apr 14, 2018 at 01:38:30PM +0300, Martin Storsjö wrote:
Make the actual implementation static inline, but add a non-static
non-inline frontend for it.
This fixes building with clang in msvc mode, which does support
gcc style inline assembly.
--- a/libavcodec/x86/xvididct_sse2.c
+++ b/libavcodec/x86/xvididct_sse2.c
@@ -342,7 +342,7 @@ DECLARE_ASM_CONST(16, int32_t, walkenIdctRounders)[] = {
-inline void ff_xvid_idct_sse2(short *block)
+static inline void xvid_idct_sse2(short *block)
{
__asm__ volatile (
"movq "MANGLE (m127) ", %%mm0 \n\t"
@@ -390,15 +390,20 @@ inline void ff_xvid_idct_sse2(short *block)
+void ff_xvid_idct_sse2(short *block)
+{
+ xvid_idct_sse2(block);
+}
Why not simply drop the inline and be done with it? I notice that the MMX
version of this does not have the inline keyword.
That's probably just as good.
// Martin
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel