diff options
Diffstat (limited to 'meta-rcar-gen3/recipes-multimedia')
33 files changed, 1541 insertions, 0 deletions
diff --git a/meta-rcar-gen3/recipes-multimedia/adsp-module/adsp-fw-module.bb b/meta-rcar-gen3/recipes-multimedia/adsp-module/adsp-fw-module.bb new file mode 100644 index 0000000..c57a47a --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/adsp-module/adsp-fw-module.bb @@ -0,0 +1,29 @@ +DESCRIPTION = "ADSP Framework for Linux" +LICENSE = "CLOSED" + +require include/adsp-control.inc + +SRC_URI = "${@base_conditional('USE_ADSP', '1', 'file://RCG3AHFWN0101ZDP.tar.gz', '', d )}" + +do_configure[noexec] = "1" +do_compile[noexec] = "1" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +S = "${WORKDIR}/RCG3AHFWN0101ZDP" + +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/meta-rcar-gen3/recipes-multimedia/adsp-module/adsp-if-module.bb b/meta-rcar-gen3/recipes-multimedia/adsp-module/adsp-if-module.bb new file mode 100644 index 0000000..7128f7d --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/adsp-module/adsp-if-module.bb @@ -0,0 +1,58 @@ +DESCRIPTION = "ADSP Interface for Linux" +LICENSE = "CLOSED" + +require include/adsp-control.inc + +DEPENDS += "kernel-module-xtensa-hifi" + +SRC_URI = "${@base_conditional('USE_ADSP', '1', 'file://RCG3AHIFL4001ZDP.tar.gz', '', d )}" + +S = "${WORKDIR}/RCG3AHIFL4001ZDP" + +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 RCG3AHIFL4001ZDP/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}/libRCG3AHIFL4001ZDP.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 libRCG3AHIFL4001ZDP.so.1.0 libRCG3AHIFL4001ZDP.so.1 + ln -s libRCG3AHIFL4001ZDP.so.1 libRCG3AHIFL4001ZDP.so +} + +PACKAGES = " \ + ${PN} \ + ${PN}-dev \ + ${PN}-dbg \ +" + +INSANE_SKIP_${PN} += "dev-so" + +FILES_${PN} += " \ + ${libdir}/*.so* \ + ${includedir} \ +" diff --git a/meta-rcar-gen3/recipes-multimedia/avb-applications/avb-applications.inc b/meta-rcar-gen3/recipes-multimedia/avb-applications/avb-applications.inc new file mode 100644 index 0000000..2d2c557 --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/avb-applications/avb-applications.inc @@ -0,0 +1,9 @@ +require include/avb-control.inc +require include/rcar-gen3-modules-common.inc + +inherit distro_features_check + +REQUIRED_DISTRO_FEATURES = "avb" + +SRC_URI = "git://github.com/renesas-rcar/avb-applications.git;branch=rcar-gen3" +SRCREV = "e959010b9b26b684a53db536a02b2f96f0d177ac" diff --git a/meta-rcar-gen3/recipes-multimedia/avb-applications/avb-demoapps.bb b/meta-rcar-gen3/recipes-multimedia/avb-applications/avb-demoapps.bb new file mode 100644 index 0000000..36253d8 --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/avb-applications/avb-demoapps.bb @@ -0,0 +1,123 @@ +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" + +S = "${WORKDIR}/git/avb-demoapps" + +includedir = "${RENESAS_DATADIR}/include" + +# submodule is extracted before do_populate_lic +addtask do_init_submodule after do_unpack before do_patch + +do_init_submodule() { + export http_proxy=${http_proxy} + export https_proxy=${https_proxy} + export HTTP_PROXY=${HTTP_PROXY} + export HTTPS_PROXY=${HTTPS_PROXY} + cd ${S} + git submodule init + git submodule update +} + +EXTRA_OEMAKE = "'CC=${CC}' 'AR=${AR}'" + +do_install_append() { + oe_runmake install INSTALL_DIR=${D}/${bindir} + + # Create intall 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_100mb.ini ${D}/${sysconfdir}/daemon_cl + 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_100mb.ini \ + ${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/meta-rcar-gen3/recipes-multimedia/avb-applications/avbtool.bb b/meta-rcar-gen3/recipes-multimedia/avb-applications/avbtool.bb new file mode 100644 index 0000000..5c00277 --- /dev/null +++ b/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/meta-rcar-gen3/recipes-multimedia/cms-module/cms-user-module.bb b/meta-rcar-gen3/recipes-multimedia/cms-module/cms-user-module.bb new file mode 100644 index 0000000..952b230 --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/cms-module/cms-user-module.bb @@ -0,0 +1,74 @@ +DESCRIPTION = "R-Car Gen3 Color Management System" +LICENSE = "CLOSED" + +require include/cms-control.inc + +SRC_CMSBCM = "${@bb.utils.contains('USE_CMSBCM', '1', 'file://RTM0AC0000JRCMBCV0SL40C.tar.gz;subdir=cms/bcm', '', d)}" +SRC_CMSBLC = "${@bb.utils.contains('USE_CMSBLC', '1', 'file://RTM0AC0000JRCMBLC0SL40C.tar.gz;subdir=cms/blc', '', d)}" +SRC_CMSDGC = "${@bb.utils.contains('USE_CMSDGC', '1', 'file://RTM0AC0000JRCMDGV0SL40C.tar.gz;subdir=cms/dgc', '', d)}" + +SRC_URI = " \ + ${SRC_CMSBCM} \ + ${SRC_CMSBLC} \ + ${SRC_CMSDGC} \ +" + +S = "${WORKDIR}/cms" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +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.1.0.0 ${D}/${libdir} + install -m 644 ${S}/bcm/include/*.h ${D}/${includedir}/cms/bcm + + cd ${D}/${libdir} + ln -s libcmsbcm.so.1.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.1.0.0 ${D}/${libdir} + install -m 644 ${S}/blc/include/*.h ${D}/${includedir}/cms/blc + + cd ${D}/${libdir} + ln -s libcmsblc.so.1.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.1.0.0 ${D}/${libdir} + install -m 644 ${S}/dgc/include/*.h ${D}/${includedir}/cms/dgc + + cd ${D}/${libdir} + ln -s libcmsdgc.so.1.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/meta-rcar-gen3/recipes-multimedia/dtv-module/dtv-user-module.bb b/meta-rcar-gen3/recipes-multimedia/dtv-module/dtv-user-module.bb new file mode 100644 index 0000000..55efa92 --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/dtv-module/dtv-user-module.bb @@ -0,0 +1,72 @@ +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 distro_features_check + +DEPENDS = " \ + kernel-module-vspmif mmngr-user-module \ + vspmif-user-module kernel-module-vspmif 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}" + +# 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/meta-rcar-gen3/recipes-multimedia/dvd-module/dvd-user-module.bb b/meta-rcar-gen3/recipes-multimedia/dvd-module/dvd-user-module.bb new file mode 100644 index 0000000..aead035 --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/dvd-module/dvd-user-module.bb @@ -0,0 +1,62 @@ +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 distro_features_check + +DEPENDS = " \ + kernel-module-vspmif mmngr-user-module \ + vspmif-user-module kernel-module-vspmif 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}" + +# 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/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.2.0.bbappend b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.2.0.bbappend new file mode 100644 index 0000000..9a30dd9 --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.2.0.bbappend @@ -0,0 +1,29 @@ +SRC_URI_remove = "http://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${PV}.tar.xz" +SRC_URI_append = " git://github.com/renesas-rcar/gst-omx.git;branch=RCAR-GEN3/1.2.0" + +DEPENDS += "omx-user-module mmngrbuf-user-module" + +SRCREV = "50b1a326521f909f6baa4708ce42e671013b8dab" + +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ + file://omx/gstomx.h;beginline=1;endline=22;md5=9281ffe981001da5a13db0303fa7c4ab \ +" + +S = "${WORKDIR}/git" + +GSTREAMER_1_0_OMX_TARGET = "rcar" +GSTREAMER_1_0_OMX_CORE_NAME = "${libdir}/libomxr_core.so" +EXTRA_OECONF_append = " --enable-experimental" +EXTRA_OECONF_append = " --with-omx-header-path=${S}/omx/openmax" + +do_configure_prepend() { + export http_proxy=${http_proxy} + export https_proxy=${https_proxy} + export HTTP_PROXY=${HTTP_PROXY} + export HTTPS_PROXY=${HTTPS_PROXY} + cd ${S} + ./autogen.sh --noconfigure + cd ${B} +} + +RDEPENDS_${PN} = "libwayland-egl" diff --git a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-h3ulcb_r8a7795.conf b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-h3ulcb_r8a7795.conf new file mode 100644 index 0000000..4807dc3 --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-h3ulcb_r8a7795.conf @@ -0,0 +1,2 @@ +input-device-name=/dev/video12 +output-device-name=/dev/video13 diff --git a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-m3ulcb_r8a7796.conf b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-m3ulcb_r8a7796.conf new file mode 100644 index 0000000..890c5ad --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-m3ulcb_r8a7796.conf @@ -0,0 +1,2 @@ +input-device-name=/dev/video6 +output-device-name=/dev/video7 diff --git a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-salvator-x_r8a7795.conf b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-salvator-x_r8a7795.conf new file mode 100644 index 0000000..586b13b --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-salvator-x_r8a7795.conf @@ -0,0 +1,2 @@ +input-device-name=/dev/video20 +output-device-name=/dev/video21 diff --git a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-salvator-x_r8a7796.conf b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-salvator-x_r8a7796.conf new file mode 100644 index 0000000..74a8ab9 --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-salvator-x_r8a7796.conf @@ -0,0 +1,2 @@ +input-device-name=/dev/video14 +output-device-name=/dev/video15 diff --git a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter_1.0.0.bb b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter_1.0.0.bb new file mode 100644 index 0000000..02a7ba2 --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter_1.0.0.bb @@ -0,0 +1,37 @@ +SUMMARY = "GStreamer VSP filter plugin" +SECTION = "multimedia" +LICENSE = "GPLv2+" +DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base pkgconfig" +LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" +inherit autotools pkgconfig + +PN = "gstreamer1.0-plugin-vspfilter" + +EXTRA_AUTORECONF_append = " -I ${STAGING_DATADIR}/aclocal" + +VSPFILTER_CONF_r8a7795 = "gstvspfilter-${MACHINE}_r8a7795.conf" +VSPFILTER_CONF_r8a7796 = "gstvspfilter-${MACHINE}_r8a7796.conf" + +SRC_URI = " \ + git://github.com/renesas-rcar/gst-plugin-vspfilter.git;branch=RCAR-GEN3/1.0.0 \ + file://${VSPFILTER_CONF} \ +" + +SRCREV = "50eefe877d2198092ba41316456d73e02dba0def" + +S = "${WORKDIR}/git" + +FILES_${PN} = " \ + ${libdir}/gstreamer-1.0/libgstvspfilter.so \ + ${sysconfdir}/gstvspfilter.conf" +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" + +do_install_append() { + install -Dm 644 ${WORKDIR}/${VSPFILTER_CONF} ${D}/etc/gstvspfilter.conf +} + +RDEPENDS_${PN} = "kernel-module-vsp2driver" diff --git a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend new file mode 100644 index 0000000..072d683 --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend @@ -0,0 +1,29 @@ +SRC_URI_remove = "http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz" +SRC_URI_append = " git://github.com/renesas-rcar/gst-plugins-bad.git;branch=RCAR-GEN3/1.6.3" + +SRCREV = "e336b2dacf29a155dc8f6896ee0f3a89d87d805e" + +DEPENDS += "weston wayland-native" + +S = "${WORKDIR}/git" + +# submodule is extracted before do_populate_lic +addtask do_init_submodule after do_unpack before do_patch + +do_init_submodule() { + export http_proxy=${http_proxy} + export https_proxy=${https_proxy} + export HTTP_PROXY=${HTTP_PROXY} + export HTTPS_PROXY=${HTTPS_PROXY} + cd ${S} + git submodule init + git submodule update +} + +do_configure_prepend() { + cd ${S} + ./autogen.sh --noconfigure + cd ${B} +} + +RDEPENDS_${PN} = "libwayland-egl" diff --git a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.6.3.bbappend b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.6.3.bbappend new file mode 100644 index 0000000..1912ac1 --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.6.3.bbappend @@ -0,0 +1 @@ +PACKAGECONFIG_remove = "ivorbis" diff --git a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.6.3.bbappend b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.6.3.bbappend new file mode 100644 index 0000000..1d353ec --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.6.3.bbappend @@ -0,0 +1,32 @@ +SRC_URI_remove = "http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz" +SRC_URI_append = " git://github.com/renesas-rcar/gst-plugins-good.git;branch=RCAR-GEN3/1.6.3" + +SRCREV = "00beed48b36e0b7f2c92199806cc4cb9e0990166" + +DEPENDS += "mmngrbuf-user-module" + +S = "${WORKDIR}/git" + +EXTRA_OECONF_append = " \ + --enable-cont-frame-capture \ + --enable-ignore-fps-of-video-standard \ +" + +# submodule is extracted before do_populate_lic +addtask do_init_submodule after do_unpack before do_patch + +do_init_submodule() { + export http_proxy=${http_proxy} + export https_proxy=${https_proxy} + export HTTP_PROXY=${HTTP_PROXY} + export HTTPS_PROXY=${HTTPS_PROXY} + cd ${S} + git submodule init + git submodule update +} + +do_configure_prepend() { + cd ${S} + ./autogen.sh --noconfigure + cd ${B} +} diff --git a/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr-user-module.bb b/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr-user-module.bb new file mode 100644 index 0000000..ac4cf30 --- /dev/null +++ b/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/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr_lib.inc b/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr_lib.inc new file mode 100644 index 0000000..142ff2e --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr_lib.inc @@ -0,0 +1,18 @@ +# 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 = "8d2c068eecb41668bee086fc704ed37c2eb1df67" + +# 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}" + +inherit autotools diff --git a/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngrbuf-user-module.bb b/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngrbuf-user-module.bb new file mode 100644 index 0000000..690169f --- /dev/null +++ b/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/meta-rcar-gen3/recipes-multimedia/omx-module/deltask-omx-user-module.inc b/meta-rcar-gen3/recipes-multimedia/omx-module/deltask-omx-user-module.inc new file mode 100644 index 0000000..6f3f847 --- /dev/null +++ b/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/meta-rcar-gen3/recipes-multimedia/omx-module/libalacdla-l.bb b/meta-rcar-gen3/recipes-multimedia/omx-module/libalacdla-l.bb new file mode 100644 index 0000000..f31792b --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/omx-module/libalacdla-l.bb @@ -0,0 +1,61 @@ +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 \ +" + +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/meta-rcar-gen3/recipes-multimedia/omx-module/libflacdla-l.bb b/meta-rcar-gen3/recipes-multimedia/omx-module/libflacdla-l.bb new file mode 100644 index 0000000..453195e --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/omx-module/libflacdla-l.bb @@ -0,0 +1,50 @@ +DESCRIPTION = "FLAC decoder library" +SECTION = "libs" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING.Xiph;md5=a2c4b71c0198682376d483eb5bcc9197" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +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/meta-rcar-gen3/recipes-multimedia/omx-module/omx-user-module.bb b/meta-rcar-gen3/recipes-multimedia/omx-module/omx-user-module.bb new file mode 100644 index 0000000..d0da0f7 --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/omx-module/omx-user-module.bb @@ -0,0 +1,450 @@ +DESCRIPTION = "OMX Media Components R-Car Gen3" +LICENSE = "CLOSED" +require include/omx-control.inc +require include/rcar-gen3-modules-common.inc + +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 = '${@base_conditional("USE_OMX_COMMON", "1", "dummy", "deltask", d )}' +include ${INCLUDE_FILE}-omx-user-module.inc + +DEPENDS += '${@base_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 = '${@base_conditional("USE_OMX_EVA_PKG", "1", "EVA", "", d )}' + +# SRC file name +SRC_URI_OMX = '${@base_conditional("USE_OMX_COMMON", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XCMCTL30SL40C.tar.bz2;unpack=0", "", d )}' +SRC_URI_VCMND = '${@base_conditional("USE_VIDEO_DEC", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XVCMND30SL40C.tar.bz2;unpack=0", "", d )}' +SRC_URI_VCMNE = '${@base_conditional("USE_VIDEO_ENC", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XVCMNE30SL40C.tar.bz2;unpack=0", "", d )}' +SRC_URI_H263D = '${@base_conditional("USE_H263D_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XV263D30SL40C.tar.bz2", "", d )}' +SRC_URI_H264D = '${@base_conditional("USE_H264D_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XV264D30SL40C.tar.bz2", "", d )}' +SRC_URI_H264E = '${@base_conditional("USE_H264E_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XV264E30SL40C.tar.bz2", "", d )}' +SRC_URI_H265D = '${@base_conditional("USE_H265D_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XV265D30SL40C.tar.bz2", "", d )}' +SRC_URI_MPEG2D = '${@base_conditional("USE_MPEG2D_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XVM2VD30SL40C.tar.bz2", "", d )}' +SRC_URI_MPEG4D = '${@base_conditional("USE_MPEG4D_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XVM4VD30SL40C.tar.bz2", "", d )}' +SRC_URI_VC1D = '${@base_conditional("USE_VC1D_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XVVC1D30SL40C.tar.bz2", "", d )}' +SRC_URI_DIVXD = '${@base_conditional("USE_DIVXD_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XVDVXD30SL40C.tar.bz2", "", d )}' +SRC_URI_RVD = '${@base_conditional("USE_RVD_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XVRLVD30SL40C.tar.bz2", "", d )}' +SRC_URI_ACMND = '${@base_conditional("USE_AUDIO_OMX", "1", "file://RTM0AC0000XACMND30SL40C.tar.gz", "", d )}' +SRC_URI_AACLC = '${@base_conditional("USE_AACLCD_OMX", "1", "file://RTM0AC0000XAAACD30SL40C.tar.gz", "", d )}' +SRC_URI_AACPV2 = '${@base_conditional("USE_AACPV2D_OMX", "1", "file://RTM0AC0000XAAAPD30SL40C.tar.gz", "", d )}' +SRC_URI_MP3 = '${@base_conditional("USE_MP3D_OMX", "1", "file://RTM0AC0000XAMP3D30SL40C.tar.gz", "", d )}' +SRC_URI_AACLCE = '${@base_conditional("USE_AACLCE_OMX", "1", "file://RTM0AC0000XAAACE30SL40C.tar.gz", "", d )}' +SRC_URI_WMA = '${@base_conditional("USE_WMAD_OMX", "1", "file://RTM0AC0000XAWMAD30SL40C.tar.gz", "", d )}' +SRC_URI_ALACD = '${@base_conditional("USE_ALACD_OMX", "1", "file://RTM0AC0000XAALAD30SL40C.tar.gz", "", d )}' +SRC_URI_FLACD = '${@base_conditional("USE_FLACD_OMX", "1", "file://RTM0AC0000XAFLAD30SL40C.tar.gz", "", d )}' +SRC_URI_DDD = '${@base_conditional("USE_DDD_OMX", "1", "file://RTM0AC0000XADD5D30SL40C.tar.gz", "", d )}' +SRC_URI_AACMZ = '${@base_conditional("USE_AACLC_MDW", "1", "file://RTM0AC0000ADAACMZ1SL40C.tar.gz", "", d )}' +SRC_URI_AACPV2MZ = '${@base_conditional("USE_AACPV2_MDW", "1", "file://RTM0AC0000ADAAPMZ1SL40C.tar.gz", "", d )}' +SRC_URI_MP3MZ = '${@base_conditional("USE_MP3_MDW", "1", "file://RTM0AC0000ADMP3MZ1SL40C.tar.gz", "", d )}' +SRC_URI_WMAMZ = '${@base_conditional("USE_WMA_MDW", "1", "file://RTM0AC0000ADWMAMZ1SL40C.tar.gz", "", d )}' +SRC_URI_DDMZ = '${@base_conditional("USE_DD_MDW", "1", "file://RTM0AC0000ADDD5MZ1SL40C.tar.gz", "", d )}' +SRC_URI_AEAACMZ = '${@base_conditional("USE_AACLCE_MDW", "1", "file://RTM0AC0000AEAACMZ1SL40C.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 directory name +OMX_COMMON_SRC = '${@base_conditional("USE_OMX_COMMON", "1", "${OMX_EVA_PREFIX}RTM0AC0000XCMCTL30SL40C", "", d )}' +OMX_VIDEO_DEC_COMMON_SRC = '${@base_conditional("USE_VIDEO_DEC", "1", "${OMX_EVA_PREFIX}RTM0AC0000XVCMND30SL40C", "", d )}' +OMX_VIDEO_ENC_COMMON_SRC = '${@base_conditional("USE_VIDEO_ENC", "1", "${OMX_EVA_PREFIX}RTM0AC0000XVCMNE30SL40C", "", d )}' + +OMX_H263_DEC_SRC = '${@base_conditional("USE_H263D_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XV263D30SL40C", "", d )}' +OMX_H264_DEC_SRC = '${@base_conditional("USE_H264D_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XV264D30SL40C", "", d )}' +OMX_H264_ENC_SRC = '${@base_conditional("USE_H264E_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XV264E30SL40C", "", d )}' +OMX_H265_DEC_SRC = '${@base_conditional("USE_H265D_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XV265D30SL40C", "", d )}' +OMX_MPEG2_DEC_SRC = '${@base_conditional("USE_MPEG2D_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XVM2VD30SL40C", "", d )}' +OMX_MPEG4_DEC_SRC = '${@base_conditional("USE_MPEG4D_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XVM4VD30SL40C", "", d )}' +OMX_VC1_DEC_SRC = '${@base_conditional("USE_VC1D_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XVVC1D30SL40C", "", d )}' +OMX_DIVX_DEC_SRC = '${@base_conditional("USE_DIVXD_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XVDVXD30SL40C", "", d )}' +OMX_RV_DEC_SRC = '${@base_conditional("USE_RVD_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XVRLVD30SL40C", "", 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} \ +" + +AAC_MIDDLEWARE_SRC = "RTM0AC0000ADAACMZ1SL40C" +AACPV2_MIDDLEWARE_SRC = "RTM0AC0000ADAAPMZ1SL40C" +MP3_MIDDLEWARE_SRC = "RTM0AC0000ADMP3MZ1SL40C" +WMA_MIDDLEWARE_SRC = "RTM0AC0000ADWMAMZ1SL40C" +DD_MIDDLEWARE_SRC = "RTM0AC0000ADDD5MZ1SL40C" +AEAAC_MIDDLEWARE_SRC = "RTM0AC0000AEAACMZ1SL40C" + +OMX_AUDIO_COMMON_SRC = '${@base_conditional("USE_AUDIO_OMX", "1", "RTM0AC0000XACMND30SL40C", "", d )}' +OMX_AACLC_DEC_SRC = '${@base_conditional("USE_AACLCD_OMX", "1", "RTM0AC0000XAAACD30SL40C", "", d )}' +OMX_AACPV2_DEC_SRC = '${@base_conditional("USE_AACPV2D_OMX", "1", "RTM0AC0000XAAAPD30SL40C", "", d )}' +OMX_MP3_DEC_SRC = '${@base_conditional("USE_MP3D_OMX", "1", "RTM0AC0000XAMP3D30SL40C", "", d )}' +OMX_WMA_DEC_SRC = '${@base_conditional("USE_WMAD_OMX", "1", "RTM0AC0000XAWMAD30SL40C", "", d )}' +OMX_ALAC_DEC_SRC = '${@base_conditional("USE_ALACD_OMX", "1", "RTM0AC0000XAALAD30SL40C", "", d )}' +OMX_FLAC_DEC_SRC = '${@base_conditional("USE_FLACD_OMX", "1", "RTM0AC0000XAFLAD30SL40C", "", d )}' +OMX_DD_DEC_SRC = '${@base_conditional("USE_DDD_OMX", "1", "RTM0AC0000XADD5D30SL40C", "", d )}' +OMX_AACLC_ENC_SRC = '${@base_conditional("USE_AACLCE_OMX", "1", "RTM0AC0000XAAACE30SL40C", "", 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 +} + +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} += '${@base_conditional("USE_ALACD_OMX", "1", "libalacdla-l", "", d )}' +RDEPENDS_${PN} += '${@base_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/meta-rcar-gen3/recipes-multimedia/open-avb/open-avb_git.bb b/meta-rcar-gen3/recipes-multimedia/open-avb/open-avb_git.bb new file mode 100644 index 0000000..eeb3aa9 --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/open-avb/open-avb_git.bb @@ -0,0 +1,66 @@ +DESCRIPTION = "Open AVB - an AVnu sponsored repository for Audio/Video Bridging technology" +HOMEPAGE = "https://github.com/AVnu/Open-AVB" +LICENSE = "BSD & MIT & GPLv2 & LGPLv2" +LIC_FILES_CHKSUM = " \ + file://daemons/LICENSE;md5=81ccd62d4bc28bafc5e1a2576536b927 \ + file://kmod/igb/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://kmod/igb/LICENSE;md5=e2c0cd0820d168b0b26e19f13df4dc56 \ + file://lib/igb/LICENSE;md5=9bc783ca40be823a8b237df5eed80fc4 \ + file://lib/avtp_pipeline/LICENSE;md5=8f7b370a91d698ed80d2d20e8e01fbb6 \ + 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" + +PV = "1.1+git${SRCPV}" + +SRCREV = "bfa7f9d0c5c8ffe1c0248c6415b3f94e8b7f10c5" +SRC_URI = "git://github.com/AVnu/Open-AVB.git;branch=open-avb-next" + +S = "${WORKDIR}/git" + +EXTRA_OEMAKE = "'CC=${CC}' 'CXX=${CXX}'" + +do_compile() { + oe_runmake daemons_all +} + +do_install() { + install -d ${D}/${bindir} + install -m 755 daemons/maap/linux/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/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-gstreamer1.0-plugins.bb b/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-gstreamer1.0-plugins.bb new file mode 100644 index 0000000..4f76373 --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-gstreamer1.0-plugins.bb @@ -0,0 +1,85 @@ +SUMMARY = "GStreamer 1.0 package groups" +LICENSE = "MIT" + +require include/omx-control.inc + +DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good" +DEPENDS += "gstreamer1.0-plugins-bad" +DEPENDS += "gstreamer1.0-plugins-ugly" +DEPENDS += "${@base_conditional("USE_OMX_COMMON", "1", "gstreamer1.0-omx", "", d)}" + +LIC_FILES_CHKSUM = " \ + file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +PR = "r0" + +inherit packagegroup + +PACKAGES = " \ + packagegroup-gstreamer1.0-plugins \ + packagegroup-gstreamer1.0-plugins-base \ + packagegroup-gstreamer1.0-plugins-audio \ + packagegroup-gstreamer1.0-plugins-video \ + ${@base_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 \ + ${@base_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 \ + ${@base_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 = " \ + ${@base_conditional("USE_OMX_COMMON", "1", "gstreamer1.0-omx", "", d)} \ +" + +RDEPENDS_packagegroup-gstreamer1.0-plugins-debug = " \ + gstreamer1.0-meta-debug \ +" diff --git a/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-multimedia-kernel.bb b/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-multimedia-kernel.bb new file mode 100644 index 0000000..8d62972 --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-multimedia-kernel.bb @@ -0,0 +1,31 @@ +SUMMARY = "Multimedia kernel modules package groups" +LICENSE = "GPLv2 & MIT" + +require include/omx-control.inc + +DEPENDS = "kernel-module-mmngr kernel-module-mmngrbuf \ + kernel-module-vspm kernel-module-vspmif \ + kernel-module-vsp2driver \ +" + +DEPENDS += '${@base_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 += " \ + ${@base_conditional("USE_VIDEO_OMX", "1", "kernel-module-uvcs-drv", "", d )} \ +" diff --git a/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-multimedia-libs.bb b/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-multimedia-libs.bb new file mode 100644 index 0000000..323f6ae --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-multimedia-libs.bb @@ -0,0 +1,20 @@ +SUMMARY = "Multimedia user libraries modules package groups" +LICENSE = "MIT" + +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/meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif-tp-user-module.bb b/meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif-tp-user-module.bb new file mode 100644 index 0000000..a83d871 --- /dev/null +++ b/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} = " \ + ${@base_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/meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif-user-module.bb b/meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif-user-module.bb new file mode 100644 index 0000000..bf7fef6 --- /dev/null +++ b/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/meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif.inc b/meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif.inc new file mode 100644 index 0000000..5a37cf5 --- /dev/null +++ b/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 = "3d2c4c93e7d7b723722f4294d5e81339c06aa03a" + +SRC_URI = "${VSPMIF_LIB_URL};branch=${BRANCH}" + +# This module is machine specific. +PACKAGE_ARCH = "${MACHINE_ARCH}" diff --git a/meta-rcar-gen3/recipes-multimedia/webp/libwebp/disabled_arm_neon_for_0.5.1.diff b/meta-rcar-gen3/recipes-multimedia/webp/libwebp/disabled_arm_neon_for_0.5.1.diff new file mode 100644 index 0000000..e8523df --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/webp/libwebp/disabled_arm_neon_for_0.5.1.diff @@ -0,0 +1,13 @@ +diff --git a/src/dsp/dsp.h b/src/dsp/dsp.h +index 1faac27..8aae380 100644 +--- a/src/dsp/dsp.h ++++ b/src/dsp/dsp.h +@@ -77,7 +77,7 @@ extern "C" { + #if (defined(__ARM_NEON__) || defined(WEBP_ANDROID_NEON) || \ + defined(__aarch64__) || defined(WEBP_HAVE_NEON)) && \ + !defined(__native_client__) +-#define WEBP_USE_NEON ++//#define WEBP_USE_NEON + #endif + + #if defined(_MSC_VER) && _MSC_VER >= 1700 && defined(_M_ARM) diff --git a/meta-rcar-gen3/recipes-multimedia/webp/libwebp_%.bbappend b/meta-rcar-gen3/recipes-multimedia/webp/libwebp_%.bbappend new file mode 100644 index 0000000..9035026 --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/webp/libwebp_%.bbappend @@ -0,0 +1,5 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +# Add W/A patch for linaro gcc. +# This patch disabled neon. (undefined #WEBP_USE_NEON) +SRC_URI_append = " file://disabled_arm_neon_for_0.5.1.diff" |