Openembedded Core Discussions
 help / color / mirror / Atom feed
* [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