summaryrefslogtreecommitdiff
path: root/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb
diff options
context:
space:
mode:
authorWilliam A. Kennington III <wak@google.com>2021-06-02 22:28:27 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2021-06-07 18:15:22 +0300
commitac69b488c6ecf0e6df8321218006f23211c45e46 (patch)
tree899942e99c3be5138dd4784f939f0e8b717f90b9 /poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb
parentee32beb0333105ea120420a3556a752079ef5437 (diff)
downloadopenbmc-ac69b488c6ecf0e6df8321218006f23211c45e46.tar.xz
poky: subtree update:2dcd1f2a21..9d1b332292
Alejandro Hernandez Samaniego (2): baremetal-helloworld: Enable RISC-V 64 port baremetal-image: Fix post process command rootfs_update_timestamp Alexander Kanavin (94): python3: add markdown/smartypants/typogrify modules gi-docgen: add a recipe and class gdk-pixbuf/pango: replace gtk-doc with gi-docgen vala: upgrade 0.50.4 -> 0.52.2 xkbcomp: upgrade 1.4.4 -> 1.4.5 stress-ng: upgrade 0.12.05 -> 0.12.06 xserver-xorg: upgrade 1.20.10 -> 1.20.11 xorgproto: upgrade 2020.1 -> 2021.3 dpkg: update 1.20.7.1 -> 1.20.9 puzzles: update to latest revision cmake: update 3.19.5 -> 3.20.1 meson: update 0.57.1 -> 0.57.2 systemd: backport a patch to avoid unnecessary rsync dependency with latest meson pulseaudio: unbreak build with latest meson libdnf: upgrade 0.58.0 -> 0.62.0 bluez5: upgrade 5.56 -> 5.58 libxkbcommon: update 1.0.3 -> 1.2.1 libgudev: update 234 -> 236 vulkan-samples: update to latest revision gnupg: upgrade 2.2.27 -> 2.3.1 virglrenderer: update 0.8.2 -> 0.9.1 webkitgtk: update 2.30.6 -> 2.32.0 acl: upgrade 2.2.53 -> 2.3.1 bind: upgrade 9.16.12 -> 9.16.13 bison: upgrade 3.7.5 -> 3.7.6 createrepo-c: upgrade 0.17.0 -> 0.17.2 cronie: upgrade 1.5.5 -> 1.5.7 dnf: upgrade 4.6.0 -> 4.7.0 e2fsprogs: upgrade 1.46.1 -> 1.46.2 gnu-efi: upgrade 3.0.12 -> 3.0.13 systemd-boot: backport a fix to address failures with new gnu-efi gobject-introspection: upgrade 1.66.1 -> 1.68.0 gtk+3: upgrade 3.24.25 -> 3.24.28 harfbuzz: upgrade 2.7.4 -> 2.8.0 less: upgrade 563 -> 581 libfm: upgrade 1.3.1 -> 1.3.2 libinput: upgrade 1.16.4 -> 1.17.1 libwpe: upgrade 1.8.0 -> 1.10.0 libxres: upgrade 1.2.0 -> 1.2.1 linux-firmware: upgrade 20210208 -> 20210315 pango: upgrade 1.48.2 -> 1.48.4 piglit: upgrade to latest revision pkgconf: upgrade 1.7.3 -> 1.7.4 python3-hypothesis: upgrade 6.2.0 -> 6.9.1 python3-importlib-metadata: upgrade 3.4.0 -> 3.10.1 python3-pytest: upgrade 6.2.2 -> 6.2.3 python3-setuptools-scm: upgrade 5.0.1 -> 6.0.1 x264: upgrade to latest revision ptest: add a test for orphaned ptests, and restore ones found by it swig: fix upstream version check liberation-fonts: fix upstream version check Revert "go: Use dl.google.com for SRC_URI" powertop: update 2.13 -> 2.14 mesa: add lmsensors PACKAGECONFIG ffmpeg: update 4.3.2 -> 4.4 qemu: use 4 cores in qemu guests avahi: disable gtk bits gdk-pixbuf: rewrite the cross-build support for tests gnome: drop upstream even condition from a few recipes expat: upgrade 2.2.10 -> 2.3.0 meson.bbclass: split python routines into a separate class gstreamer1.0-plugins-base: backport a patch to fix meson 0.58 builds meson: update 0.57.2 -> 0.58.0 qemu: backport a patch to fix meson 0.58 builds nativesdk-meson: correctly set cpu_family bitbake: fetch2/wget: when checking latest versions, consider all numerical directories mklibs: remove recipes and class local.conf: Drop support for mklibs u-boot: upgrade 2021.01 -> 2021.04 gdk-pixbuf: update a patch status systemd: update 247.6 -> 248.3 systemd-conf: do not version in lockstep with systemd gnu-config: update to latest revision mmc-utils: update to latest revision python3-smartypants: fix upstream version check at: upgrade 3.2.1 -> 3.2.2 gnomebase: trim the SRC_URI directory from the back gsettings-desktop-schemas: upgrade 3.38.0 -> 40.0 igt-gpu-tools: upgrade 1.25 -> 1.26 mesa: update 21.0.3 -> 21.1.1 vulkan-samples: update to latest revision libgpg-error: update 1.41 -> 1.42 webkitgtk: update 2.32.0 -> 2.32.1 glib-2.0: update 2.68.1 -> 2.68.2 apt: upgrade 2.2.2 -> 2.2.3 cmake: update 3.20.1 -> 3.20.2 libdnf: update 0.62.0 -> 0.63.0 harfbuzz: update 2.8.0 -> 2.8.1 curl: update 7.76.0 -> 7.76.1 systemtap: update 4.4 -> 4.5 wayland: package target binaries into -tools, not into -dev ptest: add newly discovered missing runtime dependencies across recipes images: remove sato/weston ptest images images: add ptest images based on core-image-minimal Andreas Müller (1): gstreamer1.0-plugins-good: fix build with gcc11 Andrej Valek (1): expat: upgrade 2.3.0 -> 2.4.1 Anuj Mittal (1): lsb-release: fix reproducibility failure Armin Kuster (5): bitbake: hashserv/server.py: drop unused imports bitbake: hashserver/client.py: drop unused imports poky.yaml: fedora33: add missing pkgs systemctl: Stop tracebacks use formated error messages package_manager/rpm: decode systemctl failures Bastian Krause (1): ccache: version bump 4.2.1 -> 4.3 Bruce Ashfield (18): linux-yocto/5.4: qemuppc32: reduce serial shutdown issues kern-tools: Kconfiglib: add support for bare 'modules' keyword lttng-modules: update devupstream to v2.13-rc lttng-modules: update to v2.12.6 kernel-yocto: provide debug / summary information for metadata linux-yocto/5.10: update to v5.10.35 linux-yocto/5.4: update to v5.4.117 linux-yocto/5.10: ktypes/standard: disable obsolete crypto options by default linux-yocto/5.10: update to v5.10.36 linux-yocto/5.4: update to v5.4.118 linux-yocto/5.10: update to v5.10.37 linux-yocto/5.4: update to v5.4.119 kernel-devsrc: adjust NM and OBJTOOL variables for target linux-yocto/5.10: update to v5.10.38 linux-yocto-dev: bump to v5.13+ linux-yocto/5.4: update to v5.4.120 linux-yocto/5.10: update to v5.10.41 linux-yocto/5.4: update to v5.4.123 Carlos Rafael Giani (1): ffmpeg: Add libopus packageconfig Changqing Li (2): unfs3: correct configure option pkgconfig: update SRC_URI Chen Qi (3): db: update CVE_PRODUCT rt-tests: update SRCREV xxhash: backport patch to fix special char problem Daniel McGregor (3): lib/oe/gpg_sign.py: Fix gpg verification sstate: Ignore sstate signing key bison: Make libtextstyle and libreadline optional Daniel Wagenknecht (1): kernel-dev: document KCONFIG_MODE Douglas Royds (3): Revert "icecc: Don't use icecc when INHIBIT_DEFAULT_DEPS is set" icecc: Demote "could not get ICECC_CC" warning to note icecc-create-env: Silence warning: invalid ICECC_ENV_EXEC Drew Moseley (1): manuals: fix a few incorrect option specifications. Guillaume Champagne (1): image-live.bbclass: order do_bootimg after do_rootfs Joshua Watt (1): zstd: Add patch to fix MinGW builds Kai Kang (1): grub2.inc: remove '-O2' from CFLAGS Khem Raj (17): swig: Upgrade to 4.0.2 python3-markdown: Upgrade to 3.3.4 ffmpeg: Fix build on mips npth: Check for pthread_create for including lpthread gcc: Add target gcc include search for musl config too gcc: Extend .gccrelocprefix section support to musl configs gcc: Refresh patch to fix patch fuzz musl: Fix __NR_fstatat syscall name for riscv libxfixes: Update to 6.0.0 release xorgproto: Upgrade to 2021.4 release glibc: Update to latest 2.33 branch systemd: Fix 248.3 on musl glibc: Enable memory tagging for aarch64 gcc: Update to latest on release/gcc-11 branch apt: Add missing <array> header ovmf: Fix VLA warnings with GCC 11 libucontext: Switch to meson build system Martin Jansa (4): gcc-sanitizers: Package up static hwasan files as well webkitgtk: fix build without opengl in DISTRO_FEATURES binutils: backport DWARF-5 support for gold sstatesig.py: make it fatal error when sstate manifest isn't found Michael Halstead (3): releases: update to include 3.2.4 uninative: Upgrade to 3.2 (gcc11 support) releases: update to include 3.3.1 Michael Opdenacker (8): manuals: reduce verbosity with "worry about" expression manuals: reduce verbosity related to "the following" expression ref-manual: simplify style kernel-dev manual: simplify style dev-manual: simplify style sdk-manual: simplify style and fix formating overview-manual: simplify style and add missings references manuals: simplify style Mike Crowe (2): npm.bbclass: Allow nodedir to be overridden by NPM_NODEDIR libnotify: Make gtk+3 dependency optional Ming Liu (4): kernel-fitimage.bbclass: fix a wrong conditional check initramfs-framework:rootfs: fix wrong indentions kernel-fitimage.bbclass: drop unit addresses from bootscr sections uboot-sign/kernel-fitimage: split generate_rsa_keys task Nikolay Papenkov (1): flex: correct license information Nisha Parrakat (1): squashfs-tools: package squashfs-fs.h Peter Kjellerstedt (3): libcap: Configure Make variables correctly without a horrible hack util-linux.inc: Do not modify BPN native.bbclass: Do not remove "-native" in the middle of recipe names Petr Vorel (1): ltp: Update to 20210524 Richard Purdie (92): oeqa/qemurunner: Fix binary vs str issue oeqa/qemurunner: Improve handling of run_serial for shutdown commands ptest-packagelists: Add expat-ptest to fast ptests puzzles: Upstream changed to main branch for development grub2: Add CVE whitelist entries for issues fixed in 2.06 glibc: Document and whitelist CVE-2019-1010022-25 qemu: Exclude CVE-2017-5957 from cve-check qemu: Exclude CVE-2007-0998 from cve-check qemu: Exclude CVE-2018-18438 from cve-check jquery: Exclude CVE-2007-2379 from cve-check logrotate: Exclude CVE-2011-1548,1549,1550 from cve-check openssh: Exclude CVE-2007-2768 from cve-check ovmf: Improve reproducibility by enabling prefix mapping bind: Exclude CVE-2019-6470 from cve-check openssh: Exclude CVE-2008-3844 from cve-check unzip: Exclude CVE-2008-0888 from cve-check cpio: Exclude CVE-2010-4226 from cve-check xinetd: Exclude CVE-2013-4342 from cve-check ghostscript: Exclude CVE-2013-6629 from cve-check bluez: Exclude CVE-2020-12352 CVE-2020-24490 from cve-check tiff: Exclude CVE-2015-7313 from cve-check ovmf: Disable lto to aid reproducibility ovmf: Fix other reproducibility issues rpm: Exclude CVE-2021-20271 from cve-check coreutils: Exclude CVE-2016-2781 from cve-check librsvg: Exclude CVE-2018-1000041 from cve-check avahi: Exclude CVE-2021-26720 from cve-check qemu: Set SMP to 4 cpus for arm/x86 only qemuboot-x86: Switch to IvyBridge and q35 instead of pc qemu-x86: Add commandline options to improve boot sstate: Handle manifest 'corruption' issue lttng-ust: Upgrade 2.12.1 -> 2.12.2 qemu: Upgrade 5.2.0 -> 6.0.0 python3-markupsafe: Upgrade 1.1.1 -> 2.0.0 python3-jinja2: Upgrade 2.11.3 -> 3.0.0 ofono: upgrade 1.31 -> 1.32 libnss-mdns: upgrade 0.14.1 -> 0.15 python3-git: upgrade 3.1.14 -> 3.1.17 bind: upgrade 9.16.13 -> 9.16.15 vala: upgrade 0.52.2 -> 0.52.3 libjpeg-turbo: upgrade 2.0.6 -> 2.1.0 btrfs-tools: upgrade 5.12 -> 5.12.1 python3-hypothesis: upgrade 6.9.1 -> 6.12.0 python3-numpy: upgrade 1.20.2 -> 1.20.3 gtk+3: upgrade 3.24.28 -> 3.24.29 sudo: upgrade 1.9.6p1 -> 1.9.7 stress-ng: upgrade 0.12.06 -> 0.12.08 less: upgrade 581 -> 586 libtirpc: upgrade 1.3.1 -> 1.3.2 libinput: upgrade 1.17.1 -> 1.17.2 zstd: upgrade 1.4.9 -> 1.5.0 hdparm: upgrade 9.61 -> 9.62 libxkbcommon: upgrade 1.2.1 -> 1.3.0 spirv-tools: upgrade 2020.7 -> 2021.1 diffoscope: upgrade 172 -> 175 mpg123: upgrade 1.26.5 -> 1.27.2 sqlite3: upgrade 3.35.3 -> 3.35.5 wayland-protocols: upgrade 1.20 -> 1.21 shaderc: upgrade 2020.5 -> 2021.0 wpebackend-fdo: upgrade 1.8.3 -> 1.8.4 libxcrypt-compat: upgrade 4.4.19 -> 4.4.20 Revert "cml1.bbclass: Return sorted list of cfg files" bitbake: server/process: Handle error in heartbeat funciton in OOM case glibc: Add 8GB VM usage cap for usermode test suite cve-extra-exclusions.inc: add exclusion list for intractable CVE's rpm: Drop CVE exclusion as database fixed to handle cve-extra-exclusions: Fix typos grub: Exclude CVE-2019-14865 from cve-check cve-extra-exclusions.inc: Clean up merged CPE updates ltp: Disable problematic tests causing autobuilder hangs python3-setuptools: upgrade 56.0.0 -> 56.2.0 distro/maintainers: Fix up the ptest image entries oeqa/runtime/rpm: Drop log message counting test component linux-firmware: upgrade 20210315 -> 20210511 libxcrypt: Upgrade 4.4.20 -> 4.4.22 iproute2: upgrade 5.11.0 -> 5.12.0 libx11: upgrade 1.7.0 -> 1.7.1 python3-hypothesis: upgrade 6.12.0 -> 6.13.7 pango: upgrade 1.48.4 -> 1.48.5 python3-importlib-metadata: upgrade 4.0.1 -> 4.3.0 libmodulemd: upgrade 2.12.0 -> 2.12.1 vte: upgrade 0.64.0 -> 0.64.1 libinput: upgrade 1.17.2 -> 1.17.3 gi-docgen: upgrade 2021.5 -> 2021.6 kmod: upgrade 28 -> 29 xorgproto: upgrade 2021.4 -> 2021.4.99.1 libpcre2: upgrade 10.36 -> 10.37 libepoxy: upgrade 1.5.5 -> 1.5.8 python3-jinja2: upgrade 3.0.0 -> 3.0.1 curl: upgrade 7.76.1 -> 7.77.0 python3-setuptools: upgrade 56.2.0 -> 57.0.0 oeqa/qemurunner: Improve timeout handling Richard Weinberger (1): Add support for erofs filesystems Robert Joslyn (3): liberation-fonts: Update to 2.1.4 epiphany: Update to 40.1 btrfs-tools: Update to 5.12 Robert P. J. Day (8): sdk-manual: couple minor fixes in using.rst sdk-manual: various cleanups to intro.rst ref-manual: delete references to dead LSB compliance ref-manual: delete extraneous back quote image.bbclass: fix comment "pacackages" -> "packages" meta/lib/oe/rootfs.py: Fix typo "Restoreing" -> "Restoring" bitbake.conf: alphabetize contents of ASSUME_PROVIDED ref-manual: add links to some variables in glossary Romain Naour (1): dejagnu: needs expect at runtime Ross Burton (12): cairo: backport patch for CVE-2020-35492 libnotify: whitelist CVE-2013-7381 (specific to the NodeJS bindings) builder: whitelist CVE-2008-4178 (a different builder) libarchive: disable redundant libxml2 PACKAGECONFIG meson: update patch status cups: whitelist CVE-2021-25317 libsolv: add missing db dependency rpm: turn Berkeley DB hard dependency into PACKAGECONFIG python3: update status on upstreamed patch ref-manual: Ubuntu 20.04 is also LTS package_rpm: pass XZ_THREADS to rpm gcc: revert libstc++-gdb.py installation changes Samuli Piippo (3): gcc-cross-canadian: add symlinks for ld.bfd and ld.gold libarchive: enable zstd support cmake-native: enabled zstd support Stefan Ghinea (1): boost: fix do_fetch failure Steve Sakoman (1): expat: set CVE_PRODUCT Tony Tascioglu (3): libxml2: Reformat runtest.patch libxml2: Add bash dependency for ptests. libxml2: Update to 2.9.12 Trevor Gamblin (2): python3: upgrade 3.9.4 -> 3.9.5 bind: upgrade 9.16.15 -> 9.16.16 Ulrich Ölmann (1): local.conf.sample: fix typo Vinícius Ossanes Aquino (1): lttng-modules: backport patches to fix build against 5.12+ kernel Yann Dirson (1): linux-firmware: include all relevant files in -bcm4356 hongxu (1): gdk-pixbuf: fix nativesdk do_configure failed wangmy (21): python3-pygments: upgrade 2.8.1 -> 2.9.0 at-spi2-core: upgrade 2.40.0 -> 2.40.1 ell: upgrade 0.39 -> 0.40 kexec-tools: upgrade 2.0.21 -> 2.0.22 go: upgrade 1.16.3 -> 1.16.4 python3-attrs: upgrade 20.3.0 -> 21.2.0 python3-six: upgrade 1.15.0 -> 1.16.0 vulkan-samples: update to latest revision vulkan-headers: upgrade 1.2.170.0 -> 1.2.176.0 vulkan-tools: upgrade 1.2.170.0 -> 1.2.176.0 vulkan-loader: upgrade 1.2.170.0 -> 1.2.176.0 distcc: upgrade 3.3.5 -> 3.4 libdrm: upgrade 2.4.105 -> 2.4.106 libidn2: upgrade 2.3.0 -> 2.3.1 libtasn1: upgrade 4.16.0 -> 4.17.0 python3-libarchive-c: upgrade 2.9 -> 3.0 python3-markupsafe: upgrade 2.0.0 -> 2.0.1 python3-more-itertools: upgrade 8.7.0 -> 8.8.0 python3-pytest: upgrade 6.2.3 -> 6.2.4 logrotate: upgrade 3.18.0 -> 3.18.1 stress-ng: upgrade 0.12.08 -> 0.12.09 zhengruoqin (10): busybox: upgrade 1.33.0 -> 1.33.1 rng-tools: upgrade 6.11 -> 6.12 rpcbind: upgrade 1.2.5 -> 1.2.6 sysklogd: upgrade 2.2.2 -> 2.2.3 python3-importlib-metadata: upgrade 3.10.1 -> 4.0.1 python3-sortedcontainers: upgrade 2.3.0 -> 2.4.0 rxvt-unicode: upgrade 9.22 -> 9.26 libedit: upgrade 20210419-3.1 -> 20210522-3.1 libtest-needs-perl: upgrade 0.002006 -> 0.002009 libucontext: upgrade 0.10 -> 1.1 Change-Id: I5e5148036ac2a7918974733e5751c3392139b17e Signed-off-by: William A. Kennington III <wak@google.com>
Diffstat (limited to 'poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb')
-rw-r--r--poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb178
1 files changed, 178 insertions, 0 deletions
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb
new file mode 100644
index 000000000..664fc6066
--- /dev/null
+++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb
@@ -0,0 +1,178 @@
+SUMMARY = "A complete, cross-platform solution to record, convert and stream audio and video."
+DESCRIPTION = "FFmpeg is the leading multimedia framework, able to decode, encode, transcode, \
+ mux, demux, stream, filter and play pretty much anything that humans and machines \
+ have created. It supports the most obscure ancient formats up to the cutting edge."
+HOMEPAGE = "https://www.ffmpeg.org/"
+SECTION = "libs"
+
+LICENSE = "BSD & GPLv2+ & LGPLv2.1+ & MIT"
+LICENSE_${PN} = "GPLv2+"
+LICENSE_libavcodec = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_libavdevice = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_libavfilter = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_libavformat = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_libavresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_libavutil = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_libpostproc = "GPLv2+"
+LICENSE_libswresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_libswscale = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_FLAGS = "commercial"
+
+LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \
+ file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
+
+SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \
+ file://0001-libavutil-include-assembly-with-full-path-from-sourc.patch \
+ "
+SRC_URI[sha256sum] = "06b10a183ce5371f915c6bb15b7b1fffbe046e8275099c96affc29e17645d909"
+
+# Build fails when thumb is enabled: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET_armv6 = "arm"
+
+# Should be API compatible with libav (which was a fork of ffmpeg)
+# libpostproc was previously packaged from a separate recipe
+PROVIDES = "libav libpostproc"
+
+DEPENDS = "nasm-native"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= "avdevice avfilter avcodec avformat swresample swscale postproc avresample \
+ alsa bzlib lzma pic pthreads shared theora zlib \
+ ${@bb.utils.contains('AVAILTUNES', 'mips32r2', 'mips32r2', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xv xcb', '', d)}"
+
+# libraries to build in addition to avutil
+PACKAGECONFIG[avdevice] = "--enable-avdevice,--disable-avdevice"
+PACKAGECONFIG[avfilter] = "--enable-avfilter,--disable-avfilter"
+PACKAGECONFIG[avcodec] = "--enable-avcodec,--disable-avcodec"
+PACKAGECONFIG[avformat] = "--enable-avformat,--disable-avformat"
+PACKAGECONFIG[swresample] = "--enable-swresample,--disable-swresample"
+PACKAGECONFIG[swscale] = "--enable-swscale,--disable-swscale"
+PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc"
+PACKAGECONFIG[avresample] = "--enable-avresample,--disable-avresample"
+
+# features to support
+PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
+PACKAGECONFIG[altivec] = "--enable-altivec,--disable-altivec,"
+PACKAGECONFIG[bzlib] = "--enable-bzlib,--disable-bzlib,bzip2"
+PACKAGECONFIG[fdk-aac] = "--enable-libfdk-aac --enable-nonfree,--disable-libfdk-aac,fdk-aac"
+PACKAGECONFIG[gpl] = "--enable-gpl,--disable-gpl"
+PACKAGECONFIG[gsm] = "--enable-libgsm,--disable-libgsm,libgsm"
+PACKAGECONFIG[jack] = "--enable-indev=jack,--disable-indev=jack,jack"
+PACKAGECONFIG[libopus] = "--enable-libopus,--disable-libopus,libopus"
+PACKAGECONFIG[libvorbis] = "--enable-libvorbis,--disable-libvorbis,libvorbis"
+PACKAGECONFIG[lzma] = "--enable-lzma,--disable-lzma,xz"
+PACKAGECONFIG[mfx] = "--enable-libmfx,--disable-libmfx,intel-mediasdk"
+PACKAGECONFIG[mp3lame] = "--enable-libmp3lame,--disable-libmp3lame,lame"
+PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl"
+PACKAGECONFIG[sdl2] = "--enable-sdl2,--disable-sdl2,virtual/libsdl2"
+PACKAGECONFIG[speex] = "--enable-libspeex,--disable-libspeex,speex"
+PACKAGECONFIG[srt] = "--enable-libsrt,--disable-libsrt,srt"
+PACKAGECONFIG[theora] = "--enable-libtheora,--disable-libtheora,libtheora libogg"
+PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
+PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
+PACKAGECONFIG[vpx] = "--enable-libvpx,--disable-libvpx,libvpx"
+PACKAGECONFIG[x264] = "--enable-libx264,--disable-libx264,x264"
+PACKAGECONFIG[x265] = "--enable-libx265,--disable-libx265,x265"
+PACKAGECONFIG[xcb] = "--enable-libxcb,--disable-libxcb,libxcb"
+PACKAGECONFIG[xv] = "--enable-outdev=xv,--disable-outdev=xv,libxv"
+PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib"
+
+# other configuration options
+PACKAGECONFIG[mips32r2] = ",--disable-mipsdsp --disable-mipsdspr2"
+PACKAGECONFIG[pic] = "--enable-pic"
+PACKAGECONFIG[pthreads] = "--enable-pthreads,--disable-pthreads"
+PACKAGECONFIG[shared] = "--enable-shared"
+PACKAGECONFIG[strip] = ",--disable-stripping"
+
+# Check codecs that require --enable-nonfree
+USE_NONFREE = "${@bb.utils.contains_any('PACKAGECONFIG', [ 'openssl' ], 'yes', '', d)}"
+
+def cpu(d):
+ for arg in (d.getVar('TUNE_CCARGS') or '').split():
+ if arg.startswith('-mcpu='):
+ return arg[6:]
+ return 'generic'
+
+EXTRA_OECONF = " \
+ ${@bb.utils.contains('USE_NONFREE', 'yes', '--enable-nonfree', '', d)} \
+ \
+ --cross-prefix=${TARGET_PREFIX} \
+ \
+ --ld='${CCLD}' \
+ --cc='${CC}' \
+ --cxx='${CXX}' \
+ --arch=${TARGET_ARCH} \
+ --target-os='linux' \
+ --enable-cross-compile \
+ --extra-cflags='${CFLAGS} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}' \
+ --extra-ldflags='${LDFLAGS}' \
+ --sysroot='${STAGING_DIR_TARGET}' \
+ ${EXTRA_FFCONF} \
+ --libdir=${libdir} \
+ --shlibdir=${libdir} \
+ --datadir=${datadir}/ffmpeg \
+ --cpu=${@cpu(d)} \
+ --pkg-config=pkg-config \
+"
+
+EXTRA_OECONF_append_linux-gnux32 = " --disable-asm"
+
+EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa64r6', '--disable-mips64r2 --disable-mips32r2', '', d)}"
+EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa64r2', '--disable-mips64r6 --disable-mips32r6', '', d)}"
+EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mips32r2', '--disable-mips64r6 --disable-mips32r6', '', d)}"
+EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mips32r6', '--disable-mips64r2 --disable-mips32r2', '', d)}"
+EXTRA_OECONF_append_mips = " --extra-libs=-latomic --disable-mips32r5 --disable-mipsdsp --disable-mipsdspr2 \
+ --disable-loongson2 --disable-loongson3 --disable-mmi --disable-msa --disable-msa2"
+
+# gold crashes on x86, another solution is to --disable-asm but thats more hacky
+# ld.gold: internal error in relocate_section, at ../../gold/i386.cc:3684
+
+LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+
+EXTRA_OEMAKE = "V=1"
+
+do_configure() {
+ ${S}/configure ${EXTRA_OECONF}
+}
+
+# patch out build host paths for reproducibility
+do_compile_prepend_class-target() {
+ sed -i -e "s,${WORKDIR},,g" ${B}/config.h
+}
+
+PACKAGES =+ "libavcodec \
+ libavdevice \
+ libavfilter \
+ libavformat \
+ libavresample \
+ libavutil \
+ libpostproc \
+ libswresample \
+ libswscale"
+
+FILES_libavcodec = "${libdir}/libavcodec${SOLIBS}"
+FILES_libavdevice = "${libdir}/libavdevice${SOLIBS}"
+FILES_libavfilter = "${libdir}/libavfilter${SOLIBS}"
+FILES_libavformat = "${libdir}/libavformat${SOLIBS}"
+FILES_libavresample = "${libdir}/libavresample${SOLIBS}"
+FILES_libavutil = "${libdir}/libavutil${SOLIBS}"
+FILES_libpostproc = "${libdir}/libpostproc${SOLIBS}"
+FILES_libswresample = "${libdir}/libswresample${SOLIBS}"
+FILES_libswscale = "${libdir}/libswscale${SOLIBS}"
+
+# ffmpeg disables PIC on some platforms (e.g. x86-32)
+INSANE_SKIP_${MLPREFIX}libavcodec = "textrel"
+INSANE_SKIP_${MLPREFIX}libavdevice = "textrel"
+INSANE_SKIP_${MLPREFIX}libavfilter = "textrel"
+INSANE_SKIP_${MLPREFIX}libavformat = "textrel"
+INSANE_SKIP_${MLPREFIX}libavutil = "textrel"
+INSANE_SKIP_${MLPREFIX}libavresample = "textrel"
+INSANE_SKIP_${MLPREFIX}libswscale = "textrel"
+INSANE_SKIP_${MLPREFIX}libswresample = "textrel"
+INSANE_SKIP_${MLPREFIX}libpostproc = "textrel"