* [PATCH 0/6] Import libav from meta-oe
@ 2013-08-09 8:59 Paul Eggleton
2013-08-09 8:59 ` [PATCH 1/6] yasm: add from meta-oe and tweak Paul Eggleton
` (5 more replies)
0 siblings, 6 replies; 14+ messages in thread
From: Paul Eggleton @ 2013-08-09 8:59 UTC (permalink / raw)
To: openembedded-core
Bring in the libav (ffmpeg replacement) recipe from meta-oe. Motivations
behind this:
* Enhances the performance/capability of gst-ffmpeg (which we already
have in OE-Core) by switching it to use an up-to-date version of libav
instead of the old internal copy of ffmpeg
* Allows dropping the gst-ffmpeg bbappend from meta-oe which does the above
* Provides a standard libav recipe to prevent ffmpeg/libav needing to be
added by other layers
A number of improvements to the recipes themselves have been made in the
process, see individual changes for details. Note that these recipes are
protected by LICENSE_FLAGS = "commercial".
The following changes since commit 291ab168fac15eae0e4c9234e16f394b0e1547a0:
subversion: Add patch to use neon 0.30 (2013-08-07 07:43:31 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib paule/libav
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/libav
Paul Eggleton (6):
yasm: add from meta-oe and tweak
x264: add from meta-oe, update and tweak
libav: add from meta-oe, update and tweak
gst-ffmpeg: merge in bbappend from meta-oe
gst-ffmpeg: enable using yasm during build
gst-ffmpeg: set SUMMARY instead of DESCRIPTION
meta/recipes-devtools/yasm/yasm_1.2.0.bb | 13 +++
.../gstreamer/gst-ffmpeg_0.10.13.bb | 12 +-
.../0001-configure-enable-pic-for-AArch64.patch | 23 ++++
meta/recipes-multimedia/libav/libav.inc | 129 +++++++++++++++++++++
meta/recipes-multimedia/libav/libav_0.8.8.bb | 18 +++
meta/recipes-multimedia/libav/libav_git.bb | 16 +++
.../don-t-default-to-cortex-a9-with-neon.patch | 20 ++++
meta/recipes-multimedia/x264/x264_git.bb | 52 +++++++++
8 files changed, 277 insertions(+), 6 deletions(-)
create mode 100644 meta/recipes-devtools/yasm/yasm_1.2.0.bb
create mode 100644 meta/recipes-multimedia/libav/libav-0.8.8/0001-configure-enable-pic-for-AArch64.patch
create mode 100644 meta/recipes-multimedia/libav/libav.inc
create mode 100644 meta/recipes-multimedia/libav/libav_0.8.8.bb
create mode 100644 meta/recipes-multimedia/libav/libav_git.bb
create mode 100644 meta/recipes-multimedia/x264/x264/don-t-default-to-cortex-a9-with-neon.patch
create mode 100644 meta/recipes-multimedia/x264/x264_git.bb
--
1.8.1.2
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 1/6] yasm: add from meta-oe and tweak
2013-08-09 8:59 [PATCH 0/6] Import libav from meta-oe Paul Eggleton
@ 2013-08-09 8:59 ` Paul Eggleton
2013-08-09 16:32 ` Burton, Ross
2013-08-09 8:59 ` [PATCH 2/6] x264: add from meta-oe, update " Paul Eggleton
` (4 subsequent siblings)
5 siblings, 1 reply; 14+ messages in thread
From: Paul Eggleton @ 2013-08-09 8:59 UTC (permalink / raw)
To: openembedded-core
This is needed for x264. Enabling it for libav also improves performance
on x86 and x86-64. Two minor changes from the meta-oe recipe:
* Set SUMMARY instead of DESCRIPTION
* Drop setting of S - it was setting it to the same as the default
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
meta/recipes-devtools/yasm/yasm_1.2.0.bb | 13 +++++++++++++
1 file changed, 13 insertions(+)
create mode 100644 meta/recipes-devtools/yasm/yasm_1.2.0.bb
diff --git a/meta/recipes-devtools/yasm/yasm_1.2.0.bb b/meta/recipes-devtools/yasm/yasm_1.2.0.bb
new file mode 100644
index 0000000..cc7459b
--- /dev/null
+++ b/meta/recipes-devtools/yasm/yasm_1.2.0.bb
@@ -0,0 +1,13 @@
+SUMMARY = "x86 (SSE) assembler supporting NASM and GAS-syntaxes"
+LICENSE = "BSD"
+HOMEPAGE = "http://www.tortall.net/projects/yasm/"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=26c9f3d11f88911950f9ff62189d3d4f"
+
+SRC_URI = "http://www.tortall.net/projects/yasm/releases/yasm-${PV}.tar.gz"
+SRC_URI[md5sum] = "4cfc0686cf5350dd1305c4d905eb55a6"
+SRC_URI[sha256sum] = "768ffab457b90a20a6d895c39749adb547c1b7cb5c108e84b151a838a23ccf31"
+
+inherit autotools gettext
+
+BBCLASSEXTEND = "native"
--
1.8.1.2
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 2/6] x264: add from meta-oe, update and tweak
2013-08-09 8:59 [PATCH 0/6] Import libav from meta-oe Paul Eggleton
2013-08-09 8:59 ` [PATCH 1/6] yasm: add from meta-oe and tweak Paul Eggleton
@ 2013-08-09 8:59 ` Paul Eggleton
2013-08-09 9:20 ` Martin Jansa
2013-08-09 8:59 ` [PATCH 3/6] libav: " Paul Eggleton
` (3 subsequent siblings)
5 siblings, 1 reply; 14+ messages in thread
From: Paul Eggleton @ 2013-08-09 8:59 UTC (permalink / raw)
To: openembedded-core
This is required by the default configuration of libav being brought over
from meta-oe. Changes from the meta-oe recipe:
* Update to the latest revision from the stable branch (upstream does
not seem to provide stable releases.)
* Add LICENSE_FLAGS = "commercial"
* Enable PIC to fix text relocation warnings and disable warning for
i586 (since PIC can't be used there)
* Make SUMMARY value slightly shorter
* Indent SRC_URI properly
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
.../don-t-default-to-cortex-a9-with-neon.patch | 20 +++++++++
meta/recipes-multimedia/x264/x264_git.bb | 52 ++++++++++++++++++++++
2 files changed, 72 insertions(+)
create mode 100644 meta/recipes-multimedia/x264/x264/don-t-default-to-cortex-a9-with-neon.patch
create mode 100644 meta/recipes-multimedia/x264/x264_git.bb
diff --git a/meta/recipes-multimedia/x264/x264/don-t-default-to-cortex-a9-with-neon.patch b/meta/recipes-multimedia/x264/x264/don-t-default-to-cortex-a9-with-neon.patch
new file mode 100644
index 0000000..b844d88
--- /dev/null
+++ b/meta/recipes-multimedia/x264/x264/don-t-default-to-cortex-a9-with-neon.patch
@@ -0,0 +1,20 @@
+-march flag is not in CFLAGS so this will always default to -mcpu=cortex-a8
+-mfpu=neon.
+
+Upstream-Status: Pending
+Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
+
+Index: git/configure
+===================================================================
+--- git.orig/configure 2013-02-10 16:26:40.666343682 +0200
++++ git/configure 2013-02-10 16:27:49.198341677 +0200
+@@ -703,9 +703,6 @@
+ fi
+
+ if [ $asm = auto -a $ARCH = ARM ] ; then
+- # set flags so neon is built by default
+- echo $CFLAGS | grep -Eq '(-mcpu|-march|-mfpu)' || CFLAGS="$CFLAGS -mcpu=cortex-a8 -mfpu=neon"
+-
+ if cc_check '' '' '__asm__("rev ip, ip");' ; then define HAVE_ARMV6
+ cc_check '' '' '__asm__("movt r0, #0");' && define HAVE_ARMV6T2
+ cc_check '' '' '__asm__("vadd.i16 q0, q0, q0");' && define HAVE_NEON
diff --git a/meta/recipes-multimedia/x264/x264_git.bb b/meta/recipes-multimedia/x264/x264_git.bb
new file mode 100644
index 0000000..6c6e9a5
--- /dev/null
+++ b/meta/recipes-multimedia/x264/x264_git.bb
@@ -0,0 +1,52 @@
+SUMMARY = "A free software library and application for encoding video streams into the H.264/MPEG-4 AVC format"
+HOMEPAGE = "http://www.videolan.org/developers/x264.html"
+
+LICENSE = "GPLv2"
+LICENSE_FLAGS = "commercial"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+DEPENDS = "yasm-native"
+
+SRC_URI = "git://git.videolan.org/x264.git \
+ file://don-t-default-to-cortex-a9-with-neon.patch \
+ "
+
+SRCREV = "585324fee380109acd9986388f857f413a60b896"
+
+PV = "r2265+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+inherit lib_package pkgconfig
+
+X264_DISABLE_ASM = ""
+X264_DISABLE_ASM_armv4 = "--disable-asm"
+X264_DISABLE_ASM_armv5 = "--disable-asm"
+
+EXTRA_OECONF = '--prefix=${prefix} \
+ --host=${HOST_SYS} \
+ --cross-prefix=${TARGET_PREFIX} \
+ --sysroot=${STAGING_DIR_TARGET} \
+ --enable-shared \
+ --enable-static \
+ --disable-lavf \
+ --disable-swscale \
+ --enable-pic \
+ ${X264_DISABLE_ASM} \
+ '
+
+do_configure() {
+ ./configure ${EXTRA_OECONF}
+}
+
+# Get rid of -e
+EXTRA_OEMAKE = ""
+AS = "${TARGET_PREFIX}gcc"
+
+do_install() {
+ oe_runmake install DESTDIR=${D}
+}
+
+# PIC can't be enabled for 32-bit x86
+INSANE_SKIP_${PN}_append_i586 = " textrel"
+
--
1.8.1.2
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 3/6] libav: add from meta-oe, update and tweak
2013-08-09 8:59 [PATCH 0/6] Import libav from meta-oe Paul Eggleton
2013-08-09 8:59 ` [PATCH 1/6] yasm: add from meta-oe and tweak Paul Eggleton
2013-08-09 8:59 ` [PATCH 2/6] x264: add from meta-oe, update " Paul Eggleton
@ 2013-08-09 8:59 ` Paul Eggleton
2013-08-14 12:22 ` Martin Jansa
2013-08-09 8:59 ` [PATCH 4/6] gst-ffmpeg: merge in bbappend from meta-oe Paul Eggleton
` (2 subsequent siblings)
5 siblings, 1 reply; 14+ messages in thread
From: Paul Eggleton @ 2013-08-09 8:59 UTC (permalink / raw)
To: openembedded-core
Changes from the meta-oe recipe:
* Update stable recipe to 0.8.8
* Update git recipe to the tag for 9.8 (for now)
* Switch over to a tarball for the release version recipe
* Add LICENSE_FLAGS = "commercial"
* Set SUMMARY instead of DESCRIPTION
* Add yasm-native to DEPENDS since there is now a recipe for it
* Remove libvpx from DEPENDS and add a PACKAGECONFIG option for it,
disabled by default since it wasn't actually being enabled
* Add a PACKAGECONFIG option for x11 to enable/disable x11grab, and
add the proper DEPENDS if so (still defaults to enabled)
* Add a number of other PACKAGECONFIG options, replacing some old
comments as well as offering the ability to disable x264.
* Hide text relocation warning when building for i586 (PIC can't be
enabled for 32-bit x86).
* Drop PR
Notes for the git recipe:
* This hasn't been able to be built recently in meta-oe since there was
a circular dependency between libav and libpostproc. libpostproc is
part of libav 0.8.x but was split out in 9+ and is not needed at all
anymore by libav itself, so this dependency was removed.
* Additionally the recipe was filtering out the option to enable
libpostproc but this option wasn't being added by the inc file and
thus the filter wasn't doing anything, so I dropped this as well.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
.../0001-configure-enable-pic-for-AArch64.patch | 23 ++++
meta/recipes-multimedia/libav/libav.inc | 129 +++++++++++++++++++++
meta/recipes-multimedia/libav/libav_0.8.8.bb | 18 +++
meta/recipes-multimedia/libav/libav_git.bb | 16 +++
4 files changed, 186 insertions(+)
create mode 100644 meta/recipes-multimedia/libav/libav-0.8.8/0001-configure-enable-pic-for-AArch64.patch
create mode 100644 meta/recipes-multimedia/libav/libav.inc
create mode 100644 meta/recipes-multimedia/libav/libav_0.8.8.bb
create mode 100644 meta/recipes-multimedia/libav/libav_git.bb
diff --git a/meta/recipes-multimedia/libav/libav-0.8.8/0001-configure-enable-pic-for-AArch64.patch b/meta/recipes-multimedia/libav/libav-0.8.8/0001-configure-enable-pic-for-AArch64.patch
new file mode 100644
index 0000000..d9b22b9
--- /dev/null
+++ b/meta/recipes-multimedia/libav/libav-0.8.8/0001-configure-enable-pic-for-AArch64.patch
@@ -0,0 +1,23 @@
+From 58db99e98f615d79ea90cac8f4bcf11c94e3e7c7 Mon Sep 17 00:00:00 2001
+From: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
+Date: Thu, 10 Jan 2013 12:42:19 +0100
+Subject: [PATCH] configure: enable pic for AArch64
+
+Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
+
+Upstream-Status: Backport
+---
+ configure | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- git.orig/configure
++++ git/configure
+@@ -2393,7 +2393,7 @@ check_host_cflags -std=c99
+ check_host_cflags -Wall
+
+ case "$arch" in
+- alpha|ia64|mips|parisc|ppc|sparc)
++ alpha|ia64|mips|parisc|ppc|sparc|aarch64)
+ spic=$shared
+ ;;
+ x86)
diff --git a/meta/recipes-multimedia/libav/libav.inc b/meta/recipes-multimedia/libav/libav.inc
new file mode 100644
index 0000000..eae190d
--- /dev/null
+++ b/meta/recipes-multimedia/libav/libav.inc
@@ -0,0 +1,129 @@
+SUMMARY = "A complete, cross-platform solution to record, convert and stream audio and video."
+HOMEPAGE = "http://libav.org/"
+SECTION = "libs"
+LICENSE = "GPLv2+"
+LICENSE_FLAGS = "commercial"
+
+# Provides ffmpeg compat, see http://libav.org/about.html
+PROVIDES = "ffmpeg"
+
+ARM_INSTRUCTION_SET = "arm"
+
+DEPENDS = "virtual/libsdl zlib libogg libvorbis libtheora yasm-native"
+
+INC_PR = "r8"
+
+inherit autotools pkgconfig
+
+B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
+
+FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O4 -ffast-math"
+BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}"
+
+EXTRA_FFCONF_armv7a = "--cpu=cortex-a8"
+EXTRA_FFCONF ?= ""
+
+PACKAGECONFIG ??= "bzip2 x264 x11"
+PACKAGECONFIG[jack] = "--enable-indev=jack,--disable-indev=jack,jack"
+PACKAGECONFIG[bzip2] = "--enable-bzlib,--disable-bzlib,bzip2"
+PACKAGECONFIG[schroedinger] = "--enable-libschroedinger,--disable-libschroedinger,schroedinger"
+PACKAGECONFIG[gsm] = "--enable-libgsm,--disable-libgsm,libgsm"
+PACKAGECONFIG[x264] = "--enable-libx264,--disable-libx264,x264"
+PACKAGECONFIG[vpx] = "--enable-libvpx,--disable-libvpx,libvpx"
+PACKAGECONFIG[mp3lame] = "--enable-libmp3lame,--disable-libmp3lame,lame"
+PACKAGECONFIG[faac] = "--enable-libfaac,--disable-libfaac,faac"
+PACKAGECONFIG[x11] = "--enable-x11grab,--disable-x11grab,virtual/libx11 libxfixes libxext xproto"
+
+EXTRA_OECONF = " \
+ --enable-shared \
+ --enable-pthreads \
+ --enable-gpl \
+ --enable-avfilter \
+ \
+ --cross-prefix=${TARGET_PREFIX} \
+ --prefix=${prefix} \
+ \
+ --enable-avserver \
+ --enable-avplay \
+ --enable-libtheora \
+ --enable-libvorbis \
+ --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}" \
+ --enable-hardcoded-tables \
+ ${EXTRA_FFCONF} \
+"
+
+do_configure() {
+ # We don't have TARGET_PREFIX-pkgconfig
+ sed -i '/pkg_config_default="${cross_prefix}${pkg_config_default}"/d' ${S}/configure
+ mkdir -p ${B}
+ cd ${B}
+ ${S}/configure ${EXTRA_OECONF}
+ sed -i -e s:Os:O4:g ${B}/config.h
+}
+
+do_install_append() {
+ install -m 0644 ${S}/libavfilter/*.h ${D}${includedir}/libavfilter/
+}
+
+FFMPEG_LIBS = "libavcodec libavdevice libavformat \
+ libavutil libpostproc libswscale libavfilter"
+
+PACKAGES += "${PN}-vhook-dbg ${PN}-vhook ffmpeg-x264-presets"
+
+RSUGGESTS_${PN} = "mplayer"
+FILES_${PN} = "${bindir}"
+FILES_${PN}-dev = "${includedir}/${PN}"
+
+FILES_${PN}-vhook = "${libdir}/vhook"
+FILES_${PN}-vhook-dbg += "${libdir}/vhook/.debug"
+
+FILES_ffmpeg-x264-presets = "${datadir}/*.avpreset"
+
+LEAD_SONAME = "libavcodec.so"
+
+FILES_${PN}-dev = "${includedir}"
+
+python populate_packages_prepend() {
+ av_libdir = d.expand('${libdir}')
+ av_pkgconfig = d.expand('${libdir}/pkgconfig')
+
+ # Runtime package
+ do_split_packages(d, av_libdir, '^lib(.*)\.so\..*',
+ output_pattern='lib%s',
+ description='libav %s library',
+ extra_depends='',
+ prepend=True,
+ allow_links=True)
+
+ # Development packages (-dev, -staticdev)
+ do_split_packages(d, av_libdir, '^lib(.*)\.so$',
+ output_pattern='lib%s-dev',
+ description='libav %s development package',
+ extra_depends='${PN}-dev',
+ prepend=True,
+ allow_links=True)
+ do_split_packages(d, av_pkgconfig, '^lib(.*)\.pc$',
+ output_pattern='lib%s-dev',
+ description='libav %s development package',
+ extra_depends='${PN}-dev',
+ prepend=True)
+ do_split_packages(d, av_libdir, '^lib(.*)\.a$',
+ output_pattern='lib%s-staticdev',
+ description='libav %s development package - static library',
+ extra_depends='${PN}-dev',
+ prepend=True,
+ allow_links=True)
+
+ if d.getVar('TARGET_ARCH', True) == 'i586':
+ # libav can't be build with -fPIC for 32-bit x86
+ pkgs = d.getVar('PACKAGES', True).split()
+ for pkg in pkgs:
+ d.appendVar('INSANE_SKIP_%s' % pkg, ' textrel')
+}
+
+PACKAGES_DYNAMIC += "^lib(av(codec|device|filter|format|util)|postproc).*"
diff --git a/meta/recipes-multimedia/libav/libav_0.8.8.bb b/meta/recipes-multimedia/libav/libav_0.8.8.bb
new file mode 100644
index 0000000..9cb4cf2
--- /dev/null
+++ b/meta/recipes-multimedia/libav/libav_0.8.8.bb
@@ -0,0 +1,18 @@
+require libav.inc
+
+SRC_URI = "http://libav.org/releases/libav-0.8.8.tar.xz \
+ file://0001-configure-enable-pic-for-AArch64.patch"
+
+SRC_URI[md5sum] = "34b8f1279a04466386ed67731197efe3"
+SRC_URI[sha256sum] = "e95cf618eb6239177a62c46f15e840c37e02e8308baf94912fc5910ff4aacbf2"
+
+LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://COPYING.LGPLv2.1;md5=e344c8fa836c3a41c4cbd79d7bd3a379 \
+ file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
+
+EXTRA_OECONF += " \
+ --enable-postproc \
+"
+
+
diff --git a/meta/recipes-multimedia/libav/libav_git.bb b/meta/recipes-multimedia/libav/libav_git.bb
new file mode 100644
index 0000000..951baa9
--- /dev/null
+++ b/meta/recipes-multimedia/libav/libav_git.bb
@@ -0,0 +1,16 @@
+require libav.inc
+
+LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \
+ file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
+
+PV = "9.8+git${SRCPV}"
+
+DEFAULT_PREFERENCE = "-1"
+
+SRCREV = "9aaca159bd220582c698f13d081a455f398c9975"
+SRC_URI = "git://git.libav.org/libav.git"
+
+S = "${WORKDIR}/git"
+
--
1.8.1.2
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 4/6] gst-ffmpeg: merge in bbappend from meta-oe
2013-08-09 8:59 [PATCH 0/6] Import libav from meta-oe Paul Eggleton
` (2 preceding siblings ...)
2013-08-09 8:59 ` [PATCH 3/6] libav: " Paul Eggleton
@ 2013-08-09 8:59 ` Paul Eggleton
2013-08-09 8:59 ` [PATCH 5/6] gst-ffmpeg: enable using yasm during build Paul Eggleton
2013-08-09 8:59 ` [PATCH 6/6] gst-ffmpeg: set SUMMARY instead of DESCRIPTION Paul Eggleton
5 siblings, 0 replies; 14+ messages in thread
From: Paul Eggleton @ 2013-08-09 8:59 UTC (permalink / raw)
To: openembedded-core
* Enable external libav for better optimisations/additional bugfixes
(internal ffmpeg copy is quite old), default enabled but can be
disabled using PACKAGECONFIG
* Add a PACKAGECONFIG for orc, disabled by default in line with other
gstreamer recipes
* Bump PR to r7 so the bbappend can be dropped without PR going
backwards
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb b/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb
index 8605ca4..d3f2b3e 100644
--- a/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb
+++ b/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb
@@ -27,7 +27,7 @@ SRC_URI = "http://gstreamer.freedesktop.org/src/${BPN}/${BPN}-${PV}.tar.bz2 \
SRC_URI[md5sum] = "7f5beacaf1312db2db30a026b36888c4"
SRC_URI[sha256sum] = "76fca05b08e00134e3cb92fa347507f42cbd48ddb08ed3343a912def187fbb62"
-PR = "r4"
+PR = "r7"
GSTREAMER_DEBUG ?= "--disable-debug"
@@ -45,6 +45,10 @@ FFMPEG_EXTRA_CONFIGURE_COMMON = \
EXTRA_OECONF = "${FFMPEG_EXTRA_CONFIGURE_COMMON}"
+PACKAGECONFIG ??= "external-libav"
+PACKAGECONFIG[external-libav] = "--with-system-ffmpeg,,libav"
+PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc"
+
# yasm not found, use --disable-yasm for a crippled build for libav
EXTRA_OECONF_append_x86-64 = " --disable-yasm "
EXTRA_OECONF_append_x86 = " --disable-yasm "
--
1.8.1.2
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 5/6] gst-ffmpeg: enable using yasm during build
2013-08-09 8:59 [PATCH 0/6] Import libav from meta-oe Paul Eggleton
` (3 preceding siblings ...)
2013-08-09 8:59 ` [PATCH 4/6] gst-ffmpeg: merge in bbappend from meta-oe Paul Eggleton
@ 2013-08-09 8:59 ` Paul Eggleton
2013-08-09 8:59 ` [PATCH 6/6] gst-ffmpeg: set SUMMARY instead of DESCRIPTION Paul Eggleton
5 siblings, 0 replies; 14+ messages in thread
From: Paul Eggleton @ 2013-08-09 8:59 UTC (permalink / raw)
To: openembedded-core
A recipe is now available for this, and it should enhance performance on
x86/x86-64.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb b/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb
index d3f2b3e..ceac4d8 100644
--- a/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb
+++ b/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb
@@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://gst-libs/ext/libav/COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
LICENSE_FLAGS = "commercial"
HOMEPAGE = "http://www.gstreamer.net/"
-DEPENDS = "gstreamer gst-plugins-base zlib bzip2"
+DEPENDS = "gstreamer gst-plugins-base zlib bzip2 yasm-native"
inherit autotools pkgconfig
@@ -49,10 +49,6 @@ PACKAGECONFIG ??= "external-libav"
PACKAGECONFIG[external-libav] = "--with-system-ffmpeg,,libav"
PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc"
-# yasm not found, use --disable-yasm for a crippled build for libav
-EXTRA_OECONF_append_x86-64 = " --disable-yasm "
-EXTRA_OECONF_append_x86 = " --disable-yasm "
-
FILES_${PN} += "${libdir}/gstreamer-0.10/*.so"
FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug"
FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la"
--
1.8.1.2
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 6/6] gst-ffmpeg: set SUMMARY instead of DESCRIPTION
2013-08-09 8:59 [PATCH 0/6] Import libav from meta-oe Paul Eggleton
` (4 preceding siblings ...)
2013-08-09 8:59 ` [PATCH 5/6] gst-ffmpeg: enable using yasm during build Paul Eggleton
@ 2013-08-09 8:59 ` Paul Eggleton
5 siblings, 0 replies; 14+ messages in thread
From: Paul Eggleton @ 2013-08-09 8:59 UTC (permalink / raw)
To: openembedded-core
We only have a short description, so set SUMMARY and DESCRIPTION will be
defaulted from it.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb b/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb
index ceac4d8..8873105 100644
--- a/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb
+++ b/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb
@@ -1,4 +1,4 @@
-DESCRIPTION = "FFmpeg-based GStreamer plug-in"
+SUMMARY = "FFmpeg-based GStreamer plug-in"
SECTION = "multimedia"
LICENSE = "GPLv2+ & LGPLv2+ & ( (GPLv2+ & LGPLv2.1+) | (GPLv3+ & LGPLv3+) )"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
--
1.8.1.2
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 2/6] x264: add from meta-oe, update and tweak
2013-08-09 8:59 ` [PATCH 2/6] x264: add from meta-oe, update " Paul Eggleton
@ 2013-08-09 9:20 ` Martin Jansa
2013-08-09 9:58 ` Paul Eggleton
0 siblings, 1 reply; 14+ messages in thread
From: Martin Jansa @ 2013-08-09 9:20 UTC (permalink / raw)
To: Paul Eggleton; +Cc: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 4405 bytes --]
On Fri, Aug 09, 2013 at 09:59:31AM +0100, Paul Eggleton wrote:
> This is required by the default configuration of libav being brought over
> from meta-oe. Changes from the meta-oe recipe:
>
> * Update to the latest revision from the stable branch (upstream does
> not seem to provide stable releases.)
> * Add LICENSE_FLAGS = "commercial"
> * Enable PIC to fix text relocation warnings and disable warning for
> i586 (since PIC can't be used there)
> * Make SUMMARY value slightly shorter
> * Indent SRC_URI properly
I think it was indented correctly and styleguide doesn't define how many
spaces should be used for multiline variables.
>
> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
> ---
> .../don-t-default-to-cortex-a9-with-neon.patch | 20 +++++++++
> meta/recipes-multimedia/x264/x264_git.bb | 52 ++++++++++++++++++++++
> 2 files changed, 72 insertions(+)
> create mode 100644 meta/recipes-multimedia/x264/x264/don-t-default-to-cortex-a9-with-neon.patch
> create mode 100644 meta/recipes-multimedia/x264/x264_git.bb
>
> diff --git a/meta/recipes-multimedia/x264/x264/don-t-default-to-cortex-a9-with-neon.patch b/meta/recipes-multimedia/x264/x264/don-t-default-to-cortex-a9-with-neon.patch
> new file mode 100644
> index 0000000..b844d88
> --- /dev/null
> +++ b/meta/recipes-multimedia/x264/x264/don-t-default-to-cortex-a9-with-neon.patch
> @@ -0,0 +1,20 @@
> +-march flag is not in CFLAGS so this will always default to -mcpu=cortex-a8
> +-mfpu=neon.
> +
> +Upstream-Status: Pending
> +Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
> +
> +Index: git/configure
> +===================================================================
> +--- git.orig/configure 2013-02-10 16:26:40.666343682 +0200
> ++++ git/configure 2013-02-10 16:27:49.198341677 +0200
> +@@ -703,9 +703,6 @@
> + fi
> +
> + if [ $asm = auto -a $ARCH = ARM ] ; then
> +- # set flags so neon is built by default
> +- echo $CFLAGS | grep -Eq '(-mcpu|-march|-mfpu)' || CFLAGS="$CFLAGS -mcpu=cortex-a8 -mfpu=neon"
> +-
> + if cc_check '' '' '__asm__("rev ip, ip");' ; then define HAVE_ARMV6
> + cc_check '' '' '__asm__("movt r0, #0");' && define HAVE_ARMV6T2
> + cc_check '' '' '__asm__("vadd.i16 q0, q0, q0");' && define HAVE_NEON
> diff --git a/meta/recipes-multimedia/x264/x264_git.bb b/meta/recipes-multimedia/x264/x264_git.bb
> new file mode 100644
> index 0000000..6c6e9a5
> --- /dev/null
> +++ b/meta/recipes-multimedia/x264/x264_git.bb
> @@ -0,0 +1,52 @@
> +SUMMARY = "A free software library and application for encoding video streams into the H.264/MPEG-4 AVC format"
> +HOMEPAGE = "http://www.videolan.org/developers/x264.html"
> +
> +LICENSE = "GPLv2"
> +LICENSE_FLAGS = "commercial"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
> +
> +DEPENDS = "yasm-native"
> +
> +SRC_URI = "git://git.videolan.org/x264.git \
> + file://don-t-default-to-cortex-a9-with-neon.patch \
> + "
> +
> +SRCREV = "585324fee380109acd9986388f857f413a60b896"
> +
> +PV = "r2265+git${SRCPV}"
> +
> +S = "${WORKDIR}/git"
> +
> +inherit lib_package pkgconfig
> +
> +X264_DISABLE_ASM = ""
> +X264_DISABLE_ASM_armv4 = "--disable-asm"
> +X264_DISABLE_ASM_armv5 = "--disable-asm"
> +
> +EXTRA_OECONF = '--prefix=${prefix} \
> + --host=${HOST_SYS} \
> + --cross-prefix=${TARGET_PREFIX} \
> + --sysroot=${STAGING_DIR_TARGET} \
> + --enable-shared \
> + --enable-static \
> + --disable-lavf \
> + --disable-swscale \
> + --enable-pic \
Don't mix tabs and spaces.
> + ${X264_DISABLE_ASM} \
> + '
> +
> +do_configure() {
> + ./configure ${EXTRA_OECONF}
> +}
> +
> +# Get rid of -e
> +EXTRA_OEMAKE = ""
> +AS = "${TARGET_PREFIX}gcc"
> +
> +do_install() {
> + oe_runmake install DESTDIR=${D}
> +}
> +
> +# PIC can't be enabled for 32-bit x86
> +INSANE_SKIP_${PN}_append_i586 = " textrel"
> +
> --
> 1.8.1.2
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 2/6] x264: add from meta-oe, update and tweak
2013-08-09 9:20 ` Martin Jansa
@ 2013-08-09 9:58 ` Paul Eggleton
0 siblings, 0 replies; 14+ messages in thread
From: Paul Eggleton @ 2013-08-09 9:58 UTC (permalink / raw)
To: Martin Jansa; +Cc: openembedded-core
Hi Martin,
On Friday 09 August 2013 11:20:44 Martin Jansa wrote:
> On Fri, Aug 09, 2013 at 09:59:31AM +0100, Paul Eggleton wrote:
> > This is required by the default configuration of libav being brought over
> > from meta-oe. Changes from the meta-oe recipe:
> >
> > * Update to the latest revision from the stable branch (upstream does
> >
> > not seem to provide stable releases.)
> >
> > * Add LICENSE_FLAGS = "commercial"
> > * Enable PIC to fix text relocation warnings and disable warning for
> >
> > i586 (since PIC can't be used there)
> >
> > * Make SUMMARY value slightly shorter
> > * Indent SRC_URI properly
>
> I think it was indented correctly and styleguide doesn't define how many
> spaces should be used for multiline variables.
It doesn't, but the convention that is observed in OE-Core is to indent
multiple-line statements to the level of the start of the value in the first
line (as indeed the value of EXTRA_OECONF is indented in this recipe). FWIW, I
have altered the commit message to refer to consistency with other recipes
rather than correctness.
> > +EXTRA_OECONF = '--prefix=${prefix} \
> > + --host=${HOST_SYS} \
> > + --cross-prefix=${TARGET_PREFIX} \
> > + --sysroot=${STAGING_DIR_TARGET} \
> > + --enable-shared \
> > + --enable-static \
> > + --disable-lavf \
> > + --disable-swscale \
> > + --enable-pic \
>
> Don't mix tabs and spaces.
Oops, that's what I get for using vi without configuring it. Fixed on the
branch.
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 1/6] yasm: add from meta-oe and tweak
2013-08-09 8:59 ` [PATCH 1/6] yasm: add from meta-oe and tweak Paul Eggleton
@ 2013-08-09 16:32 ` Burton, Ross
2013-08-09 16:37 ` Paul Eggleton
0 siblings, 1 reply; 14+ messages in thread
From: Burton, Ross @ 2013-08-09 16:32 UTC (permalink / raw)
To: Paul Eggleton; +Cc: openembedded-core
On 9 August 2013 09:59, Paul Eggleton <paul.eggleton@linux.intel.com> wrote:
> +SUMMARY = "x86 (SSE) assembler supporting NASM and GAS-syntaxes"
Does this mean we can drop nasm to avoid having numerous assemblers in
oe-core? You can't feed them after midnight you know.
Ross
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 1/6] yasm: add from meta-oe and tweak
2013-08-09 16:32 ` Burton, Ross
@ 2013-08-09 16:37 ` Paul Eggleton
0 siblings, 0 replies; 14+ messages in thread
From: Paul Eggleton @ 2013-08-09 16:37 UTC (permalink / raw)
To: Burton, Ross; +Cc: openembedded-core
On Friday 09 August 2013 17:32:58 Burton, Ross wrote:
> On 9 August 2013 09:59, Paul Eggleton <paul.eggleton@linux.intel.com> wrote:
> > +SUMMARY = "x86 (SSE) assembler supporting NASM and GAS-syntaxes"
>
> Does this mean we can drop nasm to avoid having numerous assemblers in
> oe-core? You can't feed them after midnight you know.
I don't know what the comparison between the two is, but I suspect they are
not interchangeable.
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 3/6] libav: add from meta-oe, update and tweak
2013-08-09 8:59 ` [PATCH 3/6] libav: " Paul Eggleton
@ 2013-08-14 12:22 ` Martin Jansa
2013-08-14 13:07 ` Phil Blundell
0 siblings, 1 reply; 14+ messages in thread
From: Martin Jansa @ 2013-08-14 12:22 UTC (permalink / raw)
To: Paul Eggleton; +Cc: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 11905 bytes --]
On Fri, Aug 09, 2013 at 09:59:32AM +0100, Paul Eggleton wrote:
> Changes from the meta-oe recipe:
> * Update stable recipe to 0.8.8
> * Update git recipe to the tag for 9.8 (for now)
> * Switch over to a tarball for the release version recipe
> * Add LICENSE_FLAGS = "commercial"
> * Set SUMMARY instead of DESCRIPTION
> * Add yasm-native to DEPENDS since there is now a recipe for it
> * Remove libvpx from DEPENDS and add a PACKAGECONFIG option for it,
> disabled by default since it wasn't actually being enabled
> * Add a PACKAGECONFIG option for x11 to enable/disable x11grab, and
> add the proper DEPENDS if so (still defaults to enabled)
> * Add a number of other PACKAGECONFIG options, replacing some old
> comments as well as offering the ability to disable x264.
> * Hide text relocation warning when building for i586 (PIC can't be
> enabled for 32-bit x86).
only for i586? I've just seen them in armv4t build:
WARNING: QA Issue: ELF binary '/OE/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/libav/0.8.8-r0/packages-split/libswscale/usr/lib/libswscale.so.2.1.0' has relocations in .text
WARNING: QA Issue: ELF binary '/OE/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/libav/0.8.8-r0/packages-split/libpostproc/usr/lib/libpostproc.so.52.0.0' has relocations in .text
WARNING: QA Issue: ELF binary '/OE/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/libav/0.8.8-r0/packages-split/libavutil/usr/lib/libavutil.so.51.22.1' has relocations in .text
WARNING: QA Issue: ELF binary '/OE/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/libav/0.8.8-r0/packages-split/libavformat/usr/lib/libavformat.so.53.21.1' has relocations in .text
WARNING: QA Issue: ELF binary '/OE/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/libav/0.8.8-r0/packages-split/libavfilter/usr/lib/libavfilter.so.2.15.0' has relocations in .text
WARNING: QA Issue: ELF binary '/OE/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/libav/0.8.8-r0/packages-split/libavdevice/usr/lib/libavdevice.so.53.2.0' has relocations in .text
WARNING: QA Issue: ELF binary '/OE/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/libav/0.8.8-r0/packages-split/libavcodec/usr/lib/libavcodec.so.53.35.0' has relocations in .text
But I know it's not new issue, the same problem was in meta-oe version.
> * Drop PR
>
> Notes for the git recipe:
> * This hasn't been able to be built recently in meta-oe since there was
> a circular dependency between libav and libpostproc. libpostproc is
> part of libav 0.8.x but was split out in 9+ and is not needed at all
> anymore by libav itself, so this dependency was removed.
> * Additionally the recipe was filtering out the option to enable
> libpostproc but this option wasn't being added by the inc file and
> thus the filter wasn't doing anything, so I dropped this as well.
>
> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
> ---
> .../0001-configure-enable-pic-for-AArch64.patch | 23 ++++
> meta/recipes-multimedia/libav/libav.inc | 129 +++++++++++++++++++++
> meta/recipes-multimedia/libav/libav_0.8.8.bb | 18 +++
> meta/recipes-multimedia/libav/libav_git.bb | 16 +++
> 4 files changed, 186 insertions(+)
> create mode 100644 meta/recipes-multimedia/libav/libav-0.8.8/0001-configure-enable-pic-for-AArch64.patch
> create mode 100644 meta/recipes-multimedia/libav/libav.inc
> create mode 100644 meta/recipes-multimedia/libav/libav_0.8.8.bb
> create mode 100644 meta/recipes-multimedia/libav/libav_git.bb
>
> diff --git a/meta/recipes-multimedia/libav/libav-0.8.8/0001-configure-enable-pic-for-AArch64.patch b/meta/recipes-multimedia/libav/libav-0.8.8/0001-configure-enable-pic-for-AArch64.patch
> new file mode 100644
> index 0000000..d9b22b9
> --- /dev/null
> +++ b/meta/recipes-multimedia/libav/libav-0.8.8/0001-configure-enable-pic-for-AArch64.patch
> @@ -0,0 +1,23 @@
> +From 58db99e98f615d79ea90cac8f4bcf11c94e3e7c7 Mon Sep 17 00:00:00 2001
> +From: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
> +Date: Thu, 10 Jan 2013 12:42:19 +0100
> +Subject: [PATCH] configure: enable pic for AArch64
> +
> +Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
> +
> +Upstream-Status: Backport
> +---
> + configure | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +--- git.orig/configure
> ++++ git/configure
> +@@ -2393,7 +2393,7 @@ check_host_cflags -std=c99
> + check_host_cflags -Wall
> +
> + case "$arch" in
> +- alpha|ia64|mips|parisc|ppc|sparc)
> ++ alpha|ia64|mips|parisc|ppc|sparc|aarch64)
> + spic=$shared
> + ;;
> + x86)
> diff --git a/meta/recipes-multimedia/libav/libav.inc b/meta/recipes-multimedia/libav/libav.inc
> new file mode 100644
> index 0000000..eae190d
> --- /dev/null
> +++ b/meta/recipes-multimedia/libav/libav.inc
> @@ -0,0 +1,129 @@
> +SUMMARY = "A complete, cross-platform solution to record, convert and stream audio and video."
> +HOMEPAGE = "http://libav.org/"
> +SECTION = "libs"
> +LICENSE = "GPLv2+"
> +LICENSE_FLAGS = "commercial"
> +
> +# Provides ffmpeg compat, see http://libav.org/about.html
> +PROVIDES = "ffmpeg"
> +
> +ARM_INSTRUCTION_SET = "arm"
> +
> +DEPENDS = "virtual/libsdl zlib libogg libvorbis libtheora yasm-native"
> +
> +INC_PR = "r8"
> +
> +inherit autotools pkgconfig
> +
> +B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
> +
> +FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O4 -ffast-math"
> +BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}"
> +
> +EXTRA_FFCONF_armv7a = "--cpu=cortex-a8"
> +EXTRA_FFCONF ?= ""
> +
> +PACKAGECONFIG ??= "bzip2 x264 x11"
> +PACKAGECONFIG[jack] = "--enable-indev=jack,--disable-indev=jack,jack"
> +PACKAGECONFIG[bzip2] = "--enable-bzlib,--disable-bzlib,bzip2"
> +PACKAGECONFIG[schroedinger] = "--enable-libschroedinger,--disable-libschroedinger,schroedinger"
> +PACKAGECONFIG[gsm] = "--enable-libgsm,--disable-libgsm,libgsm"
> +PACKAGECONFIG[x264] = "--enable-libx264,--disable-libx264,x264"
> +PACKAGECONFIG[vpx] = "--enable-libvpx,--disable-libvpx,libvpx"
> +PACKAGECONFIG[mp3lame] = "--enable-libmp3lame,--disable-libmp3lame,lame"
> +PACKAGECONFIG[faac] = "--enable-libfaac,--disable-libfaac,faac"
> +PACKAGECONFIG[x11] = "--enable-x11grab,--disable-x11grab,virtual/libx11 libxfixes libxext xproto"
> +
> +EXTRA_OECONF = " \
> + --enable-shared \
> + --enable-pthreads \
> + --enable-gpl \
> + --enable-avfilter \
> + \
> + --cross-prefix=${TARGET_PREFIX} \
> + --prefix=${prefix} \
> + \
> + --enable-avserver \
> + --enable-avplay \
> + --enable-libtheora \
> + --enable-libvorbis \
> + --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}" \
> + --enable-hardcoded-tables \
> + ${EXTRA_FFCONF} \
> +"
> +
> +do_configure() {
> + # We don't have TARGET_PREFIX-pkgconfig
> + sed -i '/pkg_config_default="${cross_prefix}${pkg_config_default}"/d' ${S}/configure
> + mkdir -p ${B}
> + cd ${B}
> + ${S}/configure ${EXTRA_OECONF}
> + sed -i -e s:Os:O4:g ${B}/config.h
> +}
> +
> +do_install_append() {
> + install -m 0644 ${S}/libavfilter/*.h ${D}${includedir}/libavfilter/
> +}
> +
> +FFMPEG_LIBS = "libavcodec libavdevice libavformat \
> + libavutil libpostproc libswscale libavfilter"
> +
> +PACKAGES += "${PN}-vhook-dbg ${PN}-vhook ffmpeg-x264-presets"
> +
> +RSUGGESTS_${PN} = "mplayer"
> +FILES_${PN} = "${bindir}"
> +FILES_${PN}-dev = "${includedir}/${PN}"
> +
> +FILES_${PN}-vhook = "${libdir}/vhook"
> +FILES_${PN}-vhook-dbg += "${libdir}/vhook/.debug"
> +
> +FILES_ffmpeg-x264-presets = "${datadir}/*.avpreset"
> +
> +LEAD_SONAME = "libavcodec.so"
> +
> +FILES_${PN}-dev = "${includedir}"
> +
> +python populate_packages_prepend() {
> + av_libdir = d.expand('${libdir}')
> + av_pkgconfig = d.expand('${libdir}/pkgconfig')
> +
> + # Runtime package
> + do_split_packages(d, av_libdir, '^lib(.*)\.so\..*',
> + output_pattern='lib%s',
> + description='libav %s library',
> + extra_depends='',
> + prepend=True,
> + allow_links=True)
> +
> + # Development packages (-dev, -staticdev)
> + do_split_packages(d, av_libdir, '^lib(.*)\.so$',
> + output_pattern='lib%s-dev',
> + description='libav %s development package',
> + extra_depends='${PN}-dev',
> + prepend=True,
> + allow_links=True)
> + do_split_packages(d, av_pkgconfig, '^lib(.*)\.pc$',
> + output_pattern='lib%s-dev',
> + description='libav %s development package',
> + extra_depends='${PN}-dev',
> + prepend=True)
> + do_split_packages(d, av_libdir, '^lib(.*)\.a$',
> + output_pattern='lib%s-staticdev',
> + description='libav %s development package - static library',
> + extra_depends='${PN}-dev',
> + prepend=True,
> + allow_links=True)
> +
> + if d.getVar('TARGET_ARCH', True) == 'i586':
> + # libav can't be build with -fPIC for 32-bit x86
> + pkgs = d.getVar('PACKAGES', True).split()
> + for pkg in pkgs:
> + d.appendVar('INSANE_SKIP_%s' % pkg, ' textrel')
> +}
> +
> +PACKAGES_DYNAMIC += "^lib(av(codec|device|filter|format|util)|postproc).*"
> diff --git a/meta/recipes-multimedia/libav/libav_0.8.8.bb b/meta/recipes-multimedia/libav/libav_0.8.8.bb
> new file mode 100644
> index 0000000..9cb4cf2
> --- /dev/null
> +++ b/meta/recipes-multimedia/libav/libav_0.8.8.bb
> @@ -0,0 +1,18 @@
> +require libav.inc
> +
> +SRC_URI = "http://libav.org/releases/libav-0.8.8.tar.xz \
> + file://0001-configure-enable-pic-for-AArch64.patch"
> +
> +SRC_URI[md5sum] = "34b8f1279a04466386ed67731197efe3"
> +SRC_URI[sha256sum] = "e95cf618eb6239177a62c46f15e840c37e02e8308baf94912fc5910ff4aacbf2"
> +
> +LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
> + file://COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
> + file://COPYING.LGPLv2.1;md5=e344c8fa836c3a41c4cbd79d7bd3a379 \
> + file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
> +
> +EXTRA_OECONF += " \
> + --enable-postproc \
> +"
> +
> +
> diff --git a/meta/recipes-multimedia/libav/libav_git.bb b/meta/recipes-multimedia/libav/libav_git.bb
> new file mode 100644
> index 0000000..951baa9
> --- /dev/null
> +++ b/meta/recipes-multimedia/libav/libav_git.bb
> @@ -0,0 +1,16 @@
> +require libav.inc
> +
> +LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
> + file://COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
> + file://COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \
> + file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
> +
> +PV = "9.8+git${SRCPV}"
> +
> +DEFAULT_PREFERENCE = "-1"
> +
> +SRCREV = "9aaca159bd220582c698f13d081a455f398c9975"
> +SRC_URI = "git://git.libav.org/libav.git"
> +
> +S = "${WORKDIR}/git"
> +
> --
> 1.8.1.2
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 3/6] libav: add from meta-oe, update and tweak
2013-08-14 12:22 ` Martin Jansa
@ 2013-08-14 13:07 ` Phil Blundell
2013-08-14 13:57 ` Burton, Ross
0 siblings, 1 reply; 14+ messages in thread
From: Phil Blundell @ 2013-08-14 13:07 UTC (permalink / raw)
To: Martin Jansa; +Cc: Paul Eggleton, openembedded-core
On Wed, 2013-08-14 at 14:22 +0200, Martin Jansa wrote:
> On Fri, Aug 09, 2013 at 09:59:32AM +0100, Paul Eggleton wrote:
> > Changes from the meta-oe recipe:
> > * Update stable recipe to 0.8.8
> > * Update git recipe to the tag for 9.8 (for now)
> > * Switch over to a tarball for the release version recipe
> > * Add LICENSE_FLAGS = "commercial"
> > * Set SUMMARY instead of DESCRIPTION
> > * Add yasm-native to DEPENDS since there is now a recipe for it
> > * Remove libvpx from DEPENDS and add a PACKAGECONFIG option for it,
> > disabled by default since it wasn't actually being enabled
> > * Add a PACKAGECONFIG option for x11 to enable/disable x11grab, and
> > add the proper DEPENDS if so (still defaults to enabled)
> > * Add a number of other PACKAGECONFIG options, replacing some old
> > comments as well as offering the ability to disable x264.
> > * Hide text relocation warning when building for i586 (PIC can't be
> > enabled for 32-bit x86).
>
> only for i586? I've just seen them in armv4t build:
> WARNING: QA Issue: ELF binary '/OE/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/libav/0.8.8-r0/packages-split/libswscale/usr/lib/libswscale.so.2.1.0' has relocations in .text
That looks like you just need to add arm to...
> > + case "$arch" in
> > +- alpha|ia64|mips|parisc|ppc|sparc)
> > ++ alpha|ia64|mips|parisc|ppc|sparc|aarch64)
> > + spic=$shared
... this slightly odd list here. I'm not quite sure why aargh64 is in
there but arm isn't.
p.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 3/6] libav: add from meta-oe, update and tweak
2013-08-14 13:07 ` Phil Blundell
@ 2013-08-14 13:57 ` Burton, Ross
0 siblings, 0 replies; 14+ messages in thread
From: Burton, Ross @ 2013-08-14 13:57 UTC (permalink / raw)
To: Phil Blundell; +Cc: Paul Eggleton, openembedded-core
On 14 August 2013 14:07, Phil Blundell <pb@pbcl.net> wrote:
> I'm not quite sure why aargh64 is in there but arm isn't.
Is that an official architecture alias, or a typo? ;)
Ross
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2013-08-14 13:57 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-09 8:59 [PATCH 0/6] Import libav from meta-oe Paul Eggleton
2013-08-09 8:59 ` [PATCH 1/6] yasm: add from meta-oe and tweak Paul Eggleton
2013-08-09 16:32 ` Burton, Ross
2013-08-09 16:37 ` Paul Eggleton
2013-08-09 8:59 ` [PATCH 2/6] x264: add from meta-oe, update " Paul Eggleton
2013-08-09 9:20 ` Martin Jansa
2013-08-09 9:58 ` Paul Eggleton
2013-08-09 8:59 ` [PATCH 3/6] libav: " Paul Eggleton
2013-08-14 12:22 ` Martin Jansa
2013-08-14 13:07 ` Phil Blundell
2013-08-14 13:57 ` Burton, Ross
2013-08-09 8:59 ` [PATCH 4/6] gst-ffmpeg: merge in bbappend from meta-oe Paul Eggleton
2013-08-09 8:59 ` [PATCH 5/6] gst-ffmpeg: enable using yasm during build Paul Eggleton
2013-08-09 8:59 ` [PATCH 6/6] gst-ffmpeg: set SUMMARY instead of DESCRIPTION Paul Eggleton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox