From: Stephen Hutchinson via ffmpeg-devel <ffmpeg-devel@ffmpeg.org>
To: ffmpeg-devel@ffmpeg.org
Cc: Stephen Hutchinson <qyot27@gmail.com>
Subject: [FFmpeg-devel] Re: [DISCUSSION] Adding ARM64EC support to FFmpeg
Date: Fri, 3 Oct 2025 16:49:46 -0400
Message-ID: <34332888-1815-4bda-959c-457e67e092f2@gmail.com> (raw)
In-Reply-To: <1932862.tdWV9SEqCh@basile.remlab.net>
On 10/3/25 12:39 PM, Rémi Denis-Courmont via ffmpeg-devel wrote:
> Le perjantaina 3. lokakuuta 2025, 18.11.55 Itä-Euroopan kesäaika Martin
> Storsjö a écrit :
>> Wanting to use the libav* libraries in a hybrid x86_64/arm64ec process
>> seems like something quite plausible though. Not something I'd go out of
>> my way to complicate other things to accomplish, but reasonable build
>> system tweaks to allow such builds sound tolerable to me.
>
> Is it that plausible? That seems far less plausible than running a plain
> x86_64 application on an Arm system. Especially for something performance
> sensitive as FFmpeg, you would want a proper native port. Sure, you could very
> well end up with slow x86 code due to "non-technical challenges" (euphemism
> for the vendor not providing an Arm build or your IT department lagging
> behind).
>
> But realistically, you're not going to be able to replace an x86
> libavcodec.dll with an AArch64 libavcodec.dll in such an x86 app. The chance
> of finding the right build options to get a compatible ABI are pretty much
> zero. In fact, they are very exactly zero because the libavutil ABI depends on
> the ISA due notably to the CPU feature flags, configuration parameters, etc.
>
> So this can only work if you have Arm64EC application code calling an
> hypothetical Arm64EC libav*, but also calling x86 code on independent code
> paths. Why would you not port the x86 code to Arm too (or run them in a
> separate process)? That seems pretty fringe if not academic to me.
>
While I haven't gotten through adding the more newly-added external
libraries to the tedious mingw build guide, IIRC most/all of them
already can be built natively for AArch64, so I can't really think of a
publicly-available set of circumstances where someone would be linking
an x86-64 dependency into a native Arm instance of FFmpeg.
I could see it as trying to use x86-64 builds of AviSynth+, though.
That's LoadLibrary, and I either can't remember or haven't seen
anything that describes how the Arm64EC concept behaves when using
dynamic loading.
Yes, there is a native AArch64 Windows release of AviSynth+,
but there won't be one for Arm64EC, because we dropped support
for building with MSVC outside of x86(-64). An llvm-mingw-built
Arm64EC core wouldn't be able to load MSVC-built x86-64 plugins.
So it wouldn't surprise me if people stubbornly refuse to use
the AArch64 release because they don't want to let go of a build
of a plugin that the plugin author only published for x86-64
(even if said plugin is FOSS).
_______________________________________________
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-10-03 20:50 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
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 [this message]
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=34332888-1815-4bda-959c-457e67e092f2@gmail.com \
--to=ffmpeg-devel@ffmpeg.org \
--cc=qyot27@gmail.com \
/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