summaryrefslogtreecommitdiffstats
path: root/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia
diff options
context:
space:
mode:
Diffstat (limited to 'bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia')
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/adsp-module/adsp-fw-module.bb32
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/adsp-module/adsp-if-module.bb61
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/avb-applications/avb-applications.inc8
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/avb-applications/avb-demoapps.bb108
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/avb-applications/avbtool.bb17
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/cms-module/cms-user-module.bb75
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/dtv-module/dtv-user-module.bb74
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/dvd-module/dvd-encryption-module.bb54
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/dvd-module/dvd-user-module.bb64
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx/gstomx.conf131
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16.2.bbappend33
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config/gstvspfilter-ebisu_r8a77990.conf2
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config/gstvspfilter-h3ulcb_r8a7795.conf2
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config/gstvspfilter-m3nulcb_r8a77965.conf2
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config/gstvspfilter-m3ulcb_r8a7796.conf2
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config/gstvspfilter-salvator-x_r8a7795.conf2
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config/gstvspfilter-salvator-x_r8a7796.conf2
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config/gstvspfilter-salvator-x_r8a77965.conf2
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config_1.0.1.bb25
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter_1.0.1.bb35
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.2.bbappend8
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.2.bbappend13
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr-user-module.bb25
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr_lib.inc19
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngrbuf-user-module.bb25
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/omx-module/deltask-omx-user-module.inc2
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/omx-module/libalacdla-l.bb63
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/omx-module/libflacdla-l.bb51
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/omx-module/omx-user-module.bb490
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/openavnu/openavnu/0001-Fix-QA-issue-when-build-with-Yocto.patch34
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/openavnu/openavnu_git.bb75
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-gstreamer1.0-plugins.bb87
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-multimedia-kernel.bb33
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-multimedia-libs.bb22
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif-tp-user-module.bb46
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif-user-module.bb49
-rw-r--r--bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif.inc15
37 files changed, 1788 insertions, 0 deletions
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/adsp-module/adsp-fw-module.bb b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/adsp-module/adsp-fw-module.bb
new file mode 100644
index 00000000..2a7e37a3
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/adsp-module/adsp-fw-module.bb
@@ -0,0 +1,32 @@
+DESCRIPTION = "ADSP Framework for Linux"
+LICENSE = "CLOSED"
+
+inherit features_check
+
+REQUIRED_DISTRO_FEATURES = "adsp"
+COMPATIBLE_MACHINE = "(salvator-x|ulcb|ebisu)"
+
+SRC_URI = "file://RCG3AHFWN0201ZDP.tar.gz"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+S = "${WORKDIR}/RCG3AHFWN0201ZDP"
+
+do_install() {
+ # create the firmware dir
+ install -d ${D}/lib/firmware
+
+ # install the firmware bin
+ install -m 0644 ${S}/lib/firmware/xf-rcar.fw ${D}/lib/firmware
+}
+
+PACKAGES = " \
+ ${PN} \
+"
+
+FILES_${PN} = " \
+ /lib/firmware \
+"
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/adsp-module/adsp-if-module.bb b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/adsp-module/adsp-if-module.bb
new file mode 100644
index 00000000..ea12f564
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/adsp-module/adsp-if-module.bb
@@ -0,0 +1,61 @@
+DESCRIPTION = "ADSP Interface for Linux"
+LICENSE = "CLOSED"
+
+inherit features_check
+
+REQUIRED_DISTRO_FEATURES = "adsp"
+
+DEPENDS += "kernel-module-xtensa-hifi"
+
+SRC_URI = "file://RCG3AHIFL4101ZDP.tar.gz"
+
+S = "${WORKDIR}/RCG3AHIFL4101ZDP"
+
+COMPATIBLE_MACHINE = "(salvator-x|ulcb|ebisu)"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+# Don't need to do_configure
+do_configure[noexec] = "1"
+
+# Don't use EXTRA_OEMAKE default value to avoid default CFLAGS, LDFLAGS
+# of poky override the CFLAGS, LDFLAGS inside RCG3AHIFL4101ZDP/Makefile
+EXTRA_OEMAKE = "INCSHARED=${STAGING_INCDIR}"
+
+do_compile() {
+ cd ${S}
+ oe_runmake
+}
+
+do_install() {
+ # Create destination directory
+ install -d ${D}/${libdir}
+ install -d ${D}/${includedir}
+ install -d ${D}/${includedir}/sys/fio
+ install -d ${D}/${includedir}/os/linux
+
+ # Copy library
+ install -m 0755 ${S}/libRCG3AHIFL4101ZDP.so.1.0 ${D}/${libdir}
+
+ # Copy shared header files
+ install -m 0644 ${S}/include/*.h ${D}/${includedir}
+ install -m 0644 ${S}/include/sys/fio/*.h ${D}/${includedir}/sys/fio/
+ install -m 0644 ${S}/include/os/linux/*.h ${D}/${includedir}/os/linux/
+
+ # Create the symbolic link
+ cd ${D}/${libdir}
+ ln -s libRCG3AHIFL4101ZDP.so.1.0 libRCG3AHIFL4101ZDP.so.1
+ ln -s libRCG3AHIFL4101ZDP.so.1 libRCG3AHIFL4101ZDP.so
+}
+
+PACKAGES = " \
+ ${PN} \
+ ${PN}-dev \
+ ${PN}-dbg \
+"
+
+INSANE_SKIP_${PN} += "dev-so"
+
+FILES_${PN} += " \
+ ${libdir}/*.so* \
+ ${includedir} \
+"
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/avb-applications/avb-applications.inc b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/avb-applications/avb-applications.inc
new file mode 100644
index 00000000..1a82eed4
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/avb-applications/avb-applications.inc
@@ -0,0 +1,8 @@
+require include/rcar-gen3-modules-common.inc
+
+inherit features_check
+
+REQUIRED_DISTRO_FEATURES = "avb"
+
+SRC_URI = "gitsm://github.com/renesas-rcar/avb-applications.git;branch=rcar-gen3"
+SRCREV = "8398f6e66eaf487eaf8e9a2a8d60f222456c06a6"
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/avb-applications/avb-demoapps.bb b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/avb-applications/avb-demoapps.bb
new file mode 100644
index 00000000..455768bf
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/avb-applications/avb-demoapps.bb
@@ -0,0 +1,108 @@
+DESCRIPTION = "Renesas Ethernet AVB demo applications"
+
+require avb-applications.inc
+
+LICENSE = "MIT & BSD"
+LIC_FILES_CHKSUM = " \
+ file://COPYING.MIT;md5=96659f2a7571bfa27483882a653c3bb9 \
+ file://lib/msrp/LICENSE.BSD;md5=60ba0ea0afdcbf8d26ce31ce1503aba3 \
+ file://lib/avdecc/jdksavdecc-c/COPYRIGHT;md5=6592ded5140540a936b8d98ed1b6a577 \
+ file://avblauncher/inih/LICENSE.txt;md5=a7a95d2af90376e85a05318794e6f202 \
+"
+
+DEPENDS = "kernel-module-avb-streaming libyaml cmake-native"
+
+S = "${WORKDIR}/git/avb-demoapps"
+
+includedir = "${RENESAS_DATADIR}/include"
+
+EXTRA_OEMAKE = "'CC=${CC}' 'AR=${AR}'"
+
+do_install_append() {
+ oe_runmake install INSTALL_DIR=${D}/${bindir}
+
+ # Create install directories
+ install -d ${D}/${sysconfdir}/linuxptp
+ install -d ${D}/${sysconfdir}/daemon_cl
+ install -d ${D}/${sysconfdir}/avblauncher
+
+ # Install
+ install -m 644 ${S}/etc/linuxptp/avb-demoapps.cfg ${D}/${sysconfdir}/linuxptp
+ install -m 644 ${S}/etc/daemon_cl/gptp_cfg.ini ${D}/${sysconfdir}/daemon_cl
+ install -m 755 ${S}/etc/avblauncher/mse_aaf_pcm.sh ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/mse_aaf_pcm_listener.ini ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/mse_aaf_pcm_talker.ini ${D}/${sysconfdir}/avblauncher
+ install -m 755 ${S}/etc/avblauncher/mse_cvf_h264.sh ${D}/${sysconfdir}/avblauncher
+ install -m 755 ${S}/etc/avblauncher/mse_cvf_h264_d13.sh ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/mse_cvf_h264_d13_listener.ini ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/mse_cvf_h264_d13_talker.ini ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/mse_cvf_h264_listener.ini ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/mse_cvf_h264_talker.ini ${D}/${sysconfdir}/avblauncher
+ install -m 755 ${S}/etc/avblauncher/mse_cvf_mjpeg.sh ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/mse_cvf_mjpeg_listener.ini ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/mse_cvf_mjpeg_talker.ini ${D}/${sysconfdir}/avblauncher
+ install -m 755 ${S}/etc/avblauncher/mse_iec61883_4.sh ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/mse_iec61883_4_listener.ini ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/mse_iec61883_4_talker.ini ${D}/${sysconfdir}/avblauncher
+ install -m 755 ${S}/etc/avblauncher/mse_iec61883_6.sh ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/mse_iec61883_6_listener.ini ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/mse_iec61883_6_talker.ini ${D}/${sysconfdir}/avblauncher
+ install -m 755 ${S}/etc/avblauncher/simple_application.sh ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/simple_listener.ini ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/simple_talker.ini ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/avdecc_entity_audio.yaml ${D}/${sysconfdir}/avblauncher
+}
+
+PACKAGES =+ " \
+ ${PN}-simple \
+ ${PN}-mrpdummy \
+ ${PN}-avblauncher \
+"
+
+ALLOW_EMPTY_${PN} = "1"
+
+FILES_${PN}-mrpdummy = " \
+ ${bindir}/mrpdummy \
+"
+
+FILES_${PN}-avblauncher = " \
+ ${sysconfdir}/daemon_cl/gptp_cfg.ini \
+ ${sysconfdir}/avblauncher/mse_aaf_pcm.sh \
+ ${sysconfdir}/avblauncher/mse_aaf_pcm_listener.ini \
+ ${sysconfdir}/avblauncher/mse_aaf_pcm_talker.ini \
+ ${sysconfdir}/avblauncher/mse_cvf_h264.sh \
+ ${sysconfdir}/avblauncher/mse_cvf_h264_d13.sh \
+ ${sysconfdir}/avblauncher/mse_cvf_h264_d13_listener.ini \
+ ${sysconfdir}/avblauncher/mse_cvf_h264_d13_talker.ini \
+ ${sysconfdir}/avblauncher/mse_cvf_h264_listener.ini \
+ ${sysconfdir}/avblauncher/mse_cvf_h264_talker.ini \
+ ${sysconfdir}/avblauncher/mse_cvf_mjpeg.sh \
+ ${sysconfdir}/avblauncher/mse_cvf_mjpeg_listener.ini \
+ ${sysconfdir}/avblauncher/mse_cvf_mjpeg_talker.ini \
+ ${sysconfdir}/avblauncher/mse_iec61883_4.sh \
+ ${sysconfdir}/avblauncher/mse_iec61883_4_listener.ini \
+ ${sysconfdir}/avblauncher/mse_iec61883_4_talker.ini \
+ ${sysconfdir}/avblauncher/mse_iec61883_6.sh \
+ ${sysconfdir}/avblauncher/mse_iec61883_6_listener.ini \
+ ${sysconfdir}/avblauncher/mse_iec61883_6_talker.ini \
+ ${sysconfdir}/avblauncher/simple_application.sh \
+ ${sysconfdir}/avblauncher/simple_listener.ini \
+ ${sysconfdir}/avblauncher/simple_talker.ini \
+ ${sysconfdir}/avblauncher/avdecc_entity_audio.yaml \
+ ${bindir}/avblauncher \
+"
+
+FILES_${PN}-simple = " \
+ ${sysconfdir}/linuxptp/avb-demoapps.cfg \
+ ${bindir}/simple_talker \
+ ${bindir}/simple_listener \
+"
+
+RDEPENDS_${PN} = " \
+ ${PN}-simple \
+ ${PN}-avblauncher \
+"
+
+RDEPENDS_${PN}-avblauncher = " \
+ ${PN}-mrpdummy \
+"
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/avb-applications/avbtool.bb b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/avb-applications/avbtool.bb
new file mode 100644
index 00000000..5c002776
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/avb-applications/avbtool.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Utility tool of the AVB Streaming Driver for Linux for the R-Car Gen3"
+
+require avb-applications.inc
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING.MIT;md5=96659f2a7571bfa27483882a653c3bb9"
+
+DEPENDS = "kernel-module-avb-streaming"
+
+S = "${WORKDIR}/git/avbtool"
+
+EXTRA_OEMAKE = "'CC=${CC}'"
+
+do_install_append() {
+ install -d ${D}/${bindir}
+ install -m 755 ${S}/avbtool ${D}/${bindir}
+}
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/cms-module/cms-user-module.bb b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/cms-module/cms-user-module.bb
new file mode 100644
index 00000000..ff2b8d2a
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/cms-module/cms-user-module.bb
@@ -0,0 +1,75 @@
+DESCRIPTION = "R-Car Gen3 Color Management System"
+LICENSE = "CLOSED"
+
+require include/cms-control.inc
+
+SRC_CMSBCM = "${@bb.utils.contains('USE_CMSBCM', '1', 'file://RTM0AC0000JRCMBCV0SL41C.tar.gz;subdir=cms/bcm', '', d)}"
+SRC_CMSBLC = "${@bb.utils.contains('USE_CMSBLC', '1', 'file://RTM0AC0000JRCMBLC0SL41C.tar.gz;subdir=cms/blc', '', d)}"
+SRC_CMSDGC = "${@bb.utils.contains('USE_CMSDGC', '1', 'file://RTM0AC0000JRCMDGV0SL41C.tar.gz;subdir=cms/dgc', '', d)}"
+
+SRC_URI = " \
+ ${SRC_CMSBCM} \
+ ${SRC_CMSBLC} \
+ ${SRC_CMSDGC} \
+"
+
+S = "${WORKDIR}/cms"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_MACHINE = "(salvator-x|ulcb|ebisu)"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+ # Create the lib directory
+ install -d ${D}/${libdir}
+
+ if [ "X${USE_CMSBCM}" = "X1" ]; then
+ install -d ${D}/${includedir}/cms/bcm
+ install -m 755 ${S}/bcm/${baselib}/libcmsbcm.so.2.0.0 ${D}/${libdir}
+ install -m 644 ${S}/bcm/include/*.h ${D}/${includedir}/cms/bcm
+
+ cd ${D}/${libdir}
+ ln -s libcmsbcm.so.2.0.0 libcmsbcm.so.1
+ ln -s libcmsbcm.so.1 libcmsbcm.so
+ fi
+
+ if [ "X${USE_CMSBLC}" = "X1" ]; then
+ install -d ${D}/${includedir}/cms/blc
+ install -m 755 ${S}/blc/${baselib}/libcmsblc.so.2.0.0 ${D}/${libdir}
+ install -m 644 ${S}/blc/include/*.h ${D}/${includedir}/cms/blc
+
+ cd ${D}/${libdir}
+ ln -s libcmsblc.so.2.0.0 libcmsblc.so.1
+ ln -s libcmsblc.so.1 libcmsblc.so
+ fi
+
+ if [ "X${USE_CMSDGC}" = "X1" ]; then
+ install -d ${D}/${includedir}/cms/dgc
+ install -m 755 ${S}/dgc/${baselib}/libcmsdgc.so.2.0.0 ${D}/${libdir}
+ install -m 644 ${S}/dgc/include/*.h ${D}/${includedir}/cms/dgc
+
+ cd ${D}/${libdir}
+ ln -s libcmsdgc.so.2.0.0 libcmsdgc.so.1
+ ln -s libcmsdgc.so.1 libcmsdgc.so
+ fi
+}
+
+FILES_${PN} = " \
+ ${libdir}/*.so.* \
+ ${libdir}/lib*.so \
+"
+
+FILES_${PN}-dev = " \
+ ${includedir} \
+"
+
+INSANE_SKIP_${PN} = "dev-so"
+
+# Skip debug strip of do_populate_sysroot()
+INHIBIT_SYSROOT_STRIP = "1"
+
+# Skip debug split and strip of do_package()
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+INHIBIT_PACKAGE_STRIP = "1"
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/dtv-module/dtv-user-module.bb b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/dtv-module/dtv-user-module.bb
new file mode 100644
index 00000000..a5b86453
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/dtv-module/dtv-user-module.bb
@@ -0,0 +1,74 @@
+DESCRIPTION = "ISDB-T DTV Software Package for Linux for the R-Car Gen3"
+LICENSE = "CLOSED"
+
+require include/rcar-gen3-modules-common.inc
+require include/dtv-dvd-control.inc
+
+inherit features_check
+
+DEPENDS = " \
+ kernel-module-vspmif mmngr-user-module \
+ vspmif-user-module kernel-module-vspm \
+ omx-user-module kernel-module-uvcs-drv \
+ kernel-module-scu-src kernel-module-ssp \
+ kernel-module-tddmac kernel-module-tsif \
+"
+
+PN = "dtv-user-module"
+PR = "r0"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+REQUIRED_DISTRO_FEATURES = "dtv"
+
+SRC_URI_DTV_SW = "file://Software.tar.gz"
+SRC_URI_DTV_UDF = "file://Reference.tar.gz"
+
+SRC_URI = " \
+ ${SRC_URI_DTV_SW} \
+ ${SRC_URI_DTV_UDF} \
+"
+
+S = "${WORKDIR}"
+
+includedir = "${RENESAS_DATADIR}/include"
+
+# do_configure() nothing
+do_configure[noexec] = "1"
+# do_compile() nothing
+do_compile[noexec] = "1"
+
+do_install() {
+ # Create destination folders
+ install -d ${D}/${libdir}
+ install -d ${D}${RENESAS_DATADIR}/include
+ install -d ${D}${RENESAS_DATADIR}/src/dtv/reference
+
+ # Copy library
+ install -m 644 ${S}/${baselib}/*.a ${D}/${libdir}/
+
+ # Copy shared header files
+ install -m 644 ${S}/include/*.h ${D}${RENESAS_DATADIR}/include
+
+ # Copy reference files
+ install -m 644 ${S}/userfunc/*.h ${D}${RENESAS_DATADIR}/src/dtv/reference
+ install -m 644 ${S}/userfunc/*.c ${D}${RENESAS_DATADIR}/src/dtv/reference
+}
+
+PACKAGES = " \
+ ${PN} \
+ ${PN}-dev \
+ ${PN}-staticdev \
+"
+
+FILES_${PN} = ""
+ALLOW_EMPTY_${PN} = "1"
+
+FILES_${PN}-dev = " \
+ ${RENESAS_DATADIR}/include/*.h \
+ ${RENESAS_DATADIR}/src/dtv/reference/* \
+"
+FILES_${PN}-staticdev = " \
+ ${libdir}/*.a \
+"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/dvd-module/dvd-encryption-module.bb b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/dvd-module/dvd-encryption-module.bb
new file mode 100644
index 00000000..8651b4f7
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/dvd-module/dvd-encryption-module.bb
@@ -0,0 +1,54 @@
+DESCRIPTION = "DVD Encryption Library for Linux RCar Gen3"
+LICENSE = "CLOSED"
+
+require include/rcar-gen3-path-common.inc
+
+inherit features_check
+REQUIRED_DISTRO_FEATURES = "dvd_encryption_library"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_MACHINE = "(salvator-x|ulcb|ebisu)"
+
+SRC_URI = " \
+ file://Software.tar.gz \
+"
+
+S = "${WORKDIR}"
+
+includedir = "${RENESAS_DATADIR}/include"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+ install -d ${D}${base_libdir}/optee_armtz
+ install -d ${D}${RENESAS_DATADIR}/include
+ install -d ${D}${libdir}
+
+ install -m 644 ${S}/TEE/DynamicTA/*.ta \
+ ${D}${base_libdir}/optee_armtz/
+ install -m 644 ${S}/TEEC/include/avc_copdvd.h \
+ ${D}${RENESAS_DATADIR}/include/
+ install -m 644 ${S}/TEEC/lib/libcopdvd.a \
+ ${D}${libdir}
+}
+
+PACKAGES = " \
+ ${PN} \
+ ${PN}-dev \
+ ${PN}-staticdev \
+"
+
+FILES_${PN} = " \
+ ${base_libdir}/optee_armtz/*.ta \
+"
+
+FILES_${PN}-dev = " \
+ ${RENESAS_DATADIR}/include/avc_copdvd.h \
+"
+
+FILES_${PN}-staticdev = " \
+ ${libdir}/libcopdvd.a \
+"
+
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/dvd-module/dvd-user-module.bb b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/dvd-module/dvd-user-module.bb
new file mode 100644
index 00000000..35908075
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/dvd-module/dvd-user-module.bb
@@ -0,0 +1,64 @@
+DESCRIPTION = "DVD Core-Middleware for Linux for the R-Car Gen3"
+LICENSE = "CLOSED"
+
+require include/rcar-gen3-modules-common.inc
+require include/dtv-dvd-control.inc
+
+inherit features_check
+
+DEPENDS = " \
+ kernel-module-vspmif mmngr-user-module \
+ vspmif-user-module kernel-module-vspm \
+ omx-user-module kernel-module-uvcs-drv \
+"
+
+PN = "dvd-user-module"
+PR = "r0"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+REQUIRED_DISTRO_FEATURES = "dvd"
+
+SRC_URI_DVD_SW = "file://Software.tar.gz"
+
+SRC_URI = " \
+ ${SRC_URI_DVD_SW} \
+"
+
+S = "${WORKDIR}"
+
+includedir = "${RENESAS_DATADIR}/include"
+
+# do_configure() nothing
+do_configure[noexec] = "1"
+# do_compile() nothing
+do_compile[noexec] = "1"
+
+do_install() {
+ # Create destination folders
+ install -d ${D}/${libdir}
+ install -d ${D}${RENESAS_DATADIR}/include
+
+ # Copy library
+ install -m 644 ${S}/${baselib}/*.a ${D}/${libdir}
+
+ # Copy shared header files
+ install -m 644 ${S}/include/*.h ${D}${RENESAS_DATADIR}/include
+}
+
+PACKAGES = " \
+ ${PN} \
+ ${PN}-dev \
+ ${PN}-staticdev \
+"
+
+FILES_${PN} = ""
+ALLOW_EMPTY_${PN} = "1"
+
+FILES_${PN}-dev = " \
+ ${RENESAS_DATADIR}/include/*.h \
+"
+FILES_${PN}-staticdev = " \
+ ${libdir}/*.a \
+"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx/gstomx.conf b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx/gstomx.conf
new file mode 100644
index 00000000..5fca3ee8
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx/gstomx.conf
@@ -0,0 +1,131 @@
+[omxh264dec]
+type-name=GstOMXH264Dec
+core-name=@RENESAS_DATADIR@/lib/libomxr_core.so
+component-name=OMX.RENESAS.VIDEO.DECODER.H264
+rank=512
+in-port-index=0
+out-port-index=1
+hacks=no-disable-outport;default-pix-aspect-ratio;no-component-reconfigure
+sink-template-caps=video/x-h264,alignment=(string)au,stream-format=(string)byte-stream,width=(int)[1, MAX],height=(int)[1, MAX]
+src-template-caps=video/x-raw,format=(string){NV12,I420},width=(int)[1, MAX],height=(int)[1, MAX]
+
+[omxaaclcdec]
+type-name=GstOMXAACDec
+core-name=@RENESAS_DATADIR@/lib/libomxr_core.so
+component-name=OMX.RENESAS.AUDIO.DECODER.AACLC
+rank=256
+in-port-index=0
+out-port-index=1
+hacks=no-disable-outport
+sink-template-caps=audio/mpeg,mpegversion=(int){2,4},stream-format=(string){raw,adts},rate=(int)[8000,96000],channels=(int)[1,2],framed=(boolean)true
+src-template-caps=audio/x-raw,rate=(int)[8000,96000],channels=(int)[1,2],format=(string)S16LE
+
+[omxmpeg4videodec]
+type-name=GstOMXMPEG4VideoDec
+core-name=@RENESAS_DATADIR@/lib/libomxr_core.so
+component-name=OMX.RENESAS.VIDEO.DECODER.MPEG4
+rank=256
+in-port-index=0
+out-port-index=1
+hacks=no-disable-outport;default-pix-aspect-ratio;no-component-reconfigure
+sink-template-caps=video/mpeg,mpegversion=(int)4,systemstream=(boolean)false,parsed=(boolean)true,width=(int)[1, MAX],height=(int)[1, MAX]
+src-template-caps=video/x-raw,format=(string){NV12,I420},width=(int)[1, MAX],height=(int)[1, MAX]
+
+[omxvc1dec]
+type-name=GstOMXWMVDec
+core-name=@RENESAS_DATADIR@/lib/libomxr_core.so
+component-name=OMX.RENESAS.VIDEO.DECODER.VC1
+rank=256
+in-port-index=0
+out-port-index=1
+hacks=no-disable-outport;default-pix-aspect-ratio;no-component-reconfigure
+sink-template-caps=video/x-wmv,wmvversion=(int)3,width=(int)[1, MAX],height=(int)[1, MAX]
+src-template-caps=video/x-raw,format=(string){NV12,I420},width=(int)[1, MAX],height=(int)[1, MAX]
+
+[omxh265dec]
+type-name=GstOMXH265Dec
+core-name=@RENESAS_DATADIR@/lib/libomxr_core.so
+component-name=OMX.RENESAS.VIDEO.DECODER.H265
+rank=256
+in-port-index=0
+out-port-index=1
+hacks=no-disable-outport;default-pix-aspect-ratio;no-component-reconfigure
+sink-template-caps=video/x-h265,alignment=(string)au,stream-format=(string)byte-stream,width=(int)[1, MAX],height=(int)[1, MAX]
+src-template-caps=video/x-raw,format=(string){NV12,I420},width=(int)[1, MAX],height=(int)[1, MAX]
+
+[omxaacdec]
+type-name=GstOMXAACDec
+core-name=@RENESAS_DATADIR@/lib/libomxr_core.so
+component-name=OMX.RENESAS.AUDIO.DECODER.AAC
+rank=256
+in-port-index=0
+out-port-index=1
+hacks=no-disable-outport
+sink-template-caps=audio/mpeg,mpegversion=(int){2,4},stream-format=(string){raw,adts},rate=(int)[8000,48000],channels=(int)[1,6],framed=(boolean)true
+src-template-caps=audio/x-raw,rate=(int)[8000,48000],channels=(int){1,2,6},format=(string)S16LE
+
+[omxmp3dec]
+type-name=GstOMXMP3Dec
+core-name=@RENESAS_DATADIR@/lib/libomxr_core.so
+component-name=OMX.RENESAS.AUDIO.DECODER.MP3
+rank=256
+in-port-index=0
+out-port-index=1
+hacks=no-disable-outport
+sink-template-caps=audio/mpeg,mpegversion=(int)1,layer=(int)[1,3],mpegaudioversion=(int)[1,3],rate=(int)[8000,48000],channels=(int)[1,2],parsed=(boolean) true
+src-template-caps=audio/x-raw,rate=(int)[8000,48000],channels=(int){1,2},format=(string)S16LE
+
+[omxwmadec]
+type-name=GstOMXWMADec
+core-name=@RENESAS_DATADIR@/lib/libomxr_core.so
+component-name=OMX.RENESAS.AUDIO.DECODER.WMA
+rank=256
+in-port-index=0
+out-port-index=1
+hacks=no-disable-outport;skip-handle-codec-data
+sink-template-caps=audio/x-wma,wmaversion=(int)2,rate=(int)[8000,48000],channels=(int){1,2},block_align=(int)[0,2147483647],bitrate=(int)[0,2147483647]
+src-template-caps=audio/x-raw,rate=(int)[8000,48000],channels=(int){1,2},format=(string)S16LE
+
+[omxh264enc]
+type-name=GstOMXH264Enc
+core-name=@RENESAS_DATADIR@/lib/libomxr_core.so
+component-name=OMX.RENESAS.VIDEO.ENCODER.H264
+rank=256
+in-port-index=0
+out-port-index=1
+hacks=no-disable-outport;renesas-encmc-stride-align
+sink-template-caps=video/x-raw,format=(string){NV12,I420},width=(int)[80,3840],height=(int)[80,2160]
+src-template-caps=video/x-h264,stream-format=(string)byte-stream,width=(int)[80,3840],height=(int)[80,2160]
+
+[omxvp8dec]
+type-name=GstOMXVP8Dec
+core-name=@RENESAS_DATADIR@/lib/libomxr_core.so
+component-name=OMX.RENESAS.VIDEO.DECODER.VP8
+rank=256
+in-port-index=0
+out-port-index=1
+hacks=no-disable-outport;default-pix-aspect-ratio;no-component-reconfigure
+sink-template-caps=video/x-vp8,width=(int)[1, MAX],height=(int)[1, MAX]
+src-template-caps=video/x-raw,format=(string){NV12,I420},width=(int)[1, MAX],height=(int)[1, MAX]
+
+[omxvp8enc]
+type-name=GstOMXVP8Enc
+core-name=@RENESAS_DATADIR@/lib/libomxr_core.so
+component-name=OMX.RENESAS.VIDEO.ENCODER.VP8
+rank=256
+in-port-index=0
+out-port-index=1
+hacks=no-disable-outport;renesas-encmc-stride-align
+sink-template-caps=video/x-raw,format=(string){NV12,I420},width=(int)[80,1920],height=(int)[80,1080]
+src-template-caps=video/x-vp8,width=(int)[80,1920],height=(int)[80,1080]
+
+[omxvp9dec]
+type-name=GstOMXVP9Dec
+core-name=@RENESAS_DATADIR@/lib/libomxr_core.so
+component-name=OMX.RENESAS.VIDEO.DECODER.VP9
+rank=256
+in-port-index=0
+out-port-index=1
+hacks=no-disable-outport;default-pix-aspect-ratio;no-component-reconfigure
+sink-template-caps=video/x-vp9,width=(int)[1, MAX],height=(int)[1, MAX]
+src-template-caps=video/x-raw,format=(string){NV12,I420},width=(int)[1, MAX],height=(int)[1, MAX]
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16.2.bbappend b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16.2.bbappend
new file mode 100644
index 00000000..4e045950
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16.2.bbappend
@@ -0,0 +1,33 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}/:"
+
+SRC_URI_remove = "http://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${PV}.tar.xz"
+SRC_URI_append = " \
+ gitsm://github.com/renesas-rcar/gst-omx.git;branch=RCAR-GEN3/1.16.2 \
+ file://gstomx.conf \
+"
+
+require include/rcar-gen3-path-common.inc
+
+DEPENDS += "omx-user-module mmngrbuf-user-module"
+
+SRCREV = "8c65e10e4547384d6bf0611cf1ae9e752e184622"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
+ file://omx/gstomx.h;beginline=1;endline=22;md5=e2c6664eda77dc22095adbed9cb6c6e4 \
+"
+
+S = "${WORKDIR}/git"
+
+GSTREAMER_1_0_OMX_TARGET = "rcar"
+GSTREAMER_1_0_OMX_CORE_NAME = "${libdir}/libomxr_core.so"
+EXTRA_OEMESON_append = " -Dheader_path=${STAGING_DIR_TARGET}/usr/local/include"
+
+do_configure_prepend() {
+ cd ${S}
+ install -m 0644 ${WORKDIR}/gstomx.conf ${S}/config/rcar/
+ sed -i 's,@RENESAS_DATADIR@,${RENESAS_DATADIR},g' ${S}/config/rcar/gstomx.conf
+ cd ${B}
+}
+
+RDEPENDS_${PN}_append = " omx-user-module"
+RDEPENDS_${PN}_remove = "libomxil"
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config/gstvspfilter-ebisu_r8a77990.conf b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config/gstvspfilter-ebisu_r8a77990.conf
new file mode 100644
index 00000000..25a3fa1e
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config/gstvspfilter-ebisu_r8a77990.conf
@@ -0,0 +1,2 @@
+input-device-name=/dev/video8
+output-device-name=/dev/video9
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config/gstvspfilter-h3ulcb_r8a7795.conf b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config/gstvspfilter-h3ulcb_r8a7795.conf
new file mode 100644
index 00000000..4807dc3d
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config/gstvspfilter-h3ulcb_r8a7795.conf
@@ -0,0 +1,2 @@
+input-device-name=/dev/video12
+output-device-name=/dev/video13
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config/gstvspfilter-m3nulcb_r8a77965.conf b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config/gstvspfilter-m3nulcb_r8a77965.conf
new file mode 100644
index 00000000..890c5ad9
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config/gstvspfilter-m3nulcb_r8a77965.conf
@@ -0,0 +1,2 @@
+input-device-name=/dev/video6
+output-device-name=/dev/video7
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config/gstvspfilter-m3ulcb_r8a7796.conf b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config/gstvspfilter-m3ulcb_r8a7796.conf
new file mode 100644
index 00000000..890c5ad9
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config/gstvspfilter-m3ulcb_r8a7796.conf
@@ -0,0 +1,2 @@
+input-device-name=/dev/video6
+output-device-name=/dev/video7
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config/gstvspfilter-salvator-x_r8a7795.conf b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config/gstvspfilter-salvator-x_r8a7795.conf
new file mode 100644
index 00000000..586b13b0
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config/gstvspfilter-salvator-x_r8a7795.conf
@@ -0,0 +1,2 @@
+input-device-name=/dev/video20
+output-device-name=/dev/video21
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config/gstvspfilter-salvator-x_r8a7796.conf b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config/gstvspfilter-salvator-x_r8a7796.conf
new file mode 100644
index 00000000..74a8ab9b
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config/gstvspfilter-salvator-x_r8a7796.conf
@@ -0,0 +1,2 @@
+input-device-name=/dev/video14
+output-device-name=/dev/video15
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config/gstvspfilter-salvator-x_r8a77965.conf b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config/gstvspfilter-salvator-x_r8a77965.conf
new file mode 100644
index 00000000..74a8ab9b
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config/gstvspfilter-salvator-x_r8a77965.conf
@@ -0,0 +1,2 @@
+input-device-name=/dev/video14
+output-device-name=/dev/video15
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config_1.0.1.bb b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config_1.0.1.bb
new file mode 100644
index 00000000..1d03f479
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter-config_1.0.1.bb
@@ -0,0 +1,25 @@
+SUMMARY = "GStreamer VSP filter plugin runtime configuration"
+SECTION = "multimedia"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+COMPATIBLE_MACHINE = "(salvator-x|ulcb|ebisu)"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+VSPFILTER_CONF_r8a7795 = "gstvspfilter-${MACHINE}_r8a7795.conf"
+VSPFILTER_CONF_r8a7796 = "gstvspfilter-${MACHINE}_r8a7796.conf"
+VSPFILTER_CONF_r8a77965 = "gstvspfilter-${MACHINE}_r8a77965.conf"
+VSPFILTER_CONF_r8a77990 = "gstvspfilter-${MACHINE}_r8a77990.conf"
+
+SRC_URI = " file://${VSPFILTER_CONF} "
+
+do_configure[noexec] = "1"
+
+do_compile[noexec] = "1"
+
+do_install() {
+ install -Dm 644 ${WORKDIR}/${VSPFILTER_CONF} ${D}/${sysconfdir}/gstvspfilter.conf
+}
+
+FILES_${PN} = " ${sysconfdir}/gstvspfilter.conf "
+
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter_1.0.1.bb b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter_1.0.1.bb
new file mode 100644
index 00000000..a3d16ac0
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter_1.0.1.bb
@@ -0,0 +1,35 @@
+SUMMARY = "GStreamer VSP filter plugin"
+SECTION = "multimedia"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
+
+COMPATIBLE_MACHINE = "(salvator-x|ulcb|ebisu)"
+
+SRC_URI = " \
+ gitsm://github.com/renesas-rcar/gst-plugin-vspfilter.git;branch=RCAR-GEN3/1.0.1 \
+"
+SRCREV = "c66854c46af649be65eb371aa42ef35dcc858acf"
+
+S = "${WORKDIR}/git"
+
+
+inherit autotools pkgconfig
+
+DEPENDS += "gstreamer1.0 gstreamer1.0-plugins-base pkgconfig"
+
+EXTRA_AUTORECONF_append = " -I ${STAGING_DATADIR}/aclocal"
+
+FILES_${PN} = " \
+ ${libdir}/gstreamer-1.0/libgstvspfilter.so \
+"
+
+FILES_${PN}-dev = "${libdir}/gstreamer-1.0/libgstvspfilter.la"
+
+FILES_${PN}-staticdev = "${libdir}/gstreamer-1.0/libgstvspfilter.a"
+
+FILES_${PN}-dbg = " \
+ ${libdir}/gstreamer-1.0/.debug \
+ ${prefix}/src \
+"
+
+RDEPENDS_${PN} = "kernel-module-vsp2driver gstreamer1.0-plugin-vspfilter-config"
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.2.bbappend b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.2.bbappend
new file mode 100644
index 00000000..63df2f40
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.2.bbappend
@@ -0,0 +1,8 @@
+SRC_URI_remove = "http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz"
+SRC_URI_append = " gitsm://github.com/renesas-rcar/gst-plugins-bad.git;branch=RCAR-GEN3/1.16.2"
+
+SRCREV = "4459dc7686a2c20ed9097734e11d17631f71105a"
+
+DEPENDS += "weston"
+
+S = "${WORKDIR}/git"
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.2.bbappend b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.2.bbappend
new file mode 100644
index 00000000..f9bd2f3b
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.2.bbappend
@@ -0,0 +1,13 @@
+SRC_URI_remove = "http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz"
+SRC_URI_append = " gitsm://github.com/renesas-rcar/gst-plugins-good.git;branch=RCAR-GEN3/1.16.2"
+
+SRCREV = "5588c8b83e77d5419e498ada54eef0c183486172"
+
+DEPENDS += "mmngrbuf-user-module"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMESON_append = " \
+ -Dcont-frame-capture=true \
+ -Dignore-fps-of-video-standard=true \
+"
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr-user-module.bb b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr-user-module.bb
new file mode 100644
index 00000000..ac4cf30b
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr-user-module.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "Memory Manager User module for Renesas R-Car Gen3"
+require mmngr_lib.inc
+require include/rcar-gen3-path-common.inc
+
+DEPENDS = "kernel-module-mmngr"
+PN = "mmngr-user-module"
+PR = "r0"
+
+S = "${WORKDIR}/git/libmmngr/mmngr"
+
+EXTRA_OECONF = "${@bb.utils.contains("DISTRO_FEATURES", "mm-test", \
+ " --enable-mmngr-test", "", d)}"
+
+exec_prefix = "/usr"
+bindir = "${RENESAS_DATADIR}/bin"
+includedir = "${RENESAS_DATADIR}/include"
+CFLAGS += " -I${STAGING_DIR_HOST}${RENESAS_DATADIR}/include"
+
+do_install_append() {
+ if [ -f ${D}${RENESAS_DATADIR}/bin/mmtp ]; then
+ if [ X${WS} = "X32" ]; then
+ mv ${D}${RENESAS_DATADIR}/bin/mmtp ${D}${RENESAS_DATADIR}/bin/mmtp${WS}
+ fi
+ fi
+}
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr_lib.inc b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr_lib.inc
new file mode 100644
index 00000000..8afa6a50
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr_lib.inc
@@ -0,0 +1,19 @@
+# Common path of MMNGR and MMNGRBUF module
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "\
+ file://${WORKDIR}/git/COPYING.MIT;md5=30a99e0d36a3da1f5cf93c070ad7888a"
+
+MMNGR_LIB_URI = "git://github.com/renesas-rcar/mmngr_lib.git"
+
+SRC_URI = "${MMNGR_LIB_URI};branch=rcar_gen3"
+SRCREV = "e55a8356c906486ee0be78b2a1fde227e7a578f4"
+
+# Get Wordsize of test app and change their names later to avoid override
+WS_aarch64 = ""
+WS_virtclass-multilib-lib32 = "32"
+
+# These modules are machine specific.
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_MACHINE = "(salvator-x|ulcb|ebisu)"
+
+inherit autotools
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngrbuf-user-module.bb b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngrbuf-user-module.bb
new file mode 100644
index 00000000..690169fd
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngrbuf-user-module.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "Memory Manager Buffer User module for Renesas R-Car Gen3"
+require mmngr_lib.inc
+require include/rcar-gen3-path-common.inc
+
+DEPENDS = "kernel-module-mmngrbuf"
+PN = "mmngrbuf-user-module"
+PR = "r0"
+
+S = "${WORKDIR}/git/libmmngr/mmngrbuf"
+
+EXTRA_OECONF = "${@bb.utils.contains("DISTRO_FEATURES", "mm-test", \
+ " --enable-mmngrbuf-test", "", d)}"
+
+exec_prefix = "/usr"
+bindir = "${RENESAS_DATADIR}/bin"
+includedir = "${RENESAS_DATADIR}/include"
+CFLAGS += " -I${STAGING_DIR_HOST}${RENESAS_DATADIR}/include"
+
+do_install_append() {
+ if [ -f ${D}${RENESAS_DATADIR}/bin/mmbuftp ]; then
+ if [ X${WS} = "X32" ]; then
+ mv ${D}${RENESAS_DATADIR}/bin/mmbuftp ${D}${RENESAS_DATADIR}/bin/mmbuftp${WS}
+ fi
+ fi
+}
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/omx-module/deltask-omx-user-module.inc b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/omx-module/deltask-omx-user-module.inc
new file mode 100644
index 00000000..6f3f8474
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/omx-module/deltask-omx-user-module.inc
@@ -0,0 +1,2 @@
+deltask do_configure
+deltask do_compile
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/omx-module/libalacdla-l.bb b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/omx-module/libalacdla-l.bb
new file mode 100644
index 00000000..0ed61b4f
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/omx-module/libalacdla-l.bb
@@ -0,0 +1,63 @@
+DESCRIPTION = "ALAC decoder library"
+SECTION = "libs"
+LICENSE = "Apache-2.0 & APSL-2.0"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE;md5=5cf67868b9e038eccb149ec80809d9f5 \
+ file://APPLE_LICENSE.txt;md5=b180a94f894d2a868d40ea43da2bbaba \
+"
+
+COMPATIBLE_MACHINE = "(salvator-x|ulcb|ebisu)"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+DEPENDS = " \
+ kernel-module-mmngr mmngr-user-module \
+ vspmif-user-module kernel-module-vspmif \
+ kernel-module-vspm kernel-module-vsp2driver \
+"
+
+RDEPENDS_${PN} += "mmngr-user-module vspmif-user-module"
+
+SRC_URI = "git://github.com/renesas-rcar/alac_decoder.git;branch=master"
+SRCREV = "5d7e5c91a932bedb36284591612bfbb3342cd672"
+
+S = "${WORKDIR}/git"
+B = "${S}/build/linux_armyocto/lib"
+
+EXTRA_OEMAKE = "ARCH=${ARCH}"
+
+ARCH = "arm"
+ARCH_aarch64 = "arm64"
+
+do_install() {
+ # Create directories
+ install -d ${D}/${libdir}
+ install -d ${D}/${includedir}
+
+ # Install library
+ install -m 755 ${S}/build/linux_armyocto/libALACDLA_L.so.2.0 ${D}/${libdir}/
+
+ # Create symbolic link
+ cd ${D}/${libdir}
+ ln -s libALACDLA_L.so.2.0 libALACDLA_L.so.2
+ ln -s libALACDLA_L.so.2 libALACDLA_L.so
+
+ # Install shared header file
+ install -m 644 ${S}/lib/alacd_Lib.h ${D}/${includedir}/
+}
+
+FILES_${PN} += " \
+ ${libdir}/libALACDLA_L.so.* \
+ ${libdir}/libALACDLA_L.so \
+"
+
+FILES_${PN}-dev = "${includedir}/*.h"
+
+INSANE_SKIP_${PN} += "dev-so"
+
+# Skip debug strip of do_populate_sysroot()
+INHIBIT_SYSROOT_STRIP = "1"
+
+# Skip debug split and strip of do_package()
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+INHIBIT_PACKAGE_STRIP = "1"
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/omx-module/libflacdla-l.bb b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/omx-module/libflacdla-l.bb
new file mode 100644
index 00000000..1d0d77a2
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/omx-module/libflacdla-l.bb
@@ -0,0 +1,51 @@
+DESCRIPTION = "FLAC decoder library"
+SECTION = "libs"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING.Xiph;md5=a2c4b71c0198682376d483eb5bcc9197"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_MACHINE = "(salvator-x|ulcb|ebisu)"
+
+SRC_URI = "git://github.com/renesas-rcar/flac_decoder.git;branch=master"
+SRCREV = "70c0a7ae7dc8cac2056adf5eb175e3c54f892c27"
+
+S = "${WORKDIR}/git"
+B = "${S}/build/linux_armyocto/lib"
+
+EXTRA_OEMAKE = "ARCH=${ARCH}"
+
+ARCH = "arm"
+ARCH_aarch64 = "arm64"
+
+do_install() {
+ # Create directories
+ install -d ${D}/${libdir}
+ install -d ${D}/${includedir}
+
+ # Install library
+ install -m 755 ${S}/build/linux_armyocto/libFLACDLA_L.so.2.0 ${D}/${libdir}/
+
+ # Create symbolic link
+ cd ${D}/${libdir}
+ ln -s libFLACDLA_L.so.2.0 libFLACDLA_L.so.2
+ ln -s libFLACDLA_L.so.2 libFLACDLA_L.so
+
+ # Install shared header file
+ install -m 644 ${S}/lib/flacd_Lib.h ${D}/${includedir}/
+}
+
+FILES_${PN} += " \
+ ${libdir}/libFLACDLA_L.so.* \
+ ${libdir}/libFLACDLA_L.so \
+"
+
+FILES_${PN}-dev = "${includedir}/*.h"
+
+INSANE_SKIP_${PN} += "dev-so"
+
+# Skip debug strip of do_populate_sysroot()
+INHIBIT_SYSROOT_STRIP = "1"
+
+# Skip debug split and strip of do_package()
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+INHIBIT_PACKAGE_STRIP = "1"
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/omx-module/omx-user-module.bb b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/omx-module/omx-user-module.bb
new file mode 100644
index 00000000..598be288
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/omx-module/omx-user-module.bb
@@ -0,0 +1,490 @@
+DESCRIPTION = "OMX Media Components R-Car Gen3"
+LICENSE = "CLOSED"
+require include/omx-control.inc
+require include/rcar-gen3-modules-common.inc
+
+COMPATIBLE_MACHINE = "(salvator-x|ulcb|ebisu)"
+
+DEPENDS = " \
+ kernel-module-mmngr mmngr-user-module \
+ vspmif-user-module kernel-module-vspmif \
+ kernel-module-vspm kernel-module-vsp2driver \
+"
+
+# Task Control. Compile is not performed when not installing OMX Video and Audio Libs.
+# Note) dummy-omx-user-module.inc does not exist.
+INCLUDE_FILE = '${@oe.utils.conditional("USE_OMX_COMMON", "1", "dummy", "deltask", d )}'
+include ${INCLUDE_FILE}-omx-user-module.inc
+
+DEPENDS += '${@oe.utils.conditional("USE_VIDEO_OMX", "1", "kernel-module-uvcs-drv", "", d )}'
+
+inherit autotools
+
+includedir = "${RENESAS_DATADIR}/include"
+CFLAGS += " -I${STAGING_DIR_HOST}${RENESAS_DATADIR}/include"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+OMX_EVA_PREFIX = '${@oe.utils.conditional("USE_OMX_EVA_PKG", "1", "EVA", "", d )}'
+
+# SRC file name
+SRC_URI_OMX = '${@oe.utils.conditional("USE_OMX_COMMON", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XCMCTL30SL41C.tar.bz2;unpack=0", "", d )}'
+SRC_URI_VCMND = '${@oe.utils.conditional("USE_VIDEO_DEC", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XVCMND30SL41C.tar.bz2;unpack=0", "", d )}'
+SRC_URI_VCMNE = '${@oe.utils.conditional("USE_VIDEO_ENC", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XVCMNE30SL41C.tar.bz2;unpack=0", "", d )}'
+SRC_URI_H264D = '${@oe.utils.conditional("USE_H264D_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XV264D30SL41C.tar.bz2", "", d )}'
+SRC_URI_H264E = '${@oe.utils.conditional("USE_H264E_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XV264E30SL41C.tar.bz2", "", d )}'
+
+SRC_URI_H263D = '${@oe.utils.conditional("USE_H263D_OMX", "1", "file://RTM0AC0000XV263D30SL41C.tar.bz2", "", d )}'
+SRC_URI_H265D = '${@oe.utils.conditional("USE_H265D_OMX", "1", "file://RTM0AC0000XV265D30SL41C.tar.bz2", "", d )}'
+SRC_URI_MPEG2D = '${@oe.utils.conditional("USE_MPEG2D_OMX", "1", "file://RTM0AC0000XVM2VD30SL41C.tar.bz2", "", d )}'
+SRC_URI_MPEG4D = '${@oe.utils.conditional("USE_MPEG4D_OMX", "1", "file://RTM0AC0000XVM4VD30SL41C.tar.bz2", "", d )}'
+SRC_URI_VC1D = '${@oe.utils.conditional("USE_VC1D_OMX", "1", "file://RTM0AC0000XVVC1D30SL41C.tar.bz2", "", d )}'
+SRC_URI_DIVXD = '${@oe.utils.conditional("USE_DIVXD_OMX", "1", "file://RTM0AC0000XVDVXD30SL41C.tar.bz2", "", d )}'
+SRC_URI_RVD = '${@oe.utils.conditional("USE_RVD_OMX", "1", "file://RTM0AC0000XVRLVD30SL41C.tar.bz2", "", d )}'
+SRC_URI_VP8D = '${@oe.utils.conditional("USE_VP8D_OMX", "1", "file://RTM0AC0000XVVP8D30SL41C.tar.bz2", "", d )}'
+SRC_URI_VP8E = '${@oe.utils.conditional("USE_VP8E_OMX", "1", "file://RTM0AC0000XVVP8E30SL41C.tar.bz2", "", d )}'
+SRC_URI_VP9D = '${@oe.utils.conditional("USE_VP9D_OMX", "1", "file://RTM0AC0000XVVP9D30SL41C.tar.bz2", "", d )}'
+SRC_URI_ACMND = '${@oe.utils.conditional("USE_AUDIO_OMX", "1", "file://RTM0AC0000XACMND30SL41C.tar.gz", "", d )}'
+SRC_URI_AACLC = '${@oe.utils.conditional("USE_AACLCD_OMX", "1", "file://RTM0AC0000XAAACD30SL41C.tar.gz", "", d )}'
+SRC_URI_AACPV2 = '${@oe.utils.conditional("USE_AACPV2D_OMX", "1", "file://RTM0AC0000XAAAPD30SL41C.tar.gz", "", d )}'
+SRC_URI_MP3 = '${@oe.utils.conditional("USE_MP3D_OMX", "1", "file://RTM0AC0000XAMP3D30SL41C.tar.gz", "", d )}'
+SRC_URI_AACLCE = '${@oe.utils.conditional("USE_AACLCE_OMX", "1", "file://RTM0AC0000XAAACE30SL41C.tar.gz", "", d )}'
+SRC_URI_WMA = '${@oe.utils.conditional("USE_WMAD_OMX", "1", "file://RTM0AC0000XAWMAD30SL41C.tar.gz", "", d )}'
+SRC_URI_ALACD = '${@oe.utils.conditional("USE_ALACD_OMX", "1", "file://RTM0AC0000XAALAD30SL41C.tar.gz", "", d )}'
+SRC_URI_FLACD = '${@oe.utils.conditional("USE_FLACD_OMX", "1", "file://RTM0AC0000XAFLAD30SL41C.tar.gz", "", d )}'
+SRC_URI_DDD = '${@oe.utils.conditional("USE_DDD_OMX", "1", "file://RTM0AC0000XADD5D30SL41C.tar.gz", "", d )}'
+SRC_URI_AACMZ = '${@oe.utils.conditional("USE_AACLC_MDW", "1", "file://RTM0AC0000ADAACMZ1SL41C.tar.gz", "", d )}'
+SRC_URI_AACPV2MZ = '${@oe.utils.conditional("USE_AACPV2_MDW", "1", "file://RTM0AC0000ADAAPMZ1SL41C.tar.gz", "", d )}'
+SRC_URI_MP3MZ = '${@oe.utils.conditional("USE_MP3_MDW", "1", "file://RTM0AC0000ADMP3MZ1SL41C.tar.gz", "", d )}'
+SRC_URI_WMAMZ = '${@oe.utils.conditional("USE_WMA_MDW", "1", "file://RTM0AC0000ADWMAMZ1SL41C.tar.gz", "", d )}'
+SRC_URI_DDMZ = '${@oe.utils.conditional("USE_DD_MDW", "1", "file://RTM0AC0000ADDD5MZ1SL41C.tar.gz", "", d )}'
+SRC_URI_AEAACMZ = '${@oe.utils.conditional("USE_AACLCE_MDW", "1", "file://RTM0AC0000AEAACMZ1SL41C.tar.gz", "", d )}'
+
+SRC_URI = " \
+ ${SRC_URI_OMX} \
+ ${SRC_URI_VCMND} \
+ ${SRC_URI_VCMNE} \
+ ${SRC_URI_H263D} \
+ ${SRC_URI_H264D} \
+ ${SRC_URI_H264E} \
+ ${SRC_URI_H265D} \
+ ${SRC_URI_MPEG2D} \
+ ${SRC_URI_MPEG4D} \
+ ${SRC_URI_VC1D} \
+ ${SRC_URI_DIVXD} \
+ ${SRC_URI_RVD} \
+ ${SRC_URI_ACMND} \
+ ${SRC_URI_AACLC} \
+ ${SRC_URI_AACPV2} \
+ ${SRC_URI_MP3} \
+ ${SRC_URI_WMA} \
+ ${SRC_URI_ALACD} \
+ ${SRC_URI_FLACD} \
+ ${SRC_URI_DDD} \
+ ${SRC_URI_AACLCE} \
+ ${SRC_URI_AACMZ} \
+ ${SRC_URI_AACPV2MZ} \
+ ${SRC_URI_MP3MZ} \
+ ${SRC_URI_WMAMZ} \
+ ${SRC_URI_DDMZ} \
+ ${SRC_URI_AEAACMZ} \
+ ${SRC_URI_VP8D} \
+ ${SRC_URI_VP8E} \
+ ${SRC_URI_VP9D} \
+"
+
+# SRC directory name
+OMX_COMMON_SRC = '${@oe.utils.conditional("USE_OMX_COMMON", "1", "${OMX_EVA_PREFIX}RTM0AC0000XCMCTL30SL41C", "", d )}'
+OMX_VIDEO_DEC_COMMON_SRC = '${@oe.utils.conditional("USE_VIDEO_DEC", "1", "${OMX_EVA_PREFIX}RTM0AC0000XVCMND30SL41C", "", d )}'
+OMX_VIDEO_ENC_COMMON_SRC = '${@oe.utils.conditional("USE_VIDEO_ENC", "1", "${OMX_EVA_PREFIX}RTM0AC0000XVCMNE30SL41C", "", d )}'
+
+OMX_H264_DEC_SRC = '${@oe.utils.conditional("USE_H264D_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XV264D30SL41C", "", d )}'
+OMX_H264_ENC_SRC = '${@oe.utils.conditional("USE_H264E_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XV264E30SL41C", "", d )}'
+
+OMX_H263_DEC_SRC = '${@oe.utils.conditional("USE_H263D_OMX", "1", "RTM0AC0000XV263D30SL41C", "", d )}'
+OMX_H265_DEC_SRC = '${@oe.utils.conditional("USE_H265D_OMX", "1", "RTM0AC0000XV265D30SL41C", "", d )}'
+OMX_MPEG2_DEC_SRC = '${@oe.utils.conditional("USE_MPEG2D_OMX", "1", "RTM0AC0000XVM2VD30SL41C", "", d )}'
+OMX_MPEG4_DEC_SRC = '${@oe.utils.conditional("USE_MPEG4D_OMX", "1", "RTM0AC0000XVM4VD30SL41C", "", d )}'
+OMX_VC1_DEC_SRC = '${@oe.utils.conditional("USE_VC1D_OMX", "1", "RTM0AC0000XVVC1D30SL41C", "", d )}'
+OMX_DIVX_DEC_SRC = '${@oe.utils.conditional("USE_DIVXD_OMX", "1", "RTM0AC0000XVDVXD30SL41C", "", d )}'
+OMX_RV_DEC_SRC = '${@oe.utils.conditional("USE_RVD_OMX", "1", "RTM0AC0000XVRLVD30SL41C", "", d )}'
+OMX_VP8_DEC_SRC = '${@oe.utils.conditional("USE_VP8D_OMX", "1", "RTM0AC0000XVVP8D30SL41C", "", d )}'
+OMX_VP8_ENC_SRC = '${@oe.utils.conditional("USE_VP8E_OMX", "1", "RTM0AC0000XVVP8E30SL41C", "", d )}'
+OMX_VP9_DEC_SRC = '${@oe.utils.conditional("USE_VP9D_OMX", "1", "RTM0AC0000XVVP9D30SL41C", "", d )}'
+
+OMX_VIDEO_SRC_LIST = " \
+ ${OMX_COMMON_SRC} \
+ ${OMX_VIDEO_DEC_COMMON_SRC} \
+ ${OMX_VIDEO_ENC_COMMON_SRC} \
+ ${OMX_H263_DEC_SRC} \
+ ${OMX_H264_DEC_SRC} \
+ ${OMX_H264_ENC_SRC} \
+ ${OMX_H265_DEC_SRC} \
+ ${OMX_MPEG2_DEC_SRC} \
+ ${OMX_MPEG4_DEC_SRC} \
+ ${OMX_VC1_DEC_SRC} \
+ ${OMX_DIVX_DEC_SRC} \
+ ${OMX_RV_DEC_SRC} \
+ ${OMX_VP8_DEC_SRC} \
+ ${OMX_VP8_ENC_SRC} \
+ ${OMX_VP9_DEC_SRC} \
+"
+
+AAC_MIDDLEWARE_SRC = "RTM0AC0000ADAACMZ1SL41C"
+AACPV2_MIDDLEWARE_SRC = "RTM0AC0000ADAAPMZ1SL41C"
+MP3_MIDDLEWARE_SRC = "RTM0AC0000ADMP3MZ1SL41C"
+WMA_MIDDLEWARE_SRC = "RTM0AC0000ADWMAMZ1SL41C"
+DD_MIDDLEWARE_SRC = "RTM0AC0000ADDD5MZ1SL41C"
+AEAAC_MIDDLEWARE_SRC = "RTM0AC0000AEAACMZ1SL41C"
+
+OMX_AUDIO_COMMON_SRC = '${@oe.utils.conditional("USE_AUDIO_OMX", "1", "RTM0AC0000XACMND30SL41C", "", d )}'
+OMX_AACLC_DEC_SRC = '${@oe.utils.conditional("USE_AACLCD_OMX", "1", "RTM0AC0000XAAACD30SL41C", "", d )}'
+OMX_AACPV2_DEC_SRC = '${@oe.utils.conditional("USE_AACPV2D_OMX", "1", "RTM0AC0000XAAAPD30SL41C", "", d )}'
+OMX_MP3_DEC_SRC = '${@oe.utils.conditional("USE_MP3D_OMX", "1", "RTM0AC0000XAMP3D30SL41C", "", d )}'
+OMX_WMA_DEC_SRC = '${@oe.utils.conditional("USE_WMAD_OMX", "1", "RTM0AC0000XAWMAD30SL41C", "", d )}'
+OMX_ALAC_DEC_SRC = '${@oe.utils.conditional("USE_ALACD_OMX", "1", "RTM0AC0000XAALAD30SL41C", "", d )}'
+OMX_FLAC_DEC_SRC = '${@oe.utils.conditional("USE_FLACD_OMX", "1", "RTM0AC0000XAFLAD30SL41C", "", d )}'
+OMX_DD_DEC_SRC = '${@oe.utils.conditional("USE_DDD_OMX", "1", "RTM0AC0000XADD5D30SL41C", "", d )}'
+OMX_AACLC_ENC_SRC = '${@oe.utils.conditional("USE_AACLCE_OMX", "1", "RTM0AC0000XAAACE30SL41C", "", d )}'
+
+OMX_AUDIO_SRC_LIST = " \
+ ${OMX_AUDIO_COMMON_SRC} \
+ ${OMX_AACLC_DEC_SRC} \
+ ${OMX_AACPV2_DEC_SRC} \
+ ${OMX_MP3_DEC_SRC} \
+ ${OMX_WMA_DEC_SRC} \
+ ${OMX_ALAC_DEC_SRC} \
+ ${OMX_FLAC_DEC_SRC} \
+ ${OMX_DD_DEC_SRC} \
+ ${OMX_AACLC_ENC_SRC} \
+"
+
+S = "${WORKDIR}/omx/"
+
+# Create ${S} directory
+do_unpack_prepend() {
+ os.system("install -d ${S}")
+}
+
+do_unpack_append() {
+ bb.build.exec_func('setup_build_tree', d)
+}
+
+setup_build_tree() {
+ for omxmc in ${OMX_COMMON_SRC} ${OMX_VIDEO_DEC_COMMON_SRC} ${OMX_VIDEO_ENC_COMMON_SRC}
+ do
+ tar xf ${WORKDIR}/${omxmc}.tar.bz2 -C ${WORKDIR}
+ tar xf ${WORKDIR}/${omxmc}.tar.bz2 -C ${S} ${omxmc}/src --strip=2
+ tar xf ${WORKDIR}/${omxmc}.tar.bz2 -C ${S} ${omxmc}/include --strip=1
+ done
+}
+
+B = "${S}"
+
+EXTRA_OECONF = "OMXR_DEFAULT_CONFIG_FILE_NAME=${sysconfdir}/omxr/omxr_config_base.txt"
+
+do_configure() {
+ export uvcsdrv_dir="${INCSHARED}"
+ chmod u+x autogen.sh
+ ./autogen.sh
+ oe_runconf
+}
+
+do_install_omx_video() {
+ cd ${D}/${libdir}
+ for omxmc in ${OMX_VIDEO_SRC_LIST}
+ do
+ src="${WORKDIR}/${omxmc}"
+ install -m 755 ${src}/${baselib}/lib*.so.* ${D}/${libdir}
+ install -m 644 ${src}/include/*.h ${D}/${includedir}
+ install -m 644 ${src}/config/*.txt ${D}/${sysconfdir}/omxr
+ done
+
+ if [ "X${USE_OMX_COMMON}" = "X1" ] ; then
+ ln -s libomxr_core.so.3.0.0 libomxr_core.so.3
+ ln -s libomxr_core.so.3 libomxr_core.so
+
+ ln -s libomxr_mc_cmn.so.3.0.0 libomxr_mc_cmn.so.3
+ ln -s libomxr_mc_cmn.so.3 libomxr_mc_cmn.so
+ fi
+
+ if [ "X${USE_VIDEO_OMX}" = "X1" ] ; then
+ ln -s libomxr_mc_vcmn.so.3.0.0 libomxr_mc_vcmn.so.3
+ ln -s libomxr_mc_vcmn.so.3 libomxr_mc_vcmn.so
+ fi
+
+ if [ "X${USE_VIDEO_DEC}" = "X1" ] ; then
+ ln -s libomxr_mc_vdcmn.so.3.0.0 libomxr_mc_vdcmn.so.3
+ ln -s libomxr_mc_vdcmn.so.3 libomxr_mc_vdcmn.so
+
+ ln -s libuvcs_dec.so.3.0.0 libuvcs_dec.so.3
+ ln -s libuvcs_dec.so.3 libuvcs_dec.so
+ fi
+
+ if [ "X${USE_VIDEO_ENC}" = "X1" ] ; then
+ ln -s libomxr_mc_vecmn.so.3.0.0 libomxr_mc_vecmn.so.3
+ ln -s libomxr_mc_vecmn.so.3 libomxr_mc_vecmn.so
+
+ ln -s libuvcs_enc.so.3.0.0 libuvcs_enc.so.3
+ ln -s libuvcs_enc.so.3 libuvcs_enc.so
+ fi
+
+ if [ "X${USE_H263D_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_h263d.so.3.0.0 libomxr_mc_h263d.so.3
+ ln -s libomxr_mc_h263d.so.3 libomxr_mc_h263d.so
+
+ ln -s libuvcs_hv3d.so.3.0.0 libuvcs_hv3d.so.3
+ ln -s libuvcs_hv3d.so.3 libuvcs_hv3d.so
+ fi
+
+ if [ "X${USE_H264D_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_h264d.so.3.0.0 libomxr_mc_h264d.so.3
+ ln -s libomxr_mc_h264d.so.3 libomxr_mc_h264d.so
+
+ ln -s libuvcs_avcd.so.3.0.0 libuvcs_avcd.so.3
+ ln -s libuvcs_avcd.so.3 libuvcs_avcd.so
+ fi
+
+ if [ "X${USE_H264E_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_h264e.so.3.0.0 libomxr_mc_h264e.so.3
+ ln -s libomxr_mc_h264e.so.3 libomxr_mc_h264e.so
+
+ ln -s libuvcs_avce.so.3.0.0 libuvcs_avce.so.3
+ ln -s libuvcs_avce.so.3 libuvcs_avce.so
+ fi
+
+ if [ "X${USE_H265D_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_hevd.so.3.0.0 libomxr_mc_hevd.so.3
+ ln -s libomxr_mc_hevd.so.3 libomxr_mc_hevd.so
+
+ ln -s libuvcs_hevd.so.3.0.0 libuvcs_hevd.so.3
+ ln -s libuvcs_hevd.so.3 libuvcs_hevd.so
+ fi
+
+ if [ "X${USE_MPEG2D_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_m2vd.so.3.0.0 libomxr_mc_m2vd.so.3
+ ln -s libomxr_mc_m2vd.so.3 libomxr_mc_m2vd.so
+
+ ln -s libuvcs_m2vd.so.3.0.0 libuvcs_m2vd.so.3
+ ln -s libuvcs_m2vd.so.3 libuvcs_m2vd.so
+ fi
+
+ if [ "X${USE_MPEG4D_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_m4vd.so.3.0.0 libomxr_mc_m4vd.so.3
+ ln -s libomxr_mc_m4vd.so.3 libomxr_mc_m4vd.so
+
+ ln -s libuvcs_m4vd.so.3.0.0 libuvcs_m4vd.so.3
+ ln -s libuvcs_m4vd.so.3 libuvcs_m4vd.so
+ fi
+
+ if [ "X${USE_VC1D_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_vc1d.so.3.0.0 libomxr_mc_vc1d.so.3
+ ln -s libomxr_mc_vc1d.so.3 libomxr_mc_vc1d.so
+
+ ln -s libuvcs_vc1d.so.3.0.0 libuvcs_vc1d.so.3
+ ln -s libuvcs_vc1d.so.3 libuvcs_vc1d.so
+ fi
+
+ if [ "X${USE_DIVXD_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_divxd.so.3.0.0 libomxr_mc_divxd.so.3
+ ln -s libomxr_mc_divxd.so.3 libomxr_mc_divxd.so
+
+ ln -s libuvcs_dvxd.so.3.0.0 libuvcs_dvxd.so.3
+ ln -s libuvcs_dvxd.so.3 libuvcs_dvxd.so
+ fi
+
+ if [ "X${USE_RVD_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_rlvd.so.3.0.0 libomxr_mc_rlvd.so.3
+ ln -s libomxr_mc_rlvd.so.3 libomxr_mc_rlvd.so
+
+ ln -s libuvcs_rlvd.so.3.0.0 libuvcs_rlvd.so.3
+ ln -s libuvcs_rlvd.so.3 libuvcs_rlvd.so
+ fi
+
+ if [ "X${USE_VP8D_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_vp8d.so.3.0.0 libomxr_mc_vp8d.so.3
+ ln -s libomxr_mc_vp8d.so.3 libomxr_mc_vp8d.so
+
+ ln -s libuvcs_vp8d.so.3.0.0 libuvcs_vp8d.so.3
+ ln -s libuvcs_vp8d.so.3 libuvcs_vp8d.so
+ fi
+
+ if [ "X${USE_VP8E_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_vp8e.so.3.0.0 libomxr_mc_vp8e.so.3
+ ln -s libomxr_mc_vp8e.so.3 libomxr_mc_vp8e.so
+
+ ln -s libuvcs_vp8e.so.3.0.0 libuvcs_vp8e.so.3
+ ln -s libuvcs_vp8e.so.3 libuvcs_vp8e.so
+ fi
+
+ if [ "X${USE_VP9D_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_vp9d.so.3.0.0 libomxr_mc_vp9d.so.3
+ ln -s libomxr_mc_vp9d.so.3 libomxr_mc_vp9d.so
+
+ ln -s libuvcs_vp9d.so.3.0.0 libuvcs_vp9d.so.3
+ ln -s libuvcs_vp9d.so.3 libuvcs_vp9d.so
+ fi
+}
+
+do_install_audio_middleware() {
+ cd ${D}/${libdir}
+
+ if [ "X${USE_AACLC_MDW}" = "X1" ]; then
+ install -m 755 ${WORKDIR}/${AAC_MIDDLEWARE_SRC}/${baselib}/libAACDLA_L.so.3.0 \
+ ${D}/${libdir}
+ install -m 644 ${WORKDIR}/${AAC_MIDDLEWARE_SRC}/include/*.h ${D}/${includedir}
+
+ ln -s libAACDLA_L.so.3.0 libAACDLA_L.so.3
+ ln -s libAACDLA_L.so.3 libAACDLA_L.so
+ fi
+
+ if [ "X${USE_AACPV2_MDW}" = "X1" ]; then
+ install -m 755 ${WORKDIR}/${AACPV2_MIDDLEWARE_SRC}/${baselib}/libRSACPDLA_L.so.2.0 \
+ ${D}/${libdir}
+ install -m 644 ${WORKDIR}/${AACPV2_MIDDLEWARE_SRC}/include/*.h ${D}/${includedir}
+
+ ln -s libRSACPDLA_L.so.2.0 libRSACPDLA_L.so.2
+ ln -s libRSACPDLA_L.so.2 libRSACPDLA_L.so
+ fi
+
+ if [ "X${USE_MP3_MDW}" = "X1" ]; then
+ install -m 755 ${WORKDIR}/${MP3_MIDDLEWARE_SRC}/${baselib}/libMP3DLA_L.so.2.0 \
+ ${D}/${libdir}
+ install -m 644 ${WORKDIR}/${MP3_MIDDLEWARE_SRC}/include/*.h ${D}/${includedir}
+
+ ln -s libMP3DLA_L.so.2.0 libMP3DLA_L.so.2
+ ln -s libMP3DLA_L.so.2 libMP3DLA_L.so
+ fi
+
+ if [ "X${USE_WMA_MDW}" = "X1" ]; then
+ install -m 755 ${WORKDIR}/${WMA_MIDDLEWARE_SRC}/${baselib}/libWMASTDLA_L.so.2.0 \
+ ${D}/${libdir}
+ install -m 644 ${WORKDIR}/${WMA_MIDDLEWARE_SRC}/include/*.h ${D}/${includedir}
+
+ ln -s libWMASTDLA_L.so.2.0 libWMASTDLA_L.so.2
+ ln -s libWMASTDLA_L.so.2 libWMASTDLA_L.so
+ fi
+
+ if [ "X${USE_DD_MDW}" = "X1" ]; then
+ install -m 755 ${WORKDIR}/${DD_MIDDLEWARE_SRC}/${baselib}/libRSDACDLA_L.so.2.0 \
+ ${D}/${libdir}
+ install -m 644 ${WORKDIR}/${DD_MIDDLEWARE_SRC}/include/*.h ${D}/${includedir}
+
+ ln -s libRSDACDLA_L.so.2.0 libRSDACDLA_L.so.2
+ ln -s libRSDACDLA_L.so.2 libRSDACDLA_L.so
+ fi
+
+ if [ "X${USE_AACLCE_MDW}" = "X1" ]; then
+ install -m 755 ${WORKDIR}/${AEAAC_MIDDLEWARE_SRC}/${baselib}/libRSAACELA_L.so.3.0 \
+ ${D}/${libdir}
+ install -m 644 ${WORKDIR}/${AEAAC_MIDDLEWARE_SRC}/include/*.h ${D}/${includedir}
+
+ ln -s libRSAACELA_L.so.3.0 libRSAACELA_L.so.3
+ ln -s libRSAACELA_L.so.3 libRSAACELA_L.so
+ fi
+}
+
+do_install_omx_audio() {
+ cd ${D}/${libdir}
+ for omxmc in ${OMX_AUDIO_SRC_LIST}
+ do
+ src="${WORKDIR}/${omxmc}/"
+ install -m 755 ${src}/${baselib}/lib*.so.* ${D}/${libdir}
+ if [ -d ${src}/include ]; then
+ install -m 644 ${src}/include/*.h ${D}/${includedir}
+ fi
+ install -m 644 ${src}/config/*.txt ${D}/${sysconfdir}/omxr
+ done
+
+ if [ "X${USE_AUDIO_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_acmn.so.3.0.0 libomxr_mc_acmn.so.3
+ ln -s libomxr_mc_acmn.so.3 libomxr_mc_acmn.so
+ fi
+
+ if [ "X${USE_AACLCD_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_aacd.so.3.0.0 libomxr_mc_aacd.so.3
+ ln -s libomxr_mc_aacd.so.3 libomxr_mc_aacd.so
+ fi
+
+ if [ "X${USE_AACPV2D_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_aapd.so.3.0.0 libomxr_mc_aapd.so.3
+ ln -s libomxr_mc_aapd.so.3 libomxr_mc_aapd.so
+ fi
+
+ if [ "X${USE_MP3D_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_mp3d.so.3.0.0 libomxr_mc_mp3d.so.3
+ ln -s libomxr_mc_mp3d.so.3 libomxr_mc_mp3d.so
+ fi
+
+ if [ "X${USE_WMAD_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_wmad.so.3.0.0 libomxr_mc_wmad.so.3
+ ln -s libomxr_mc_wmad.so.3 libomxr_mc_wmad.so
+ fi
+
+ if [ "X${USE_ALACD_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_alacd.so.3.0.0 libomxr_mc_alacd.so.3
+ ln -s libomxr_mc_alacd.so.3 libomxr_mc_alacd.so
+ fi
+
+ if [ "X${USE_FLACD_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_flacd.so.3.0.0 libomxr_mc_flacd.so.3
+ ln -s libomxr_mc_flacd.so.3 libomxr_mc_flacd.so
+ fi
+
+ if [ "X${USE_AACLCE_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_aace.so.3.0.0 libomxr_mc_aace.so.3
+ ln -s libomxr_mc_aace.so.3 libomxr_mc_aace.so
+ fi
+
+ if [ "X${USE_DDD_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_ddd.so.3.0.0 libomxr_mc_ddd.so.3
+ ln -s libomxr_mc_ddd.so.3 libomxr_mc_ddd.so
+ fi
+}
+
+do_install () {
+ if [ "X${USE_OMX_COMMON}" = "X1" ]; then
+ oe_runmake 'DESTDIR=${D}' install
+ # Info dir listing isn't interesting at this point so remove it if it exists.
+ if [ -e "${D}/${infodir}/dir" ]; then
+ rm -f ${D}/${infodir}/dir
+ fi
+ fi
+}
+
+do_install_append() {
+ # Create destination directory
+ install -d ${D}/${libdir}
+ install -d ${D}/${includedir}
+ if [ "X${USE_OMX_COMMON}" = "X1" ]; then
+ install -d ${D}/${sysconfdir}/omxr
+ fi
+
+ # Copy omx video library
+ do_install_omx_video
+ # Copy audio middleware library
+ do_install_audio_middleware
+ # Copy omx audio library
+ do_install_omx_audio
+}
+
+INSANE_SKIP_${PN} = "dev-so"
+
+FILES_${PN} += " \
+ ${libdir}/*.so \
+"
+
+FILES_${PN}-dev = " \
+ ${includedir} \
+ ${libdir}/*.la \
+"
+
+RDEPENDS_${PN} += "mmngr-user-module vspmif-user-module"
+RDEPENDS_${PN} += '${@oe.utils.conditional("USE_ALACD_OMX", "1", "libalacdla-l", "", d )}'
+RDEPENDS_${PN} += '${@oe.utils.conditional("USE_FLACD_OMX", "1", "libflacdla-l", "", d )}'
+
+# Skip debug strip of do_populate_sysroot()
+INHIBIT_SYSROOT_STRIP = "1"
+
+# Skip debug split and strip of do_package()
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+INHIBIT_PACKAGE_STRIP = "1"
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/openavnu/openavnu/0001-Fix-QA-issue-when-build-with-Yocto.patch b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/openavnu/openavnu/0001-Fix-QA-issue-when-build-with-Yocto.patch
new file mode 100644
index 00000000..dbc1eccb
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/openavnu/openavnu/0001-Fix-QA-issue-when-build-with-Yocto.patch
@@ -0,0 +1,34 @@
+From 5e9eff188ada13e1c1986d5611a42e0779fe7fd1 Mon Sep 17 00:00:00 2001
+From: Thao Nguyen <thao.nguyen.yb@renesas.com>
+Date: Mon, 18 Sep 2017 17:09:21 +0700
+Subject: [PATCH] Fix QA issue when build with Yocto
+
+Yocto project has updated Linker Hash Style Changed in YP2.4.
+Makefile should be updated to avoid QA error.
+
+ERROR: open-avb-1.1+gitAUTOINC+5e43fa5ae2-r0 do_package_qa: QA Issue: No GNU_HASH in the elf binary: '/proj/yocto/gen3/v3.4.0-pt2/build/tmp/work/aarch64-poky-linux/open-avb/1.1+gitAUTOINC+5e43fa5ae2-r0/packages-split/open-avb-gptp/usr/bin/daemon_cl' [ldflags]
+ERROR: open-avb-1.1+gitAUTOINC+5e43fa5ae2-r0 do_package_qa: QA run found fatal errors. Please consider fixing them.
+ERROR: open-avb-1.1+gitAUTOINC+5e43fa5ae2-r0 do_package_qa: Function failed: do_package_qa
+
+Signed-off-by: Thao Nguyen <thao.nguyen.yb@renesas.com>
+Signed-off-by: Masaru Nagai <masaru.nagai.vx@renesas.com>
+---
+ daemons/gptp/linux/build/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/daemons/gptp/linux/build/Makefile b/daemons/gptp/linux/build/Makefile
+index 1e00b1a..99fbf84 100644
+--- a/daemons/gptp/linux/build/Makefile
++++ b/daemons/gptp/linux/build/Makefile
+@@ -131,7 +131,7 @@ LDFLAGS_G += -lpthread -lrt
+
+ CFLAGS = $(CFLAGS_G)
+ CPPFLAGS = $(CPPFLAGS_G)
+-LDFLAGS = $(LDFLAGS_G)
++LDFLAGS += $(LDFLAGS_G)
+
+ all: $(OBJ_DIR)/daemon_cl
+
+--
+1.9.1
+
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/openavnu/openavnu_git.bb b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/openavnu/openavnu_git.bb
new file mode 100644
index 00000000..5972d063
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/openavnu/openavnu_git.bb
@@ -0,0 +1,75 @@
+DESCRIPTION = "OpenAvnu - an AVnu sponsored repository for Time Sensitive Network (TSN and AVB) technology"
+HOMEPAGE = "https://github.com/AVnu/OpenAvnu"
+LICENSE = "BSD & MIT & GPLv2 & LGPLv2"
+LIC_FILES_CHKSUM = " \
+ file://daemons/LICENSE;md5=81ccd62d4bc28bafc5e1a2576536b927 \
+ file://daemons/shaper/LICENSE;md5=53e60f7a40864e4c075831415f2ecc59 \
+ file://kmod/igb/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://kmod/igb/LICENSE;md5=e2c0cd0820d168b0b26e19f13df4dc56 \
+ file://lib/igb/LICENSE;md5=9bc783ca40be823a8b237df5eed80fc4 \
+ file://lib/avtp_pipeline/LICENSE;md5=485c2c585be88b59c3ee70a016f27959 \
+ file://examples/LICENSE;md5=81ccd62d4bc28bafc5e1a2576536b927 \
+ file://examples/gstreamer-avb-plugins/COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605 \
+ file://examples/gstreamer-avb-plugins/COPYING.MIT;md5=bba6cdb9c2b03c849ed4975ed9ed90dc \
+"
+
+DEPENDS = "libpcap"
+COMPATIBLE_MACHINE = "(salvator-x|ulcb|ebisu)"
+
+PV = "1.1+git${SRCPV}"
+
+SRCREV = "5e43fa5ae27fbd2b89c320670a32143ce93e0e16"
+SRC_URI = "git://github.com/AVnu/OpenAvnu.git;branch=master"
+
+# Fix QA issue of ldflags
+SRC_URI_append = " file://0001-Fix-QA-issue-when-build-with-Yocto.patch"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "'CC=${CC}' 'CXX=${CXX}'"
+
+do_configure() {
+ oe_runmake daemons_all_clean
+}
+
+do_compile() {
+ oe_runmake daemons_all
+}
+
+do_install() {
+ install -d ${D}/${bindir}
+ install -m 755 daemons/maap/linux/build/maap_daemon ${D}/${bindir}
+ install -m 755 daemons/mrpd/mrpd daemons/mrpd/mrpctl ${D}/${bindir}
+ install -m 755 daemons/gptp/linux/build/obj/daemon_cl ${D}/${bindir}
+}
+
+PACKAGES =+ " \
+ ${PN}-gptp \
+ ${PN}-mrpd \
+ ${PN}-maap \
+"
+
+ALLOW_EMPTY_${PN} = "1"
+
+FILES_${PN}-gptp = " \
+ ${bindir}/daemon_cl \
+"
+
+FILES_${PN}-mrpd = " \
+ ${bindir}/mrpd \
+ ${bindir}/mrpctl \
+"
+
+FILES_${PN}-maap = " \
+ ${bindir}/maap_daemon \
+"
+
+RDEPENDS_${PN} = " \
+ ${PN}-gptp \
+ ${PN}-mrpd \
+ ${PN}-maap \
+"
+
+RDEPENDS_${PN}-maap = " \
+ libpcap \
+"
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-gstreamer1.0-plugins.bb b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-gstreamer1.0-plugins.bb
new file mode 100644
index 00000000..ae79153a
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-gstreamer1.0-plugins.bb
@@ -0,0 +1,87 @@
+SUMMARY = "GStreamer 1.0 package groups"
+LICENSE = "MIT"
+
+require include/omx-control.inc
+
+COMPATIBLE_MACHINE = "(salvator-x|ulcb|ebisu)"
+
+DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good"
+DEPENDS += "gstreamer1.0-plugins-bad"
+DEPENDS += "gstreamer1.0-plugins-ugly"
+DEPENDS += "${@oe.utils.conditional("USE_OMX_COMMON", "1", "gstreamer1.0-omx", "", d)}"
+
+LIC_FILES_CHKSUM = " \
+ file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302 \
+"
+
+PR = "r0"
+
+inherit packagegroup
+
+PACKAGES = " \
+ packagegroup-gstreamer1.0-plugins \
+ packagegroup-gstreamer1.0-plugins-base \
+ packagegroup-gstreamer1.0-plugins-audio \
+ packagegroup-gstreamer1.0-plugins-video \
+ ${@oe.utils.conditional("USE_OMX_COMMON", "1", "packagegroup-gstreamer1.0-omx", "", d)} \
+ packagegroup-gstreamer1.0-plugins-debug \
+"
+
+RDEPENDS_packagegroup-gstreamer1.0-plugins = " \
+ packagegroup-gstreamer1.0-plugins-base \
+ packagegroup-gstreamer1.0-plugins-audio \
+ packagegroup-gstreamer1.0-plugins-video \
+ ${@oe.utils.conditional("USE_OMX_COMMON", "1", "packagegroup-gstreamer1.0-omx", "", d)} \
+ packagegroup-gstreamer1.0-plugins-debug \
+"
+
+RDEPENDS_packagegroup-gstreamer1.0-plugins-base = " \
+ gstreamer1.0-meta-base \
+ gstreamer1.0-plugins-base-typefindfunctions \
+ gstreamer1.0-plugins-good-id3demux \
+ gstreamer1.0-plugins-good-autodetect \
+ ${@oe.utils.conditional("USE_OMX_COMMON", "1", "gstreamer1.0-plugin-vspfilter", "", d)} \
+"
+
+RDEPENDS_packagegroup-gstreamer1.0-plugins-audio = " \
+ gstreamer1.0-meta-audio \
+ gstreamer1.0-plugins-good-audioparsers \
+ gstreamer1.0-plugins-base-audiotestsrc \
+ gstreamer1.0-plugins-base-audioconvert \
+ gstreamer1.0-plugins-base-audioresample \
+ gstreamer1.0-plugins-base-alsa \
+ gstreamer1.0-plugins-base-ogg \
+ gstreamer1.0-plugins-base-vorbis \
+"
+
+RDEPENDS_packagegroup-gstreamer1.0-plugins-video = " \
+ gstreamer1.0-meta-video \
+ gstreamer1.0-plugins-base-videotestsrc \
+ gstreamer1.0-plugins-base-videoconvert \
+ gstreamer1.0-plugins-base-playback \
+ gstreamer1.0-plugins-base-videoscale \
+ gstreamer1.0-plugins-base-videorate \
+ gstreamer1.0-plugins-good-matroska \
+ gstreamer1.0-plugins-good-isomp4 \
+ gstreamer1.0-plugins-good-avi \
+ gstreamer1.0-plugins-good-videofilter \
+ gstreamer1.0-plugins-good-videomixer \
+ gstreamer1.0-plugins-good-videocrop \
+ gstreamer1.0-plugins-good-video4linux2 \
+ gstreamer1.0-plugins-good-jpeg \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', \
+ 'gstreamer1.0-plugins-bad-waylandsink', '', d)} \
+ gstreamer1.0-plugins-bad-videoparsersbad \
+ gstreamer1.0-plugins-bad-mpegtsdemux \
+ gstreamer1.0-plugins-bad-jpegformat \
+ gstreamer1.0-plugins-ugly-asf \
+ gstreamer1.0-libav \
+"
+
+RDEPENDS_packagegroup-gstreamer1.0-omx = " \
+ ${@oe.utils.conditional("USE_OMX_COMMON", "1", "gstreamer1.0-omx", "", d)} \
+"
+
+RDEPENDS_packagegroup-gstreamer1.0-plugins-debug = " \
+ gstreamer1.0-meta-debug \
+"
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-multimedia-kernel.bb b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-multimedia-kernel.bb
new file mode 100644
index 00000000..b62e11e8
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-multimedia-kernel.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Multimedia kernel modules package groups"
+LICENSE = "GPLv2 & MIT"
+
+require include/omx-control.inc
+
+COMPATIBLE_MACHINE = "(salvator-x|ulcb|ebisu)"
+
+DEPENDS = "kernel-module-mmngr kernel-module-mmngrbuf \
+ kernel-module-vspm kernel-module-vspmif \
+ kernel-module-vsp2driver \
+"
+
+DEPENDS += '${@oe.utils.conditional("USE_VIDEO_OMX", "1", "kernel-module-uvcs-drv", "", d )}'
+
+PR = "r0"
+
+inherit packagegroup
+
+PACKAGES = " \
+ packagegroup-multimedia-kernel-modules \
+"
+
+RDEPENDS_packagegroup-multimedia-kernel-modules = " \
+ kernel-module-mmngr \
+ kernel-module-mmngrbuf \
+ kernel-module-vspm \
+ kernel-module-vspmif \
+ kernel-module-vsp2driver \
+"
+
+RDEPENDS_packagegroup-multimedia-kernel-modules += " \
+ ${@oe.utils.conditional("USE_VIDEO_OMX", "1", "kernel-module-uvcs-drv", "", d )} \
+"
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-multimedia-libs.bb b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-multimedia-libs.bb
new file mode 100644
index 00000000..3c74e691
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-multimedia-libs.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Multimedia user libraries modules package groups"
+LICENSE = "MIT"
+
+COMPATIBLE_MACHINE = "(salvator-x|ulcb|ebisu)"
+
+DEPENDS = "mmngr-user-module mmngrbuf-user-module \
+ vspmif-user-module libalacdla-l libflacdla-l \
+"
+
+PR = "r0"
+
+inherit packagegroup
+
+PACKAGES = " \
+ packagegroup-multimedia-libs \
+"
+
+RDEPENDS_packagegroup-multimedia-libs = " \
+ mmngr-user-module mmngrbuf-user-module \
+ vspmif-user-module \
+ libalacdla-l libflacdla-l \
+"
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif-tp-user-module.bb b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif-tp-user-module.bb
new file mode 100644
index 00000000..0070563c
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif-tp-user-module.bb
@@ -0,0 +1,46 @@
+DESCRIPTION = "VSP Manager Interface test app for R-Car Gen3"
+
+require vspmif.inc
+
+DEPENDS = "vspmif-user-module mmngr-user-module"
+PN = "vspmif-tp-user-module"
+PR = "r0"
+
+S = "${WORKDIR}/git"
+VSPMIF_TP_DIR = "vspm_if-tp-user/files/vspm_if"
+
+# Get Wordsize of test app and change their names later to avoid override
+WS_aarch64 = ""
+WS_virtclass-multilib-lib32 = "32"
+
+do_compile() {
+ cd ${S}/${VSPMIF_TP_DIR}
+ make all
+}
+
+do_install() {
+ # Create destination folder
+ install -d ${D}${RENESAS_DATADIR}/bin/
+
+ # Copy user test program
+ if [ X${WS} = "X32" ]; then
+ install -m 755 ${S}/${VSPMIF_TP_DIR}/vspm_tp ${D}${RENESAS_DATADIR}/bin/vspm_tp32
+ install -m 755 ${S}/${VSPMIF_TP_DIR}/fdpm_tp ${D}${RENESAS_DATADIR}/bin/fdpm_tp32
+ else
+ install -m 755 ${S}/${VSPMIF_TP_DIR}/vspm_tp ${D}${RENESAS_DATADIR}/bin/
+ install -m 755 ${S}/${VSPMIF_TP_DIR}/fdpm_tp ${D}${RENESAS_DATADIR}/bin/
+ fi
+}
+
+PACKAGES = "\
+ ${PN} \
+ ${PN}-dbg \
+"
+FILES_${PN} = " \
+ ${@oe.utils.conditional('WS', '32', '${RENESAS_DATADIR}/bin/vspm_tp32 ${RENESAS_DATADIR}/bin/fdpm_tp32', \
+ '${RENESAS_DATADIR}/bin/vspm_tp ${RENESAS_DATADIR}/bin/fdpm_tp', d)}"
+
+FILES_${PN}-dbg = " \
+ ${RENESAS_DATADIR}/bin/.debug/*"
+
+RPROVIDES_${PN} += "vspmif-tp-user-module"
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif-user-module.bb b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif-user-module.bb
new file mode 100644
index 00000000..bf7fef63
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif-user-module.bb
@@ -0,0 +1,49 @@
+DESCRIPTION = "VSP Manager Interface library for R-Car Gen3"
+
+require vspmif.inc
+
+DEPENDS = "kernel-module-vspmif mmngr-user-module"
+PN = "vspmif-user-module"
+PR = "r0"
+
+S = "${WORKDIR}/git"
+VSPMIF_LIB_DIR = "vspm_if-module/files/vspm_if"
+
+EXTRA_OEMAKE = "ARCH=${TARGET_ARCH}"
+
+includedir = "${RENESAS_DATADIR}/include"
+
+do_compile() {
+ export VSPM_LEGACY_IF="1"
+
+ # Build shared library
+ cd ${S}/${VSPMIF_LIB_DIR}/if
+ rm -rf ${S}/${VSPMIF_LIB_DIR}/if/libvspm.so*
+ oe_runmake
+}
+
+do_install() {
+ # Create destination folders
+ install -d ${D}/${libdir}
+ install -d ${D}/${includedir}
+
+ # Copy shared library
+ install -m 755 ${S}/${VSPMIF_LIB_DIR}/if/libvspm.so* ${D}/${libdir}/
+ cd ${D}/${libdir}/
+ ln -sf libvspm.so.1.0.0 libvspm.so.1
+ ln -sf libvspm.so.1 libvspm.so
+
+ # Copy shared header files
+ install -m 644 ${S}/${VSPMIF_LIB_DIR}/include/vspm_public.h ${D}/${includedir}/
+ install -m 644 ${S}/${VSPMIF_LIB_DIR}/include/fdpm_api.h ${D}/${includedir}/
+}
+
+PACKAGES = "\
+ ${PN} \
+ ${PN}-dev \
+ ${PN}-dbg \
+"
+
+RPROVIDES_${PN} += "vspmif-user-module"
+INSANE_SKIP_${PN} += "libdir"
+INSANE_SKIP_${PN}-dev += "libdir"
diff --git a/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif.inc b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif.inc
new file mode 100644
index 00000000..34e8587e
--- /dev/null
+++ b/bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif.inc
@@ -0,0 +1,15 @@
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = " \
+ file://COPYING.MIT;md5=30a99e0d36a3da1f5cf93c070ad7888a \
+"
+
+require include/rcar-gen3-modules-common.inc
+
+VSPMIF_LIB_URL = "git://github.com/renesas-rcar/vspmif_lib.git"
+BRANCH = "rcar_gen3"
+SRCREV = "06fe8b1341801079f8a2b964ea95980967dcf789"
+
+SRC_URI = "${VSPMIF_LIB_URL};branch=${BRANCH}"
+
+# This module is machine specific.
+PACKAGE_ARCH = "${MACHINE_ARCH}"