All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.