ASM Support - tanersener/ffmpeg-kit GitHub Wiki
Build scripts of the libraries try to enable all CPU optimizations possible. But some libraries do not support CPU optimizations and configure/build operations fail when asm is enabled.
Below you can see the libraries and architectures that do not support asm. Other than these, all libraries are built with asm enabled.
Android
gmp: Enabling assembly producescannot locate symbol "__gmp_binvert_limb_table"error when library is loaded.gnutls,libass,xvidcore,x264: Enabling asm forx86ABI causes text relocation errors inlibavfilter.so,libavformat.soandlibavcodec.so.libtheora: asm is disabled on LTS releases. Enabling asm causes random crashes on pre API 21 devices.libwebp: This library dropped support forarm-v7aarchitecture (armeabi-v7a without NEON) with release 1.0.2. Therefore, asm is disabled forarm-v7aarchitecture.openh264is built without-DHAVE_NEONflag onarm-v7a-neonarchitecture.-DHAVE_NEONflag causes undefined symbol errors forWelsCopy8x8_neon.x265: Assembly compilation fails forarm64-v8aarchitecture. It is possible to buildarm-v7a,arm-v7a-neonandx86with assembly enabled but all three ABIs include relocation errors. Additionally, assembly onx86-64causes linking errors.
iOS / macOS / tvOS
-
gmp: Enabling assembly onarmv7,armv7s,arm64andarm64earchitectures causesconfigureto fail withconfigure: error: cannot determine how to define a 32-bit word. -
kvazaar,libaom,libass,libvpx,openh264: Enabling asm inx86-64architecture does not cause any compilation errors. But creatingxcframeworkbundles fails with the following error. Assembly is disabled for these libraries inx86-64architecture to resolve this error.The CodingKeys(stringValue: "SupportedPlatform", intValue: nil) is empty in library -x86_64. -
libjpeg-turbo: Build fails oni386architecture witherror: symbol '.no_avx2' undefinederror. -
wavpack: Build fails on allarmarchitectures when asm is enabled. -
xvidcore: Build fails fori386architecture when asm is enabled.ffmpegcrashes when asm is enabled onx86-64architecture. -
x265: Assembly compilation fails forarm64andarm64earchitectures.