summaryrefslogtreecommitdiff
path: root/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.2.bb
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@fuzziesquirrel.com>2019-08-26 08:33:31 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2019-08-26 08:33:45 +0300
commitc68388fccb8c0b5bf4d6b8efff91203796be98b2 (patch)
treef2b3d0381b84be54f0fc03f24daf603d2a6cb95a /poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.2.bb
parent665fd026517259031fd55bcfb2a9dab0d9f3582a (diff)
downloadopenbmc-c68388fccb8c0b5bf4d6b8efff91203796be98b2.tar.xz
poky: subtree update:20946c63c2..c17113f1e2
Adrian Bunk (3): shadow: musl now supports secure_getenv kmod: Replace dolt hacks with backport of upstream dolt removal btrfs-tools: Add a PACKAGECONFIG for zstd Alexander Kanavin (12): linux-yocto: add drm-bochs support mesa: fix upstream version check conf/conf-notes.txt: add a mention of common tools conf/conf-notes.txt: add a mention of common tools gtk-doc: upgrade 1.30 -> 1.31 desktop-file-utils: upgrade 0.23 -> 0.24 libdazzle: upgrade 3.32.2 -> 3.32.3 rt-tests: exclude another development version vala: upgrade 0.44.5 -> 0.44.7 epiphany: upgrade 3.32.3 -> 3.32.4 libmodulemd: depend on target python at build time createrepo-c: upgrade 0.14.3 -> 0.15.0 Alistair Francis (3): qemu: Upgrade to version 4.1 scripts/runqemu: Add support for the BIOS variable qemuriscv64: Specify the firmware as a bios instead of kernel Anuj Mittal (2): binutils: fix CVE-2019-14250 CVE-2019-14444 patch: backport fixes Bruce Ashfield (6): kernel-devsrc: tweak for v5.3+ kern-tools: Add SPDX license headers to source files linux-yocto: arch/x86/boot: use prefix map to avoid embedded paths kernel-yocto: import security fragments from meta-security kconf_check: tweak CONFIG_ regex linux-yocto/4.19: make drm-bochs feature available Changqing Li (2): dbus: disable test-bus qemumips/qemumips64: move QB_SYSTEM_NAME to corresponding conf Chen Qi (1): target-sdk-provides-dummy: extend packages for multilib case He Zhe (2): ltp: Fix tgkill03 failure ltp: Fix ustat02 failure Hongxu Jia (3): nfs-utils: decrease RLIMIT_NOFILE to 4k for systemd distcc: upgrade 3.3.2 -> 3.3.3 ncurses: upgrade 6.1+20181013 -> 6.1+20190803 Jaewon Lee (1): devtool: build: Also run deploy for devtool build if applicable Jason Wessel (2): cross-localedef-native: Add hardlink resolver from util-linux libc-package.bbclass: Split locale hard link processing into two parts Jon Mason (1): resulttool: Prevent multiple results for the same test Kai Kang (1): webkitgtk: disable gold on mipsn32 Kevin Hao (1): psplash: Avoid mount the psplash tmpfs twice Khem Raj (10): musl: Update to latest tip systemd: Drop musl __secure_getenv patch mesa: Add packageconfigs for vc4 and v3d util-linux: Make pam specific logic apply to target recipe alone systemd.bbclass: Limit rm_sysvinit_initddir and rm_systemd_unitdir to target alone systemd: Refresh patch after removal of __secure_getenv patch gcc-9: Upgrade to 9.2 gcc: Search in OE specific target gcclibdir opensbi: Disable SECURITY_CFLAGS since it cant link with libssp libffi: Upgrade to 3.3-rc0 Lei Maohui (2): nativesdk-qemu: support aarch64_be. at: fix a spelling mistake. Mikko Rapeli (1): stress-ng: provide stress Mingli Yu (1): python3: fix the test_locale output format Oleksandr Kravchuk (8): ffmpeg: update to 4.2 python-setuptools: update to 41.1.0 python3-scons: update to 3.1.1 ofono: update to 1.30 bitbake.conf: fix XORG_MIRROR URL cups: update to 2.2.12 git: update to 2.23.0 python-setuptools: update to 41.2.0 Otavio Salvador (2): linux-firmware: Upgrade 20190618 -> 20190815 kmscube: Bump revision to f632b23 Philippe Normand (1): libtasn1: Enable nativesdk support Ricardo Ribalda Delgado (1): packagegroup-core-base-utils: Make it machine specific Richard Purdie (7): yocto-check-layer: Ensure we use OEBasicHash as the signature handler package: Fix race between do_package and do_packagedata bitbake: cookerdata: Delay the setup of the siggen slightly to allow metadata defined siggens bitbake: runqueue: Small but critical fix bitbake: runqueue: Optimise holdoff task handling bitbake: runqueue: Further optimise holdoff tasks bitbake: runqueue: Optimise build_taskdepdata slightly Ross Burton (2): systemd: add PACKAGECONFIG for gnu-efi pango: upgrade to 1.44.5 Trevor Gamblin (2): quilt: Export QUILT_PC variable in ptest Makefile quilt: added less to RDEPENDS list Wes Lindauer (5): iw: Fix license field to BSD-2-Clause openssh: Update LICENSE field with missing values shadow: Fix BSD license file checksum sudo: Fix BSD license file checksum libunwind: Fix MIT license file checksum Yuan Chao (1): libnss-nis: upgrade 3.0 -> 3.1 Zang Ruochen (3): acpid: upgrade 2.0.31 -> 2.0.32 lz4:upgrade 1.9.1 -> 1.9.2 python3-pip:upgrade 19.2.1 -> 19.2.2 Change-Id: I2068692bfdbbf18f892761a12f85e913b8212f3f Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.2.bb')
-rw-r--r--poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.2.bb154
1 files changed, 154 insertions, 0 deletions
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.2.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.2.bb
new file mode 100644
index 000000000..2d69d8bd7
--- /dev/null
+++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.2.bb
@@ -0,0 +1,154 @@
+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://mips64_cpu_detection.patch \
+ "
+SRC_URI[md5sum] = "fb33a9110251873002869664686b2a3f"
+SRC_URI[sha256sum] = "023f10831a97ad93d798f53a3640e55cd564abfeba807ecbe8524dac4fedecd5"
+
+# 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 = "alsa-lib zlib libogg nasm-native"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= "avdevice avfilter avcodec avformat swresample swscale postproc avresample \
+ bzlib gpl lzma theora x264 \
+ ${@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[bzlib] = "--enable-bzlib,--disable-bzlib,bzip2"
+PACKAGECONFIG[gpl] = "--enable-gpl,--disable-gpl"
+PACKAGECONFIG[gsm] = "--enable-libgsm,--disable-libgsm,libgsm"
+PACKAGECONFIG[jack] = "--enable-indev=jack,--disable-indev=jack,jack"
+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[theora] = "--enable-libtheora,--disable-libtheora,libtheora"
+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[xcb] = "--enable-libxcb,--disable-libxcb,libxcb"
+PACKAGECONFIG[xv] = "--enable-outdev=xv,--disable-outdev=xv,libxv"
+
+# 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 = " \
+ --disable-stripping \
+ --enable-pic \
+ --enable-shared \
+ --enable-pthreads \
+ ${@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="${TARGET_CFLAGS} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" \
+ --extra-ldflags="${TARGET_LDFLAGS}" \
+ --sysroot="${STAGING_DIR_TARGET}" \
+ ${EXTRA_FFCONF} \
+ --libdir=${libdir} \
+ --shlibdir=${libdir} \
+ --datadir=${datadir}/ffmpeg \
+ ${@bb.utils.contains('AVAILTUNES', 'mips32r2', '', '--disable-mipsdsp --disable-mipsdspr2', d)} \
+ --cpu=${@cpu(d)} \
+ --pkg-config=pkg-config \
+"
+
+EXTRA_OECONF_append_linux-gnux32 = " --disable-asm"
+# 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)}"
+
+do_configure() {
+ ${S}/configure ${EXTRA_OECONF}
+}
+
+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"