Skip to content
This repository has been archived by the owner on Oct 7, 2021. It is now read-only.

External Libraries

Taner Şener edited this page Jul 27, 2020 · 21 revisions

This project generates binaries for MobileFFmpeg, FFmpeg and the following external libraries. MobileFFmpeg top level build scripts (android.sh, ios.sh and tvos.sh) compile these external libraries according to the build options provided.

External Libraries

These libraries are supported by FFmpeg and needs to be compiled before FFmpeg, when enabled. Below you can see the the dependencies between them. Their versions can be found in the Versions page.

  • chromaprint
  • fontconfig
    • depends libuuid, expat, libiconv, freetype
  • freetype
    • depends libpng
  • fribidi
  • gmp
  • gnutls
    • depends nettle, gmp, libiconv
  • kvazaar
  • lame
    • depends libiconv
  • libaom
  • libass
    • depends freetype, fribidi, fontconfig, libiconv, libuuid, expat
  • libiconv
  • libilbc
  • libtheora
    • depends libogg, libvorbis
  • libvorbis
    • depends libogg
  • libvpx
  • libwebp
    • depends giflib, libjpeg / libjpeg-turbo, libpng, tifflib
  • libxml2
    • depends libiconv
  • opencore-amr
  • openh264
  • opus
  • sdl
  • shine
  • snappy
  • soxr
  • speex
  • tesseract
    • depends leptonica
  • twolame
    • depends libsndfile
  • vo-amrwbenc
  • wavpack

External Libraries with GPL License

These libraries are supported by FFmpeg and requires --enable-gpl option to be set explicitly.

  • rubberband
    • depends libsamplerate
  • libvid.stab
  • x264
  • x265
  • xvidcore

Supplementary Packages

Supplementary packages are libraries required to compile external libraries. When top level scripts build an external library, its supplementary packages are built first before the external library itself.

  • expat
  • giflib
  • leptonica
    • depends giflib, libjpeg-turbo, libpng, libwebp, tiff
  • libjpeg
  • libjpeg-turbo
  • libogg
  • libpng
  • libsndfile
  • libsamplerate
  • libuuid
  • nettle
    • depends gmp
  • tiff
    • depends libjpeg / libjpeg-turbo

expat

Since v1.1, fontconfig and libass depends on expat instead of libxml2.

libjpeg-turbo

Starting from v2.x, libjpeg is replaced with libjpeg-turbo. Both libwebp and tiff depends on it. libjpeg-turbo is a libjpeg fork which uses SIMD instructions to accelerate JPEG operations.

libiconv

Since v4.3.1, libiconv external library is used only on Android platform. iOS and tvOS platforms use libiconv system library.

libuuid

As of v4.3.2, libuuid external library is used only on Android platform. iOS and tvOS platforms use libuuid system library.

vo-amrwbenc

Starting from v4.4.LTS and v4.4, libopencore-amrwb, which provides an amr-wb decoder, is replaced with vo-amrwbenc external library which includes VisualOn AMR-WB encoder.

Clone this wiki locally