I don’t know where it came from but, some posts on other forums say it was at 
patch to FFmpeg provided by Apple to the Handbrake developers:

https://arstechnica.com/civis/viewtopic.php?f=19&t=1472102&start=400 
<https://arstechnica.com/civis/viewtopic.php?f=19&t=1472102&start=400>

But, I can’t find a direct source.  I don’t understand why Apple would not 
provide the patch to the FFmpeg developers – maybe someone did.

This post starts with some interesting detail from a Handbrake developer: 
“Apple contributed a x265 patch with a bunch of neon asm to improve x265 
performance”.

https://bitbucket.org/multicoreware/x265_git/issues/563/patch-neon-arm64-improvements
 
<https://bitbucket.org/multicoreware/x265_git/issues/563/patch-neon-arm64-improvements>

Apparently, it speeds up x264 and x265 encoding by 200% or more.  But, there 
are forum comments that the x265 developers were ignoring it during 2020 and 
2021.

Wikipedia has some detail on Neon itself (I should always look there first):  
https://en.wikipedia.org/wiki/ARM_architecture_family#Advanced_SIMD_(Neon) 
<https://en.wikipedia.org/wiki/ARM_architecture_family#Advanced_SIMD_(Neon)>

When I run a conversion using Handbrake on my M1 Mac, the log file contains 
this line:

x264 [info]: using cpu capabilities: ARMv8 NEON

I think Handbrake is using the “libx264” encoder.

This is a link to the Pull Request in which the “ Neon patch” was added to the 
Homebrew script:

https://github.com/homebrew-ffmpeg/homebrew-ffmpeg/pull/98/commits/041119acb9f1968513829795600d574794411295
 
<https://github.com/homebrew-ffmpeg/homebrew-ffmpeg/pull/98/commits/041119acb9f1968513829795600d574794411295>

The “osxexperts” script for compiling FFmpeg <http://www.osxexperts.net/> has 
this nearly at the end:

./configure --prefix=${SOURCE} --extra-cflags="-fno-stack-check" --arch=arm64 
--cc=/usr/bin/clang --enable-gpl --enable-libopenjpeg --enable-libopus 
--enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libvpx 
--enable-libwebp --enable-libass --enable-libfreetype --enable-libtheora 
--enable-libvorbis --enable-libsnappy --enable-libaom --enable-libvidstab 
--enable-libzimg --enable-libsvtav1 --enable-version3 
--pkg-config-flags=--static --disable-ffplay --enable-postproc --enable-nonfree 
--enable-neon --enable-runtime-cpudetect --disable-indev=qtkit 
--disable-indev=x11grab_xcb

This GitHub repo incorporates Neon into that developer’s build of FFmpeg: 
https://github.com/Vargol/ffmpeg-apple-arm64-build 
<https://github.com/Vargol/ffmpeg-apple-arm64-build>

I think this contains the Neon patch: 
https://github.com/Vargol/ffmpeg-apple-arm64-build/blob/master/build/apple_arm64_x265.patch
 
<https://github.com/Vargol/ffmpeg-apple-arm64-build/blob/master/build/apple_arm64_x265.patch>

This is all way above my head so, I hope this helps.


Garry
[email protected]


> On 21 May 2022, at 9:47 pm, Martin Riedl via ffmpeg-user 
> <[email protected]> wrote:
> 
> Can you provide more details?
> 
> Where can I find more details about this patch?
> Do you know, why this patch is not directly applied to FFmpeg source code?
> 
>> On 21. May 2022, at 07:55, Vincentius Vincentius <[email protected]> wrote:
>> 
>> Yes, thank you for the builds.  They are a great help.
>> 
>> Please excuse my ignorance but, does/could this include the “Neon” patch for 
>> the ARM64 builds ?  It has been added to the Homebrew builds (PR #98).
>> 
>> 
>> Garry
>> 
>> 
>>>> Am 20.05.2022 um 12:17 schrieb Martin Riedl via ffmpeg-user 
>>>> <[email protected]>:
>>>> 
>>>> You can check out my build server:
>>>> https://ffmpeg.martin-riedl.de <https://ffmpeg.martin-riedl.de/>
>>>> It provides static builds for FFmpeg, FFprobe and FFplay for Intel and 
>>>> Apple Silicon (nightly builds and releases).
>>>> 
>>>> One major difference to evermeet.cx <http://evermeet.cx/> is that I don’t 
>>>> have that much external codecs embedded (will be extended over time).
>>>> In addition my binaries are signed and the installers also notarized (so 
>>>> no/less trouble with Gatekeeper :-D ).
>>>> 
>>>> Also the source code for compilation is located here:
>>>> https://gitlab.com/martinr92/ffmpeg <https://gitlab.com/martinr92/ffmpeg>
>>>> Feel free to open an issue here if you miss a codec that is important for 
>>>> you.
>>>> 
>>>> Regards,
>>>> Martin
_______________________________________________
ffmpeg-user mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".

Reply via email to