From: Harish Raja Selvan via ffmpeg-devel <ffmpeg-devel@ffmpeg.org> To: "Martin Storsjö" <martin@martin.st> Cc: "harish.rajaselvan--- via ffmpeg-devel" <ffmpeg-devel@ffmpeg.org>, Harish Raja Selvan <harish.rajaselvan@multicorewareinc.com> Subject: [FFmpeg-devel] Re: [DISCUSSION] Adding ARM64EC support to FFmpeg Date: Tue, 30 Sep 2025 04:58:43 +0000 Message-ID: <MA5P287MB46250801E615EFD59F4ACEF69E1EA@MA5P287MB4625.INDP287.PROD.OUTLOOK.COM> (raw) In-Reply-To: <582fec83-771a-eef4-d5d1-6ff5621cff98@martin.st> [-- Attachment #1: Type: text/plain, Size: 2036 bytes --] Hello, Thank you for your feedback and questions about the ARM64EC patch. I’m sharing the build system patch for enabling ARM64EC support in FFmpeg. This patch addresses .def file generation for ARM64EC builds on Windows. In-Lined patch: diff --git a/compat/windows/makedef b/compat/windows/makedef index add8222d13..59e300ab61 100755 --- a/compat/windows/makedef +++ b/compat/windows/makedef @@ -108,7 +108,12 @@ if [ -n "$NM" ]; then cut -d' ' -f3 | sed -e "s/^${prefix}//") else - dump=$(dumpbin.exe -linkermember:1 ${libname} | + member=1 + arch=$VSCMD_ARG_TGT_ARCH + if [ "${arch^^}" = "ARM64EC" ]; then + member=32 + fi + dump=$(dumpbin.exe -linkermember:${member} ${libname} | sed -e '/public symbols/,$!d' -e '/^ \{1,\}Summary/,$d' -e "s/ \{1,\}${prefix}/ /" -e 's/ \{1,\}/ /g' | tail -n +2 | cut -d' ' -f3) @@ -121,7 +126,7 @@ list="" for exp in ${regex}; do list="${list}"' '$(echo "${dump}" | - grep "^${exp}" | + grep "^${exp}" | awk '!/\$exit_thunk/{print}' | sed -e 's/^/ /') done -- 2.50.0.windows.1 For reference, here is the configuration used to build FFmpeg with MSVC for ARM64EC: I've also attached the same configuration in ffmpeg-arm64ec-msvc.config for convenience. # find_ar_lib resolves to /usr/share/automake-1.16/ar-lib AR_LIB="$(find_ar_lib)" AR_CMD="${AR_LIB} lib.exe -machine:arm64ec" ARCH="arm64" "${SRC_DIR}/configure" \ --toolchain=msvc \ --target-os=win64 \ --cc=cl.exe \ --cxx=cl.exe \ --extra-cxxflags="-arm64EC" \ --extra-cflags="-arm64EC" \ --extra-ldflags="/machine:arm64ec" \ --as="armasm64.exe -machine ARM64EC" \ --ld=link.exe \ --ar="${AR_CMD}" \ --arch="${ARCH}" In my setup, this configuration requires the gas-preprocessor.pl patch, as the build otherwise ends with a “GNU assembler not found” error. Thanks, Harish Raja Selvan. [-- Attachment #2: 0001-compat-windows-makedef-fix-.def-generation-for-ARM64.patch --] [-- Type: application/octet-stream, Size: 2032 bytes --] [-- Attachment #3: 0001-ffmpeg-gas-preprocessor-enable-ARM64EC-compilation.patch --] [-- Type: application/octet-stream, Size: 1666 bytes --] [-- Attachment #4: config-arm64ec-msvc.config --] [-- Type: application/xml, Size: 480 bytes --] [-- Attachment #5: Type: text/plain, Size: 163 bytes --] _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
next prev parent reply other threads:[~2025-09-30 4:59 UTC|newest] Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top 2025-09-22 10:04 [FFmpeg-devel] " harish.rajaselvan--- via ffmpeg-devel 2025-09-22 11:48 ` [FFmpeg-devel] " Martin Storsjö via ffmpeg-devel 2025-09-23 13:03 ` Harish Raja Selvan via ffmpeg-devel 2025-09-24 12:15 ` Martin Storsjö via ffmpeg-devel 2025-09-30 4:58 ` Harish Raja Selvan via ffmpeg-devel [this message] 2025-10-03 12:27 ` Martin Storsjö via ffmpeg-devel 2025-09-27 9:00 ` Rémi Denis-Courmont via ffmpeg-devel 2025-10-03 12:44 ` Martin Storsjö via ffmpeg-devel 2025-10-03 14:32 ` Rémi Denis-Courmont via ffmpeg-devel 2025-10-03 15:11 ` Martin Storsjö via ffmpeg-devel 2025-10-03 16:39 ` Rémi Denis-Courmont via ffmpeg-devel 2025-10-03 20:49 ` Stephen Hutchinson via ffmpeg-devel 2025-10-04 8:43 ` Rémi Denis-Courmont via ffmpeg-devel
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=MA5P287MB46250801E615EFD59F4ACEF69E1EA@MA5P287MB4625.INDP287.PROD.OUTLOOK.COM \ --to=ffmpeg-devel@ffmpeg.org \ --cc=harish.rajaselvan@multicorewareinc.com \ --cc=martin@martin.st \ /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 http://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/ http://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