diff options
Diffstat (limited to 'bsp/meta-renesas/meta-rcar-gen3/recipes-multimedia')
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}" |