[FFmpeg-user] FFmpeg for Android

Срђан Обућина obucinac at gmail.com
Wed Nov 21 18:47:21 CET 2012

FFmpeg for Android is updated


- On-the-fly library configuration. FFmpeg will be configured on-the-fly,
  during Android building process, in accordance to the selected product,
  cpu architecture, cpu architecture variant, and fine tuning cpu
- Configuration driven building. No need to manually add filenames to the
  makefiles, or hack through the library in order to get the build you
- Per product configuration. Every TARGET_PRODUCT will have its own
- Builds all libraries and tools, except ffplay.
- Builds both shared and static libraries.
- Builds latest releases form 0.7, 0.8, 0.9, 0.10, 0.11, 1.0 and HEAD
- Supports parallel building from the same source for the different

Tested on:

- FFmpeg releases: 0.7.13, 0.8.12, 0.9.2, 0.10.6, 0.11.2, 1.0, HEAD-4bf3bc6
- Build host OS: Ubuntu 10.04, Ubuntu 11.04
- Android target OS: Honeycomb, ICS, Android Master branch
- Architecture: arm, mips, x86
- SDK + NDK release: platform-11 + NDK-r6, platform-14 + NDK-r8
- Product: full-eng, full_mips-eng, full_x86-eng, and some proprietary
bleeding edge products

Known issues:

- Branches 0.10, 0.9, 0.8, 0.7 cant be built for ARM architecture because
  of the changes in building Android for ARM. The following flag was added
  -D_FORTIFY_SOURCE=1, which enables additional constraints in bionic.

  These constraints are triggered by probably a bug in
  libavfilter/vf_pixdesctest.c, where memcpy is using same source and
  destination address.

  memcpy(outpicref->data[1], outpicref->data[1], 256*4);

  In later versions, this was changed to

  memcpy(outpicref->data[1], picref->data[1], 256*4);

  so 0.11 and higher branches are building fine.

  As this is ffmpeg bug, it is out of my scope to fix it.

  To build branches 0.10, 0.9, 0.8, 0.7 for ARM, fix this bug, or downgrade
  your Android version.

More information about the ffmpeg-user mailing list