Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: "Kacper Michajłow" <kasper93@gmail.com>
To: ffmpeg-devel@ffmpeg.org
Cc: "Kacper Michajłow" <kasper93@gmail.com>
Subject: [FFmpeg-devel] [PATCH 09/10] avcodec/x86/vc1: guard usage of undefined functions with preprocessor
Date: Tue, 22 Jul 2025 21:16:10 +0200
Message-ID: <20250722191611.744784-9-kasper93@gmail.com> (raw)
In-Reply-To: <20250722191611.744784-1-kasper93@gmail.com>

The asumption is that DCE will remove references to those functions.
However some compilers with certain instrumentation enabled doesn't DCE
those at all, resulting in linking failure. Tested with cl.exe -RTCu -RTCs.

Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
---
 libavcodec/x86/vc1dsp.h      | 4 ++++
 libavcodec/x86/vc1dsp_init.c | 2 ++
 2 files changed, 6 insertions(+)

diff --git a/libavcodec/x86/vc1dsp.h b/libavcodec/x86/vc1dsp.h
index fdd4de1813..6185407b18 100644
--- a/libavcodec/x86/vc1dsp.h
+++ b/libavcodec/x86/vc1dsp.h
@@ -23,7 +23,11 @@
 
 #include "libavcodec/vc1dsp.h"
 
+#if HAVE_6REGS && HAVE_INLINE_ASM && HAVE_MMX_EXTERNAL
+
 void ff_vc1dsp_init_mmx(VC1DSPContext *dsp);
 void ff_vc1dsp_init_mmxext(VC1DSPContext *dsp);
 
+#endif /* HAVE_6REGS && HAVE_INLINE_ASM && HAVE_MMX_EXTERNAL */
+
 #endif /* AVCODEC_X86_VC1DSP_H */
diff --git a/libavcodec/x86/vc1dsp_init.c b/libavcodec/x86/vc1dsp_init.c
index 90b2f3624e..e8163f2886 100644
--- a/libavcodec/x86/vc1dsp_init.c
+++ b/libavcodec/x86/vc1dsp_init.c
@@ -102,6 +102,7 @@ av_cold void ff_vc1dsp_init_x86(VC1DSPContext *dsp)
 {
     int cpu_flags = av_get_cpu_flags();
 
+#if HAVE_6REGS && HAVE_INLINE_ASM && HAVE_MMX_EXTERNAL
     if (HAVE_6REGS && INLINE_MMX(cpu_flags))
         if (EXTERNAL_MMX(cpu_flags))
         ff_vc1dsp_init_mmx(dsp);
@@ -109,6 +110,7 @@ av_cold void ff_vc1dsp_init_x86(VC1DSPContext *dsp)
     if (HAVE_6REGS && INLINE_MMXEXT(cpu_flags))
         if (EXTERNAL_MMXEXT(cpu_flags))
         ff_vc1dsp_init_mmxext(dsp);
+#endif /* HAVE_6REGS && HAVE_INLINE_ASM && HAVE_MMX_EXTERNAL */
 
 #define ASSIGN_LF4(EXT) \
         dsp->vc1_v_loop_filter4  = ff_vc1_v_loop_filter4_ ## EXT; \
-- 
2.50.1

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

  parent reply	other threads:[~2025-07-22 19:18 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-22 19:16 [FFmpeg-devel] [PATCH 01/10] avformat/os_support: check invalid socket value correctly on Windows Kacper Michajłow
2025-07-22 19:16 ` [FFmpeg-devel] [PATCH 02/10] avformat/vivo: fix sscanf specifer for double Kacper Michajłow
2025-07-22 19:16 ` [FFmpeg-devel] [PATCH 03/10] avcodec/d3d12va_decode: remove unused variable Kacper Michajłow
2025-07-22 19:16 ` [FFmpeg-devel] [PATCH 04/10] avcodec/d3d12va_encode: use correct none flag Kacper Michajłow
2025-07-22 19:16 ` [FFmpeg-devel] [PATCH 05/10] avcodec/d3d12va_encode: don't write garbage when there is no header Kacper Michajłow
2025-07-22 19:16 ` [FFmpeg-devel] [PATCH 06/10] avcodec/d3d12va_encode: don't return uninitialized value on error Kacper Michajłow
2025-07-22 19:16 ` [FFmpeg-devel] [PATCH 07/10] avcodec/d3d12va_encode_hevc: remove unused variable Kacper Michajłow
2025-07-22 19:16 ` [FFmpeg-devel] [PATCH 08/10] avcodec/x86/fdct: guard usage of undefined functions with preprocessor Kacper Michajłow
2025-07-22 19:27   ` Kacper Michajlow
2025-07-22 19:16 ` Kacper Michajłow [this message]
2025-07-22 19:16 ` [FFmpeg-devel] [PATCH 10/10] avformat/rtmpproto: " Kacper Michajłow

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250722191611.744784-9-kasper93@gmail.com \
    --to=kasper93@gmail.com \
    --cc=ffmpeg-devel@ffmpeg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git