summaryrefslogtreecommitdiffstats
path: root/external/meta-openembedded/meta-multimedia/recipes-support
diff options
context:
space:
mode:
authorToshikazuOhiwa <toshikazu_ohiwa@mail.toyota.co.jp>2020-03-30 09:24:26 +0900
committerToshikazuOhiwa <toshikazu_ohiwa@mail.toyota.co.jp>2020-03-30 09:24:26 +0900
commit5b80bfd7bffd4c20d80b7c70a7130529e9a755dd (patch)
treeb4bb18dcd1487dbf1ea8127e5671b7bb2eded033 /external/meta-openembedded/meta-multimedia/recipes-support
parent706ad73eb02caf8532deaf5d38995bd258725cb8 (diff)
agl-basesystem
Diffstat (limited to 'external/meta-openembedded/meta-multimedia/recipes-support')
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-support/crossguid/crossguid.bb25
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-support/gst-instruments/gst-instruments_git.bb20
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart-2.0_1.9.0.bb7
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart.inc14
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart_0.7.0.bb6
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/0001-Fix-enable-vfp-flag.patch41
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/fix-unaligned-whitelist.patch19
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/liboil_fix_for_x32.patch222
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/no-tests.patch24
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil_0.3.17.bb27
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp/0001-Rename-conflicting-variable-mips.patch73
-rw-r--r--external/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.6.0.bb16
12 files changed, 494 insertions, 0 deletions
diff --git a/external/meta-openembedded/meta-multimedia/recipes-support/crossguid/crossguid.bb b/external/meta-openembedded/meta-multimedia/recipes-support/crossguid/crossguid.bb
new file mode 100644
index 00000000..228b8b65
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-support/crossguid/crossguid.bb
@@ -0,0 +1,25 @@
+# Copyright (C) 2017 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "Lightweight cross platform C++ GUID/UUID library"
+HOMEPAGE = "https://github.com/graeme-hill/crossguid"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1373274bc8d8001edc54933919f36f68"
+DEPENDS += "util-linux"
+
+PV = "0.0+git${SRCPV}"
+
+SRCREV = "b56957ac453575e91ca1b63a80c0077c2b0d011a"
+SRC_URI = "git://github.com/graeme-hill/crossguid;protocol=https"
+
+S = "${WORKDIR}/git"
+
+do_compile() {
+ ${CXX} -c guid.cpp -o guid.o ${CXXFLAGS} -std=c++11 -DGUID_LIBUUID
+ ${AR} rvs libcrossguid.a guid.o
+}
+
+do_install() {
+ install -D -m 0644 ${B}/libcrossguid.a ${D}${libdir}/libcrossguid.a
+ install -D -m 0644 ${S}/guid.h ${D}${includedir}/guid.h
+}
diff --git a/external/meta-openembedded/meta-multimedia/recipes-support/gst-instruments/gst-instruments_git.bb b/external/meta-openembedded/meta-multimedia/recipes-support/gst-instruments/gst-instruments_git.bb
new file mode 100644
index 00000000..feffa9fe
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-support/gst-instruments/gst-instruments_git.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Profiling utilities for GStreamer 1.0 pipelines"
+HOMEPAGE = "https://github.com/kirushyk/gst-instruments"
+SECTION = "multimedia"
+
+LICENSE = "LGPL-3.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e6a600fd5e1d9cbde2d983680233ad02"
+
+DEPENDS = "gstreamer1.0"
+
+S = "${WORKDIR}/git"
+SRCREV = "3b862e52e5c53ad1023dc6808effa4cb75572c4b"
+SRC_URI = "git://github.com/kirushyk/gst-instruments.git;protocol=https;"
+
+FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*a"
+FILES_${PN} += "${libdir}/*"
+
+INSANE_SKIP_${PN} = "dev-so"
+
+inherit autotools pkgconfig
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart-2.0_1.9.0.bb b/external/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart-2.0_1.9.0.bb
new file mode 100644
index 00000000..44f135a2
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart-2.0_1.9.0.bb
@@ -0,0 +1,7 @@
+require libmediaart.inc
+
+SRC_URI = "${GNOME_MIRROR}/libmediaart/1.9/libmediaart-${PV}.tar.xz"
+SRC_URI[md5sum] = "0b65d64398d2f3dff89534c9dfffab4f"
+SRC_URI[sha256sum] = "94668adb29d4dc3115b0fd105942ebd5ca6f5f9dbb2afa8a191a73a747dd506f"
+
+S = "${WORKDIR}/libmediaart-${PV}"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart.inc b/external/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart.inc
new file mode 100644
index 00000000..57dca9c1
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart.inc
@@ -0,0 +1,14 @@
+SUMMARY = "Library tasked with managing, extracting and handling media art caches"
+
+LICENSE = "LGPLv2+ & GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c \
+ file://libmediaart/extract.c;endline=18;md5=dff2b6328ab067b5baadc135f9876c36 \
+ file://tests/mediaarttest.c;endline=18;md5=067106eaa1f7a9d918759a096667f18e"
+
+DEPENDS = "glib-2.0 gdk-pixbuf"
+
+GNOME_COMPRESS_TYPE = "xz"
+
+inherit gnomebase gtk-doc gobject-introspection
+
+EXTRA_OECONF = "--disable-qt --enable-gdkpixbuf"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart_0.7.0.bb b/external/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart_0.7.0.bb
new file mode 100644
index 00000000..ae95d4f6
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart_0.7.0.bb
@@ -0,0 +1,6 @@
+require libmediaart.inc
+
+SRC_URI[archive.md5sum] = "1a44933d4cd0064e3c76d8d0ddacddc9"
+SRC_URI[archive.sha256sum] = "3a9dffcad862aed7c0921579b93080d694b8a66f3676bfee8037867f653a1cd3"
+
+EXTRA_OECONF_append = " --disable-gtk-doc"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/0001-Fix-enable-vfp-flag.patch b/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/0001-Fix-enable-vfp-flag.patch
new file mode 100644
index 00000000..aff1cb18
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/0001-Fix-enable-vfp-flag.patch
@@ -0,0 +1,41 @@
+Upstream-Status: Inappropriate [configuration]
+
+From 1921498bcc06408e8b051a3a9e9ce4182998f748 Mon Sep 17 00:00:00 2001
+From: David Schleef <ds@schleef.org>
+Date: Fri, 8 Apr 2011 10:05:49 -0700
+Subject: [PATCH 10/10] Fix --enable-vfp flag
+
+Patch from Christophe Lyon, fixes #36084.
+---
+ configure.ac | 4 ++--
+ liboil/arm/Makefile.am | 1 +
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 98c81fb..407d88c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -188,8 +188,8 @@ fi
+ AC_ARG_ENABLE(vfp,
+ AC_HELP_STRING([--enable-vfp],[compile with Vector Floating-point unit support]),
+ enable_vfp=$enableval,enable_vfp=yes)
+-if test "x$enable-vfp" = xyes -a x$HAVE_GCC_ASM = xyes -a x$HAVE_ARM = xyes; then
+- AS_COMPILER_FLAG(["-Wa,-mfpu=vfp"],
++if test "x$enable_vfp" = xyes -a x$HAVE_GCC_ASM = xyes -a x$HAVE_ARM = xyes; then
++ AS_COMPILER_FLAG(["-mfpu=vfp"],
+ [VFP_CFLAGS="$VFP_CFLAGS -mfpu=vfp"],
+ true)
+ #AS_COMPILER_FLAG(["-Wa,-mfloat-abi=softfp"],
+diff --git a/liboil/arm/Makefile.am b/liboil/arm/Makefile.am
+index ead08ed..cd8d9fa 100644
+--- a/liboil/arm/Makefile.am
++++ b/liboil/arm/Makefile.am
+@@ -6,4 +6,5 @@ libarm_la_SOURCES = \
+ math_vfp_asm.S
+
+ libarm_la_CFLAGS = $(LIBOIL_CFLAGS) $(VFP_CFLAGS)
++libarm_la_CCASFLAGS = $(LIBOIL_CFLAGS) $(VFP_CFLAGS)
+
+--
+1.7.6
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/fix-unaligned-whitelist.patch b/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/fix-unaligned-whitelist.patch
new file mode 100644
index 00000000..c8e3c1f7
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/fix-unaligned-whitelist.patch
@@ -0,0 +1,19 @@
+Upstream: https://bugs.freedesktop.org/show_bug.cgi?id=31358
+
+configure: fix whitelisting of x86_64 unaligned memory access
+
+Fix typo in whitelist so cross-compile works for x86_64.
+
+Upstream-Status: Inappropriate [configuration]
+
+--- liboil-0.3.17/m4/as-unaligned-access.m4.orig 2009-02-26 14:40:08.000000000 -0500
++++ liboil-0.3.17/m4/as-unaligned-access.m4 2010-11-03 12:19:55.000000000 -0400
+@@ -9,7 +9,7 @@
+ _AS_ECHO_N([(blacklisted) ])
+ as_cv_unaligned_access=no
+ ;;
+- i?86*|x86_64|amd64|powerpc*|m68k*|cris*)
++ i?86*|x86_64*|amd64*|powerpc*|m68k*|cris*)
+ _AS_ECHO_N([(whitelisted) ])
+ as_cv_unaligned_access=yes
+ ;;
diff --git a/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/liboil_fix_for_x32.patch b/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/liboil_fix_for_x32.patch
new file mode 100644
index 00000000..473380e9
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/liboil_fix_for_x32.patch
@@ -0,0 +1,222 @@
+Upstream-Status: Pending
+
+Make the assembly syntax compatible with x32 gcc. Othewise x32 gcc throws errors.
+
+Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
+2011/12/01
+
+
+Index: liboil-0.3.17/liboil/amd64/wavelet.c
+===================================================================
+--- liboil-0.3.17.orig/liboil/amd64/wavelet.c
++++ liboil-0.3.17/liboil/amd64/wavelet.c
+@@ -21,14 +21,14 @@ deinterleave2_asm (int16_t *d1, int16_t
+ asm volatile ("\n"
+ " sub $2, %%rcx\n"
+ "1:\n"
+- " movw (%1,%%rcx,4), %%ax\n"
+- " movw %%ax, (%0,%%rcx,2)\n"
+- " movw 2(%1,%%rcx,4), %%ax\n"
+- " movw %%ax, (%2,%%rcx,2)\n"
+- " movw 4(%1,%%rcx,4), %%ax\n"
+- " movw %%ax, 2(%0,%%rcx,2)\n"
+- " movw 6(%1,%%rcx,4), %%ax\n"
+- " movw %%ax, 2(%2,%%rcx,2)\n"
++ " movw (%q1,%%rcx,4), %%ax\n"
++ " movw %%ax, (%q0,%%rcx,2)\n"
++ " movw 2(%q1,%%rcx,4), %%ax\n"
++ " movw %%ax, (%q2,%%rcx,2)\n"
++ " movw 4(%q1,%%rcx,4), %%ax\n"
++ " movw %%ax, 2(%q0,%%rcx,2)\n"
++ " movw 6(%q1,%%rcx,4), %%ax\n"
++ " movw %%ax, 2(%q2,%%rcx,2)\n"
+ " sub $2, %%rcx\n"
+ " jge 1b\n"
+ : "+r" (d1), "+r" (s_2xn), "+r" (d2), "+c" (n)
+@@ -53,20 +53,20 @@ deinterleave2_mmx (int16_t *d1, int16_t
+ asm volatile ("\n"
+ " xor %%rcx, %%rcx\n"
+ "1:\n"
+- " movq (%1,%%rcx,4), %%mm0\n"
+- " movq 8(%1,%%rcx,4), %%mm1\n"
++ " movq (%q1,%%rcx,4), %%mm0\n"
++ " movq 8(%q1,%%rcx,4), %%mm1\n"
+ " pslld $16, %%mm0\n"
+ " pslld $16, %%mm1\n"
+ " psrad $16, %%mm0\n"
+ " psrad $16, %%mm1\n"
+ " packssdw %%mm1, %%mm0\n"
+- " movq %%mm0, (%0,%%rcx,2)\n"
+- " movq (%1,%%rcx,4), %%mm0\n"
+- " movq 8(%1,%%rcx,4), %%mm1\n"
++ " movq %%mm0, (%q0,%%rcx,2)\n"
++ " movq (%q1,%%rcx,4), %%mm0\n"
++ " movq 8(%q1,%%rcx,4), %%mm1\n"
+ " psrad $16, %%mm0\n"
+ " psrad $16, %%mm1\n"
+ " packssdw %%mm1, %%mm0\n"
+- " movq %%mm0, (%2,%%rcx,2)\n"
++ " movq %%mm0, (%q2,%%rcx,2)\n"
+ " add $4, %%rcx\n"
+ " cmp %3, %%ecx\n"
+ " jl 1b\n"
+@@ -93,10 +93,10 @@ deinterleave2_mmx_2 (int16_t *d1, int16_
+ asm volatile ("\n"
+ " xor %%rcx, %%rcx\n"
+ "1:\n"
+- " pshufw $0xd8, (%1,%%rcx,4), %%mm0\n"
+- " movd %%mm0, (%0,%%rcx,2)\n"
+- " pshufw $0x8d, (%1,%%rcx,4), %%mm0\n"
+- " movd %%mm0, (%2,%%rcx,2)\n"
++ " pshufw $0xd8, (%q1,%%rcx,4), %%mm0\n"
++ " movd %%mm0, (%q0,%%rcx,2)\n"
++ " pshufw $0x8d, (%q1,%%rcx,4), %%mm0\n"
++ " movd %%mm0, (%q2,%%rcx,2)\n"
+ " add $2, %%rcx\n"
+ " cmp %3, %%ecx\n"
+ " jl 1b\n"
+@@ -123,16 +123,16 @@ deinterleave2_mmx_3 (int16_t *d1, int16_
+ asm volatile ("\n"
+ " xor %%rcx, %%rcx\n"
+ "1:\n"
+- " movq (%1,%%rcx,4), %%mm1\n"
+- " movq (%1,%%rcx,4), %%mm2\n"
+- " movq 8(%1,%%rcx,4), %%mm0\n"
++ " movq (%q1,%%rcx,4), %%mm1\n"
++ " movq (%q1,%%rcx,4), %%mm2\n"
++ " movq 8(%q1,%%rcx,4), %%mm0\n"
+ " punpcklwd %%mm0, %%mm1\n"
+ " punpckhwd %%mm0, %%mm2\n"
+ " movq %%mm1, %%mm0\n"
+ " punpcklwd %%mm2, %%mm0\n"
+ " punpckhwd %%mm2, %%mm1\n"
+- " movq %%mm0, (%0,%%rcx,2)\n"
+- " movq %%mm1, (%2,%%rcx,2)\n"
++ " movq %%mm0, (%q0,%%rcx,2)\n"
++ " movq %%mm1, (%q2,%%rcx,2)\n"
+ " add $4, %%rcx\n"
+ " cmp %3, %%ecx\n"
+ " jl 1b\n"
+@@ -159,26 +159,26 @@ deinterleave2_mmx_4 (int16_t *d1, int16_
+ asm volatile ("\n"
+ " xor %%rcx, %%rcx\n"
+ "1:\n"
+- " movq (%1,%%rcx,4), %%mm1\n"
++ " movq (%q1,%%rcx,4), %%mm1\n"
+ " movq %%mm1, %%mm2\n"
+- " movq 8(%1,%%rcx,4), %%mm0\n"
+- " movq 16(%1,%%rcx,4), %%mm5\n"
++ " movq 8(%q1,%%rcx,4), %%mm0\n"
++ " movq 16(%q1,%%rcx,4), %%mm5\n"
+ " punpcklwd %%mm0, %%mm1\n"
+ " movq %%mm5, %%mm6\n"
+ " punpckhwd %%mm0, %%mm2\n"
+- " movq 24(%1,%%rcx,4), %%mm4\n"
++ " movq 24(%q1,%%rcx,4), %%mm4\n"
+ " movq %%mm1, %%mm0\n"
+ " punpcklwd %%mm4, %%mm5\n"
+ " punpcklwd %%mm2, %%mm0\n"
+ " punpckhwd %%mm4, %%mm6\n"
+ " punpckhwd %%mm2, %%mm1\n"
+ " movq %%mm5, %%mm4\n"
+- " movq %%mm0, (%0,%%rcx,2)\n"
++ " movq %%mm0, (%q0,%%rcx,2)\n"
+ " punpcklwd %%mm6, %%mm4\n"
+- " movq %%mm1, (%2,%%rcx,2)\n"
++ " movq %%mm1, (%q2,%%rcx,2)\n"
+ " punpckhwd %%mm6, %%mm5\n"
+- " movq %%mm4, 8(%0,%%rcx,2)\n"
+- " movq %%mm5, 8(%2,%%rcx,2)\n"
++ " movq %%mm4, 8(%q0,%%rcx,2)\n"
++ " movq %%mm5, 8(%q2,%%rcx,2)\n"
+ " add $8, %%rcx\n"
+ " cmp %3, %%ecx\n"
+ " jl 1b\n"
+@@ -252,13 +252,13 @@ interleave2_mmx (int16_t *d_2xn, int16_t
+ asm volatile ("\n"
+ " xor %%rcx, %%rcx\n"
+ "1:\n"
+- " movq (%1,%%rcx,2), %%mm0\n"
+- " movq (%2,%%rcx,2), %%mm1\n"
++ " movq (%q1,%%rcx,2), %%mm0\n"
++ " movq (%q2,%%rcx,2), %%mm1\n"
+ " movq %%mm0, %%mm2\n"
+ " punpckhwd %%mm1, %%mm0\n"
+ " punpcklwd %%mm1, %%mm2\n"
+- " movq %%mm2, (%0,%%rcx,4)\n"
+- " movq %%mm0, 8(%0,%%rcx,4)\n"
++ " movq %%mm2, (%q0,%%rcx,4)\n"
++ " movq %%mm0, 8(%q0,%%rcx,4)\n"
+ " add $4, %%rcx\n"
+ " cmp %3, %%ecx\n"
+ " jl 1b\n"
+@@ -285,12 +285,12 @@ lift_add_shift1_mmx (int16_t *d, int16_t
+ asm volatile ("\n"
+ " xor %%rcx, %%rcx\n"
+ "1:\n"
+- " movq (%2,%%rcx,2), %%mm1\n"
+- " movq (%3,%%rcx,2), %%mm2\n"
++ " movq (%q2,%%rcx,2), %%mm1\n"
++ " movq (%q3,%%rcx,2), %%mm2\n"
+ " paddw %%mm2, %%mm1\n"
+ " psraw $1, %%mm1\n"
+- " paddw (%1,%%rcx,2), %%mm1\n"
+- " movq %%mm1, (%0,%%rcx,2)\n"
++ " paddw (%q1,%%rcx,2), %%mm1\n"
++ " movq %%mm1, (%q0,%%rcx,2)\n"
+ " add $4, %%rcx\n"
+ " cmp %4, %%ecx\n"
+ " jl 1b\n"
+@@ -317,13 +317,13 @@ lift_sub_shift1_mmx (int16_t *d, int16_t
+ asm volatile ("\n"
+ " xor %%rcx, %%rcx\n"
+ "1:\n"
+- " movq (%2,%%rcx,2), %%mm1\n"
+- " movq (%3,%%rcx,2), %%mm2\n"
+- " movq (%1,%%rcx,2), %%mm0\n"
++ " movq (%q2,%%rcx,2), %%mm1\n"
++ " movq (%q3,%%rcx,2), %%mm2\n"
++ " movq (%q1,%%rcx,2), %%mm0\n"
+ " paddw %%mm2, %%mm1\n"
+ " psraw $1, %%mm1\n"
+ " psubw %%mm1, %%mm0\n"
+- " movq %%mm0, (%0,%%rcx,2)\n"
++ " movq %%mm0, (%q0,%%rcx,2)\n"
+ " add $4, %%rcx\n"
+ " cmp %4, %%ecx\n"
+ " jl 1b\n"
+@@ -350,12 +350,12 @@ lift_add_shift2_mmx (int16_t *d, int16_t
+ asm volatile ("\n"
+ " xor %%rcx, %%rcx\n"
+ "1:\n"
+- " movq (%2,%%rcx,2), %%mm1\n"
+- " movq (%3,%%rcx,2), %%mm2\n"
++ " movq (%q2,%%rcx,2), %%mm1\n"
++ " movq (%q3,%%rcx,2), %%mm2\n"
+ " paddw %%mm2, %%mm1\n"
+ " psraw $2, %%mm1\n"
+- " paddw (%1,%%rcx,2), %%mm1\n"
+- " movq %%mm1, (%0,%%rcx,2)\n"
++ " paddw (%q1,%%rcx,2), %%mm1\n"
++ " movq %%mm1, (%q0,%%rcx,2)\n"
+ " add $4, %%rcx\n"
+ " cmp %4, %%ecx\n"
+ " jl 1b\n"
+@@ -382,13 +382,13 @@ lift_sub_shift2_mmx (int16_t *d, int16_t
+ asm volatile ("\n"
+ " xor %%rcx, %%rcx\n"
+ "1:\n"
+- " movq (%2,%%rcx,2), %%mm1\n"
+- " movq (%3,%%rcx,2), %%mm2\n"
+- " movq (%1,%%rcx,2), %%mm0\n"
++ " movq (%q2,%%rcx,2), %%mm1\n"
++ " movq (%q3,%%rcx,2), %%mm2\n"
++ " movq (%q1,%%rcx,2), %%mm0\n"
+ " paddw %%mm2, %%mm1\n"
+ " psraw $2, %%mm1\n"
+ " psubw %%mm1, %%mm0\n"
+- " movq %%mm0, (%0,%%rcx,2)\n"
++ " movq %%mm0, (%q0,%%rcx,2)\n"
+ " add $4, %%rcx\n"
+ " cmp %4, %%ecx\n"
+ " jl 1b\n"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/no-tests.patch b/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/no-tests.patch
new file mode 100644
index 00000000..892d4413
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil-0.3.17/no-tests.patch
@@ -0,0 +1,24 @@
+Upstream-Status: Inappropriate [disable feature]
+
+--- liboil-0.3.9/liboil/liboilfunction.c.old 2006-09-18 13:03:20.000000000 +0100
++++ liboil-0.3.9/liboil/liboilfunction.c 2006-09-18 13:04:10.000000000 +0100
+@@ -345,7 +345,9 @@
+ return;
+ }
+
+- test = oil_test_new (klass);
++ klass->chosen_impl = klass->reference_impl;
++ klass->func = klass->reference_impl->func;
++/* test = oil_test_new (klass);
+ if (test == NULL) {
+ OIL_ERROR ("failed to test function class %s", klass->name);
+ return;
+@@ -385,7 +387,7 @@
+ klass->chosen_impl = min_impl;
+ klass->func = min_impl->func;
+
+- oil_test_free (test);
++ oil_test_free (test);*/
+ }
+
+ static void
diff --git a/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil_0.3.17.bb b/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil_0.3.17.bb
new file mode 100644
index 00000000..03b77852
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-support/liboil/liboil_0.3.17.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Library of simple functions optimized for various CPUs"
+HOMEPAGE = "http://liboil.freedesktop.org/"
+BUGTRACKER = "https://bugs.freedesktop.org/"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ad80780d9c5205d63481a0184e199a15 \
+ file://liboil/liboil.h;endline=28;md5=95c794a66b88800d949fed17e437d9fb \
+ file://liboil/liboilcpu.c;endline=28;md5=89da69a61d88eedcba066f42353fb75a \
+ file://examples/example1.c;endline=29;md5=9d4dad9fcbbdf0441ee063f8af5170c9 \
+ file://testsuite/trans.c;endline=29;md5=380ecd43121fe3dcc0d8d7e5984f283d"
+
+DEPENDS = "glib-2.0"
+PR = "r5"
+
+SRC_URI = "http://liboil.freedesktop.org/download/${BPN}-${PV}.tar.gz \
+ file://no-tests.patch \
+ file://fix-unaligned-whitelist.patch \
+ file://0001-Fix-enable-vfp-flag.patch \
+ file://liboil_fix_for_x32.patch \
+ "
+
+SRC_URI[md5sum] = "47dc734f82faeb2964d97771cfd2e701"
+SRC_URI[sha256sum] = "105f02079b0b50034c759db34b473ecb5704ffa20a5486b60a8b7698128bfc69"
+
+inherit autotools pkgconfig
+
+ARM_INSTRUCTION_SET = "arm"
diff --git a/external/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp/0001-Rename-conflicting-variable-mips.patch b/external/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp/0001-Rename-conflicting-variable-mips.patch
new file mode 100644
index 00000000..b56c7895
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp/0001-Rename-conflicting-variable-mips.patch
@@ -0,0 +1,73 @@
+From 3dc8a678a844247d0afcf7e30fb3cbd5ccbd828f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 29 Jun 2017 14:05:06 -0700
+Subject: [PATCH] Rename conflicting variable 'mips'
+
+Fixes
+test/srtp_driver.c:344:12: error: expected identifier or '(' before numeric constant
+ double mips = mips_estimate(1000000000, &ignore);
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ test/srtp_driver.c | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/test/srtp_driver.c b/test/srtp_driver.c
+index 8872971..d38ea19 100644
+--- a/test/srtp_driver.c
++++ b/test/srtp_driver.c
+@@ -341,7 +341,7 @@ main (int argc, char *argv[]) {
+ if (do_codec_timing) {
+ srtp_policy_t policy;
+ int ignore;
+- double mips = mips_estimate(1000000000, &ignore);
++ double est = mips_estimate(1000000000, &ignore);
+
+ crypto_policy_set_rtp_default(&policy.rtp);
+ crypto_policy_set_rtcp_default(&policy.rtcp);
+@@ -353,33 +353,33 @@ main (int argc, char *argv[]) {
+ policy.allow_repeat_tx = 0;
+ policy.next = NULL;
+
+- printf("mips estimate: %e\n", mips);
++ printf("mips estimate: %e\n", est);
+
+ printf("testing srtp processing time for voice codecs:\n");
+ printf("codec\t\tlength (octets)\t\tsrtp instructions/second\n");
+ printf("G.711\t\t%d\t\t\t%e\n", 80,
+- (double) mips * (80 * 8) /
++ (double) est * (80 * 8) /
+ srtp_bits_per_second(80, &policy) / .01 );
+ printf("G.711\t\t%d\t\t\t%e\n", 160,
+- (double) mips * (160 * 8) /
++ (double) est * (160 * 8) /
+ srtp_bits_per_second(160, &policy) / .02);
+ printf("G.726-32\t%d\t\t\t%e\n", 40,
+- (double) mips * (40 * 8) /
++ (double) est * (40 * 8) /
+ srtp_bits_per_second(40, &policy) / .01 );
+ printf("G.726-32\t%d\t\t\t%e\n", 80,
+- (double) mips * (80 * 8) /
++ (double) est * (80 * 8) /
+ srtp_bits_per_second(80, &policy) / .02);
+ printf("G.729\t\t%d\t\t\t%e\n", 10,
+- (double) mips * (10 * 8) /
++ (double) est * (10 * 8) /
+ srtp_bits_per_second(10, &policy) / .01 );
+ printf("G.729\t\t%d\t\t\t%e\n", 20,
+- (double) mips * (20 * 8) /
++ (double) est * (20 * 8) /
+ srtp_bits_per_second(20, &policy) / .02 );
+ printf("Wideband\t%d\t\t\t%e\n", 320,
+- (double) mips * (320 * 8) /
++ (double) est * (320 * 8) /
+ srtp_bits_per_second(320, &policy) / .01 );
+ printf("Wideband\t%d\t\t\t%e\n", 640,
+- (double) mips * (640 * 8) /
++ (double) est * (640 * 8) /
+ srtp_bits_per_second(640, &policy) / .02 );
+ }
+
+--
+2.13.2
+
diff --git a/external/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.6.0.bb b/external/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.6.0.bb
new file mode 100644
index 00000000..d3ab5b71
--- /dev/null
+++ b/external/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_1.6.0.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "library implementing Secure RTP (RFC 3711)"
+HOMEPAGE = "https://github.com/cisco/libsrtp"
+SECTION = "libs"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=15bc16b9d2e305974dde47e733883714"
+
+S = "${WORKDIR}/git"
+SRCREV = "2b091a4fb21c9b06fc5d4b5763bdaec97542fcd7"
+SRC_URI = "git://github.com/cisco/libsrtp.git;protocol=https;branch=1_6_x_throttle; \
+ file://0001-Rename-conflicting-variable-mips.patch \
+ "
+
+inherit autotools
+
+ALLOW_EMPTY_${PN} = "1"