Skip to content
This repository has been archived by the owner on Jan 6, 2025. It is now read-only.

Android NEON Support

Taner Sener edited this page Jul 4, 2019 · 15 revisions

Starting from v4.2, MobileFFmpeg Main releases dropped support for non-NEON devices using ARMv7 (arm-v7a) architecture.

But LTS releases still support them. In those releases, arm-v7a and arm-v7a-neon architectures share the same ABI armeabi-v7a. MobileFFmpeg detects the NEON support at runtime and loads the appropriate architecture for armeabi-v7a. This mechanism aims to benefit from NEON optimizations, but the size of armeabi-v7a ABI is bigger than other ABIs since two architectures are included in the same ABI.

Since v2.1 the following .so files are packaged for each ABI.

libavcodec.so
libavdevice.so
libavfilter.so
libavformat.so
libavutil.so
libc++_shared.so            # included only if openh264, snappy, tesseract or x265 is enabled
libcpufeatures.so
libmobileffmpeg-abidetect.so
libmobileffmpeg.so
libswresample.so
libswscale.so

To enable NEON support on armeabi-v7a, the following libraries with -neon postfix are included additionally.

libavcodec-neon.so
libavfilter-neon.so
libmobileffmpeg-armv7a-neon
libswscale-neon.so
Clone this wiki locally