From b23f918d92f4cd206371375e1d5e1011560cb1dd Mon Sep 17 00:00:00 2001 From: John Toomey Date: Thu, 9 May 2024 15:04:52 +0100 Subject: meta-xilinx-multimedia: Create new sublayer Create a new meta-xilinx-multimedia suplayer containing all of the multimedia related recipes including those for the Xilinx specific fork of GStreamer. Signed-off-by: John Toomey Signed-off-by: Mark Hatle (cherry picked from commit f90349628a71aef23d9781b2c30df10fce24904a) Signed-off-by: Mark Hatle --- README.md | 3 ++ .../gstreamer/gstreamer1.0-plugins-base_%.bbappend | 6 --- ....in-disable-tsched-system-timer-based-mod.patch | 31 ------------- .../pulseaudio/pulseaudio_%.bbappend | 7 --- .../vcu/files/99-vcu-enc-dec.rules | 10 ---- .../vcu/kernel-module-vcu_2024.1.bb | 38 ---------------- .../vcu/libvcu-ctrlsw_1.0.79-xilinx-v2024.1.bb | 45 ------------------ .../vcu/libvcu-omxil_1.1.2-xilinx-v2024.1.bb | 53 ---------------------- .../vcu/vcu-firmware_20240216-xilinx-v2024.1.bb | 41 ----------------- .../vdu/files/99-vdu-enc-dec.rules | 4 -- .../vdu/kernel-module-vdu_2024.1.bb | 34 -------------- .../vdu/libvdu-ctrlsw_1.0.79-xilinx-v2024.1.bb | 43 ------------------ .../vdu/libvdu-omxil_1.1.2-xilinx-v2024.1.bb | 49 -------------------- .../vdu/vdu-firmware_20240216-xilinx-v2024.1.bb | 38 ---------------- meta-xilinx-multimedia/conf/layer.conf | 15 ++++++ .../gstreamer-1.0/gst-shark_git.bbappend | 1 + .../gstreamer/gst-devtools_1.20.5.bbappend | 7 +++ .../gstreamer/gst-interpipes_v1.1.8.bb | 22 +++++++++ .../recipes-multimedia/gstreamer/gst-perf_1.0.bb | 20 ++++++++ .../gstreamer-multimedia-notebooks_0.1.inc | 8 ++++ .../gstreamer/gstreamer-vcu-examples_0.1.bb | 25 ++++++++++ .../gstreamer/gstreamer-vcu-notebooks_0.1.bb | 22 +++++++++ .../gstreamer/gstreamer-vdu-examples_0.1.bb | 25 ++++++++++ .../gstreamer/gstreamer-vdu-notebooks_0.1.bb | 22 +++++++++ .../gstreamer/gstreamer-xilinx-1.20.5.inc | 28 ++++++++++++ .../gstreamer/gstreamer1.0-libav_1.20.5.bbappend | 3 ++ .../gstreamer/gstreamer1.0-omx_1.20.5.bbappend | 27 +++++++++++ .../gstreamer1.0-plugins-bad_1.20.5.bbappend | 12 +++++ .../gstreamer/gstreamer1.0-plugins-base_%.bbappend | 6 +++ .../gstreamer1.0-plugins-base_1.20.5.bbappend | 11 +++++ .../gstreamer1.0-plugins-good_1.20.5.bbappend | 9 ++++ .../gstreamer1.0-plugins-ugly_1.20.5.bbappend | 3 ++ .../gstreamer/gstreamer1.0-python_1.20.5.bbappend | 4 ++ .../gstreamer1.0-rtsp-server_1.20.5.bbappend | 3 ++ .../gstreamer/gstreamer1.0-vaapi_1.20.5.bbappend | 3 ++ .../gstreamer/gstreamer1.0_1.20.5.bbappend | 14 ++++++ ....in-disable-tsched-system-timer-based-mod.patch | 31 +++++++++++++ .../pulseaudio/pulseaudio_%.bbappend | 7 +++ .../sample-content/bigbuckbunny-2160p30.bb | 16 +++++++ .../sample-content/bigbuckbunny-2160p60.bb | 16 +++++++ .../vcu/files/99-vcu-enc-dec.rules | 10 ++++ .../vcu/kernel-module-vcu_2024.1.bb | 38 ++++++++++++++++ .../vcu/libvcu-ctrlsw_1.0.79-xilinx-v2024.1.bb | 45 ++++++++++++++++++ .../vcu/libvcu-omxil_1.1.2-xilinx-v2024.1.bb | 53 ++++++++++++++++++++++ .../vcu/vcu-firmware_20240216-xilinx-v2024.1.bb | 41 +++++++++++++++++ .../vdu/files/99-vdu-enc-dec.rules | 4 ++ .../vdu/kernel-module-vdu_2024.1.bb | 34 ++++++++++++++ .../vdu/libvdu-ctrlsw_1.0.79-xilinx-v2024.1.bb | 43 ++++++++++++++++++ .../vdu/libvdu-omxil_1.1.2-xilinx-v2024.1.bb | 49 ++++++++++++++++++++ .../vdu/vdu-firmware_20240216-xilinx-v2024.1.bb | 38 ++++++++++++++++ 50 files changed, 718 insertions(+), 399 deletions(-) delete mode 100644 meta-xilinx-core/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend delete mode 100644 meta-xilinx-core/recipes-multimedia/pulseaudio/pulseaudio/0001-default.pai.in-disable-tsched-system-timer-based-mod.patch delete mode 100644 meta-xilinx-core/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend delete mode 100644 meta-xilinx-core/recipes-multimedia/vcu/files/99-vcu-enc-dec.rules delete mode 100644 meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb delete mode 100644 meta-xilinx-core/recipes-multimedia/vcu/libvcu-ctrlsw_1.0.79-xilinx-v2024.1.bb delete mode 100644 meta-xilinx-core/recipes-multimedia/vcu/libvcu-omxil_1.1.2-xilinx-v2024.1.bb delete mode 100644 meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_20240216-xilinx-v2024.1.bb delete mode 100644 meta-xilinx-core/recipes-multimedia/vdu/files/99-vdu-enc-dec.rules delete mode 100644 meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb delete mode 100644 meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_1.0.79-xilinx-v2024.1.bb delete mode 100644 meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_1.1.2-xilinx-v2024.1.bb delete mode 100644 meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_20240216-xilinx-v2024.1.bb create mode 100644 meta-xilinx-multimedia/conf/layer.conf create mode 100644 meta-xilinx-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_git.bbappend create mode 100644 meta-xilinx-multimedia/recipes-multimedia/gstreamer/gst-devtools_1.20.5.bbappend create mode 100644 meta-xilinx-multimedia/recipes-multimedia/gstreamer/gst-interpipes_v1.1.8.bb create mode 100644 meta-xilinx-multimedia/recipes-multimedia/gstreamer/gst-perf_1.0.bb create mode 100644 meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-multimedia-notebooks_0.1.inc create mode 100644 meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vcu-examples_0.1.bb create mode 100644 meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vcu-notebooks_0.1.bb create mode 100644 meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vdu-examples_0.1.bb create mode 100644 meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vdu-notebooks_0.1.bb create mode 100644 meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-xilinx-1.20.5.inc create mode 100644 meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.5.bbappend create mode 100644 meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.5.bbappend create mode 100644 meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.5.bbappend create mode 100644 meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend create mode 100644 meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.5.bbappend create mode 100644 meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.5.bbappend create mode 100644 meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.5.bbappend create mode 100644 meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.5.bbappend create mode 100644 meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.5.bbappend create mode 100644 meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.5.bbappend create mode 100644 meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0_1.20.5.bbappend create mode 100644 meta-xilinx-multimedia/recipes-multimedia/pulseaudio/pulseaudio/0001-default.pai.in-disable-tsched-system-timer-based-mod.patch create mode 100644 meta-xilinx-multimedia/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend create mode 100644 meta-xilinx-multimedia/recipes-multimedia/sample-content/bigbuckbunny-2160p30.bb create mode 100644 meta-xilinx-multimedia/recipes-multimedia/sample-content/bigbuckbunny-2160p60.bb create mode 100644 meta-xilinx-multimedia/recipes-multimedia/vcu/files/99-vcu-enc-dec.rules create mode 100644 meta-xilinx-multimedia/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb create mode 100644 meta-xilinx-multimedia/recipes-multimedia/vcu/libvcu-ctrlsw_1.0.79-xilinx-v2024.1.bb create mode 100644 meta-xilinx-multimedia/recipes-multimedia/vcu/libvcu-omxil_1.1.2-xilinx-v2024.1.bb create mode 100644 meta-xilinx-multimedia/recipes-multimedia/vcu/vcu-firmware_20240216-xilinx-v2024.1.bb create mode 100644 meta-xilinx-multimedia/recipes-multimedia/vdu/files/99-vdu-enc-dec.rules create mode 100644 meta-xilinx-multimedia/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb create mode 100644 meta-xilinx-multimedia/recipes-multimedia/vdu/libvdu-ctrlsw_1.0.79-xilinx-v2024.1.bb create mode 100644 meta-xilinx-multimedia/recipes-multimedia/vdu/libvdu-omxil_1.1.2-xilinx-v2024.1.bb create mode 100644 meta-xilinx-multimedia/recipes-multimedia/vdu/vdu-firmware_20240216-xilinx-v2024.1.bb diff --git a/README.md b/README.md index af63d4a0..428b8cad 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,9 @@ meta-xilinx-tools layer. configurations files, boot firmware, kernel configuration fragments, .scc files, device tree etc. +* **meta-xilinx-multimedia**: layer contains AMD Xilinx specific multimedia packages +including recipes for the fork of GStreamer. + > **See:** AMD Xilinx devices: https://www.xilinx.com/products/silicon-devices.html diff --git a/meta-xilinx-core/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend b/meta-xilinx-core/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend deleted file mode 100644 index 03823f6e..00000000 --- a/meta-xilinx-core/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend +++ /dev/null @@ -1,6 +0,0 @@ -# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific -DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" -MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" -MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" -PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" -PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'virtual/libgles1 virtual/libgles2 virtual/egl virtual/libgbm', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" diff --git a/meta-xilinx-core/recipes-multimedia/pulseaudio/pulseaudio/0001-default.pai.in-disable-tsched-system-timer-based-mod.patch b/meta-xilinx-core/recipes-multimedia/pulseaudio/pulseaudio/0001-default.pai.in-disable-tsched-system-timer-based-mod.patch deleted file mode 100644 index c7777360..00000000 --- a/meta-xilinx-core/recipes-multimedia/pulseaudio/pulseaudio/0001-default.pai.in-disable-tsched-system-timer-based-mod.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 059f28d8eae7a1ef237eccbaaa7493480f83b764 Mon Sep 17 00:00:00 2001 -From: Rohit Visavalia -Date: Fri, 2 Sep 2022 01:56:47 -0700 -Subject: [PATCH] default.pai.in: disable tsched (system-timer based model) - -With tsched enabled we see clicking noise on DisplayPort for initial 5 sec -every time audio is played. Disabling the same fixes the issue. - -Upstream-Status: Inappropriate [disable feature] - -Signed-off-by: Rohit Visavalia ---- - src/daemon/default.pa.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/daemon/default.pa.in b/src/daemon/default.pa.in -index a3ddad9..37af3f2 100755 ---- a/src/daemon/default.pa.in -+++ b/src/daemon/default.pa.in -@@ -55,7 +55,7 @@ ifelse(@HAVE_MKFIFO@, 1, [dnl - ### Automatically load driver modules depending on the hardware available - ifelse(@HAVE_UDEV@, 1, [dnl - .ifexists module-udev-detect@PA_SOEXT@ --load-module module-udev-detect -+load-module module-udev-detect tsched=0 - .else - ], @HAVE_COREAUDIO@, 1, [dnl - .ifexists module-coreaudio-detect@PA_SOEXT@ --- -2.17.1 - diff --git a/meta-xilinx-core/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend b/meta-xilinx-core/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend deleted file mode 100644 index 7aae4a3a..00000000 --- a/meta-xilinx-core/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend +++ /dev/null @@ -1,7 +0,0 @@ -# This change appears to only affect ZynqMP configurations -# but needs to be applied generically to all aarch64 since it affects a lot of -# dependencies. -FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" -SRC_URI:append = " \ - file://0001-default.pai.in-disable-tsched-system-timer-based-mod.patch \ - " diff --git a/meta-xilinx-core/recipes-multimedia/vcu/files/99-vcu-enc-dec.rules b/meta-xilinx-core/recipes-multimedia/vcu/files/99-vcu-enc-dec.rules deleted file mode 100644 index 1e0008a0..00000000 --- a/meta-xilinx-core/recipes-multimedia/vcu/files/99-vcu-enc-dec.rules +++ /dev/null @@ -1,10 +0,0 @@ -# Allegro VCU Encode, Decoder module drivers -SUBSYSTEM=="allegro_encode_class", KERNEL=="allegroIP", MODE="0660", GROUP="video" -SUBSYSTEM=="allegro_decode_class", KERNEL=="allegroDecodeIP", MODE="0660", GROUP="video" - -# Xilinx Video DMA driver -SUBSYSTEM=="char", KERNEL=="dmaproxy", MODE="0660", GROUP="video" - -# Xilinx SyncIP driver -SUBSYSTEM=="xlnxsync", KERNEL=="xlnxsync0", MODE="0660", GROUP="video" - diff --git a/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb deleted file mode 100644 index 2d3c3a89..00000000 --- a/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb +++ /dev/null @@ -1,38 +0,0 @@ -SUMMARY = "Linux kernel module for Video Code Unit" -DESCRIPTION = "Out-of-tree VCU decoder, encoder and common kernel modules provider for MPSoC EV devices" -SECTION = "kernel/modules" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a" - -PV .= "+git" - -S = "${WORKDIR}/git" - -FILESEXTRAPATHS:prepend := "${THISDIR}/files:" - -BRANCH = "xlnx_rel_v2024.1" -REPO = "git://github.com/Xilinx/vcu-modules.git;protocol=https" -SRCREV = "91d19a16308a438596138d30d8174e148fc45584" - -BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" -SRC_URI = " \ - ${REPO};${BRANCHARG} \ - file://99-vcu-enc-dec.rules \ - " - -inherit module features_check - -REQUIRED_MACHINE_FEATURES = "vcu" - -EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}" - -RDEPENDS:${PN} = "vcu-firmware" - -KERNEL_MODULE_AUTOLOAD += "dmaproxy" - -do_install:append() { - install -d ${D}${sysconfdir}/udev/rules.d - install -m 0644 ${WORKDIR}/99-vcu-enc-dec.rules ${D}${sysconfdir}/udev/rules.d/ -} - -FILES:${PN} = "${sysconfdir}/udev/rules.d/*" diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-ctrlsw_1.0.79-xilinx-v2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-ctrlsw_1.0.79-xilinx-v2024.1.bb deleted file mode 100644 index c968af52..00000000 --- a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-ctrlsw_1.0.79-xilinx-v2024.1.bb +++ /dev/null @@ -1,45 +0,0 @@ -SUMMARY = "Control Software for VCU" -DESCRIPTION = "Control software libraries, test applications and headers provider for VCU" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=002a0a92906100955ea6ed02dcd2c2cd" - -# Recipe has been renamed -PROVIDES += "libvcu-xlnx" - -PV .= "+git" - -BRANCH ?= "xlnx_rel_v2024.1" -REPO ?= "git://github.com/Xilinx/vcu-ctrl-sw.git;protocol=https" -SRCREV = "940f9fa933402de6f959911c236f36add5dd3a40" - -BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" -SRC_URI = "${REPO};${BRANCHARG}" - -S = "${WORKDIR}/git" - -inherit features_check - -REQUIRED_MACHINE_FEATURES = "vcu" - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -RDEPENDS:${PN} = "kernel-module-vcu" - -EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${CXXFLAGS}'" - -do_install() { - install -d ${D}${libdir} - install -d ${D}${includedir}/vcu-ctrl-sw/include - - oe_runmake install_headers INSTALL_HDR_PATH=${D}${includedir}/vcu-ctrl-sw/include INSTALL_PATH=${D}/${bindir} - oe_libinstall -C ${S}/bin/ -so liballegro_decode ${D}/${libdir}/ - oe_libinstall -C ${S}/bin/ -so liballegro_encode ${D}/${libdir}/ -} - -# These libraries shouldn't get installed in world builds unless something -# explicitly depends upon them. - -EXCLUDE_FROM_WORLD = "1" - -# Disable buildpaths QA check warnings. -INSANE_SKIP:${PN} += "buildpaths" diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-omxil_1.1.2-xilinx-v2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-omxil_1.1.2-xilinx-v2024.1.bb deleted file mode 100644 index 92ef7301..00000000 --- a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-omxil_1.1.2-xilinx-v2024.1.bb +++ /dev/null @@ -1,53 +0,0 @@ -SUMMARY = "OpenMAX Integration layer for VCU" -DESCRIPTION = "OMX IL Libraries,test applications and headers for VCU" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=002a0a92906100955ea6ed02dcd2c2cd" - -# Recipe has been renamed -PROVIDES += "libomxil-xlnx" - -# Version from core/core_version.mk -PV .= "+git" - -BRANCH ?= "xlnx_rel_v2024.1" -REPO ?= "git://github.com/Xilinx/vcu-omx-il.git;protocol=https" -SRCREV = "dc34204543b89997577bd2c9757b3c218e6caccc" - -BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" -SRC_URI = "${REPO};${BRANCHARG}" - -S = "${WORKDIR}/git" - -inherit features_check - -REQUIRED_MACHINE_FEATURES = "vcu" - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -DEPENDS = "libvcu-ctrlsw" -RDEPENDS:${PN} = "kernel-module-vcu libvcu-ctrlsw" - -EXTERNAL_INCLUDE="${STAGING_INCDIR}/vcu-ctrl-sw/include" - -EXTRA_OEMAKE = " \ - CC='${CC}' CXX='${CXX} ${CXXFLAGS}' \ - EXTERNAL_INCLUDE='${EXTERNAL_INCLUDE}' \ - " - -do_install() { - install -d ${D}${libdir} - install -d ${D}${includedir}/vcu-omx-il - - install -m 0644 ${S}/omx_header/*.h ${D}${includedir}/vcu-omx-il - - oe_runmake install INSTALL_PATH=${D}${bindir} - - oe_libinstall -C ${S}/bin/ -so libOMX.allegro.core ${D}/${libdir}/ - oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_decoder ${D}/${libdir}/ - oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_encoder ${D}/${libdir}/ -} - -# These libraries shouldn't get installed in world builds unless something -# explicitly depends upon them. - -EXCLUDE_FROM_WORLD = "1" diff --git a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_20240216-xilinx-v2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_20240216-xilinx-v2024.1.bb deleted file mode 100644 index f500ec36..00000000 --- a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_20240216-xilinx-v2024.1.bb +++ /dev/null @@ -1,41 +0,0 @@ -SUMMARY = "Firmware for VCU" -DESCRIPTION = "Firmware binaries provider for VCU" -LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=9bef8aa9d1eba8aca1b7dffdef500262" - -PV .= "+git" - -S = "${WORKDIR}/git" - -BRANCH ?= "xlnx_rel_v2024.1" -REPO ?= "git://github.com/Xilinx/vcu-firmware.git;protocol=https" -SRCREV = "6ee1998c53817ab0c137b8b99089337d5caba62c" - -BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" -SRC_URI = "${REPO};${BRANCHARG}" - -inherit features_check - -REQUIRED_MACHINE_FEATURES = "vcu" - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -do_compile[noexec] = "1" - -do_install() { - install -Dm 0644 ${S}/1.0.0/lib/firmware/al5d_b.fw ${D}${nonarch_base_libdir}/firmware/al5d_b.fw - install -Dm 0644 ${S}/1.0.0/lib/firmware/al5d.fw ${D}${nonarch_base_libdir}/firmware/al5d.fw - install -Dm 0644 ${S}/1.0.0/lib/firmware/al5e_b.fw ${D}${nonarch_base_libdir}/firmware/al5e_b.fw - install -Dm 0644 ${S}/1.0.0/lib/firmware/al5e.fw ${D}${nonarch_base_libdir}/firmware/al5e.fw -} - -# Inhibit warnings about files being stripped -INHIBIT_PACKAGE_DEBUG_SPLIT = "1" -INHIBIT_PACKAGE_STRIP = "1" -FILES:${PN} = "${nonarch_base_libdir}/firmware/*" - -# These libraries shouldn't get installed in world builds unless something -# explicitly depends upon them. -EXCLUDE_FROM_WORLD = "1" - -INSANE_SKIP:${PN} = "ldflags" diff --git a/meta-xilinx-core/recipes-multimedia/vdu/files/99-vdu-enc-dec.rules b/meta-xilinx-core/recipes-multimedia/vdu/files/99-vdu-enc-dec.rules deleted file mode 100644 index 78bb54f4..00000000 --- a/meta-xilinx-core/recipes-multimedia/vdu/files/99-vdu-enc-dec.rules +++ /dev/null @@ -1,4 +0,0 @@ -# Allegro VDU Encode, Decoder module drivers -SUBSYSTEM=="allegro_decode_class", KERNEL=="allegroDecodeIP[0-4]*", MODE="0660", GROUP="video", TAG+="uaccess" - - diff --git a/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb deleted file mode 100644 index 7f5fc367..00000000 --- a/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "Linux kernel module for Video Decode Unit" -DESCRIPTION = "Out-of-tree VDU decoder common kernel modules" -SECTION = "kernel/modules" -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a" - -PV .= "+git" - -S = "${WORKDIR}/git" -FILESEXTRAPATHS:prepend := "${THISDIR}/files:" - -BRANCH ?= "xlnx_rel_v2024.1" -REPO ?= "git://github.com/Xilinx/vdu-modules.git;protocol=https" -SRCREV ?= "25773344ce1e539e7136c5a30cdee98a6cf490a8" - -BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" -SRC_URI = "${REPO};${BRANCHARG} \ - file://99-vdu-enc-dec.rules \ -" - -inherit module features_check - -REQUIRED_MACHINE_FEATURES = "vdu" - -EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}" - -RDEPENDS:${PN} = "vdu-firmware" - -do_install:append() { - install -d ${D}${sysconfdir}/udev/rules.d - install -m 0644 ${WORKDIR}/99-vdu-enc-dec.rules ${D}${sysconfdir}/udev/rules.d/ -} - -FILES:${PN} = "${sysconfdir}/udev/rules.d/*" diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_1.0.79-xilinx-v2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_1.0.79-xilinx-v2024.1.bb deleted file mode 100644 index 7dfaf20b..00000000 --- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_1.0.79-xilinx-v2024.1.bb +++ /dev/null @@ -1,43 +0,0 @@ -SUMMARY = "Control Software for VDU" -DESCRIPTION = "Control software libraries, test applications and headers provider for VDU" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=002a0a92906100955ea6ed02dcd2c2cd" - -PV .= "+git" - -BRANCH ?= "xlnx_rel_v2024.1" -REPO ?= "git://github.com/Xilinx/vdu-ctrl-sw.git;protocol=https" -SRCREV ?= "fb8730a808b707bfb86d3d64881899214a951ff6" - -BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" -SRC_URI = "${REPO};${BRANCHARG}" - -S = "${WORKDIR}/git" -B = "${S}" - -inherit autotools features_check - -REQUIRED_MACHINE_FEATURES = "vdu" - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -RDEPENDS:${PN} = "kernel-module-vdu" - -do_compile[dirs] = "${S}" -do_install[dirs] = "${S}" - -EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${CXXFLAGS}'" -EXTRA_OEMAKE +=" INSTALL_HDR_PATH=${D}${includedir}/vdu-ctrl-sw/include INSTALL_PATH=${D}${bindir}" - -do_install:append() { - - oe_libinstall -C ${S}/bin/ -so liballegro_decode ${D}/${libdir}/ -} - -# These libraries shouldn't get installed in world builds unless something -# explicitly depends upon them. - -EXCLUDE_FROM_WORLD = "1" - -# Disable buildpaths QA check warnings. -INSANE_SKIP:${PN} += "buildpaths" diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_1.1.2-xilinx-v2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_1.1.2-xilinx-v2024.1.bb deleted file mode 100644 index 48a6c544..00000000 --- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_1.1.2-xilinx-v2024.1.bb +++ /dev/null @@ -1,49 +0,0 @@ -SUMMARY = "OpenMAX Integration layer for VDU" -DESCRIPTION = "OMX IL Libraries,test application and headers for VDU" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=002a0a92906100955ea6ed02dcd2c2cd" - -PV .= "+git" - -BRANCH ?= "xlnx_rel_v2024.1" -REPO ?= "git://github.com/Xilinx/vdu-omx-il.git;protocol=https" -SRCREV ?= "af9c6e8935799f4dcd579b0164dd05eb039b569d" - -BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" -SRC_URI = "${REPO};${BRANCHARG}" - -S = "${WORKDIR}/git" -B = "${WORKDIR}/git" - -inherit autotools features_check - -REQUIRED_MACHINE_FEATURES = "vdu" - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -DEPENDS = "libvdu-ctrlsw" -RDEPENDS:${PN} = "kernel-module-vdu libvdu-ctrlsw" - -EXTERNAL_INCLUDE="${STAGING_INCDIR}/vdu-ctrl-sw/include" - -do_compile[dirs] = "${S}" -do_install[dirs] = "${S}" - -EXTRA_OEMAKE = " \ - CC='${CC}' CXX='${CXX} ${CXXFLAGS}' \ - EXTERNAL_INCLUDE='${EXTERNAL_INCLUDE}' \ - INSTALL_PATH=${D}${bindir} \ - INCLUDE_INST_PATH=${D}${includedir} \ - " - -do_install:append() { - install -d ${D}${libdir} - - oe_libinstall -C ${S}/bin/ -so libOMX.allegro.core ${D}/${libdir}/ - oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_decoder ${D}/${libdir}/ -} - -# These libraries shouldn't get installed in world builds unless something -# explicitly depends upon them. - -EXCLUDE_FROM_WORLD = "1" diff --git a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_20240216-xilinx-v2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_20240216-xilinx-v2024.1.bb deleted file mode 100644 index c4330a3c..00000000 --- a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_20240216-xilinx-v2024.1.bb +++ /dev/null @@ -1,38 +0,0 @@ -SUMMARY = "Firmware for VDU" -DESCRIPTION = "Firmware binaries provider for VDU" -LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=722a9d20bf58ac06585a6d91ee36e60e" - -PV .= "+git" - -S = "${WORKDIR}/git" -B = "${S}" - -BRANCH ?= "xlnx_rel_v2024.1" -REPO ?= "git://github.com/Xilinx/vdu-firmware.git;protocol=https" -SRCREV ?= "724de80630edcb87d865d69f1a6c0dc61c3f9f12" - -BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" -SRC_URI = "${REPO};${BRANCHARG}" - -inherit autotools features_check - -REQUIRED_MACHINE_FEATURES = "vdu" - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -EXTRA_OEMAKE +="INSTALL_PATH=${D}/${nonarch_base_libdir}/firmware" - -do_compile[noexec] = "1" -do_install[dirs] = "${S}" - -# Inhibit warnings about files being stripped -INHIBIT_PACKAGE_DEBUG_SPLIT = "1" -INHIBIT_PACKAGE_STRIP = "1" -FILES:${PN} = "${nonarch_base_libdir}/firmware/*" - -# These libraries shouldn't get installed in world builds unless something -# explicitly depends upon them. -EXCLUDE_FROM_WORLD = "1" - -INSANE_SKIP:${PN} = "ldflags" diff --git a/meta-xilinx-multimedia/conf/layer.conf b/meta-xilinx-multimedia/conf/layer.conf new file mode 100644 index 00000000..0787f87c --- /dev/null +++ b/meta-xilinx-multimedia/conf/layer.conf @@ -0,0 +1,15 @@ +# We have a conf and classes directory, add to BBPATH +BBPATH .= ":${LAYERDIR}" + +# We have a packages directory, add to BBFILES +BBFILES += "${LAYERDIR}/recipes-*/*/*.bb" +BBFILES += "${LAYERDIR}/recipes-*/*/*.bbappend" + +BBFILE_COLLECTIONS += "xilinx-multimedia" +BBFILE_PATTERN_xilinx-multimedia = "^${LAYERDIR}/" +BBFILE_PRIORITY_xilinx-multimedia = "5" + +AYERDEPENDS_xilinx-multimedia = "core" +LAYERRECOMMENDS_xilinx-multimedia = "openembedded-layer" + +LAYERSERIES_COMPAT_xilinx-multimedia = "scarthgap" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_git.bbappend b/meta-xilinx-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_git.bbappend new file mode 100644 index 00000000..74bb243d --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_git.bbappend @@ -0,0 +1 @@ +DEPENDS += "pkgconfig-native" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gst-devtools_1.20.5.bbappend b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gst-devtools_1.20.5.bbappend new file mode 100644 index 00000000..13f7a700 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gst-devtools_1.20.5.bbappend @@ -0,0 +1,7 @@ +require gstreamer-xilinx-1.20.5.inc + +SRC_URI:append = " \ + file://0001-connect-has-a-different-signature-on-musl.patch \ +" + +S = "${WORKDIR}/git/subprojects/gst-devtools" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gst-interpipes_v1.1.8.bb b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gst-interpipes_v1.1.8.bb new file mode 100644 index 00000000..e1ee3328 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gst-interpipes_v1.1.8.bb @@ -0,0 +1,22 @@ +SUMMARY = "Gstreamer Interpipe 1.1.8" +DESCRIPTION = "GStreamer plug-in that allows communication between two independent pipelines" +HOMEPAGE = "https://developer.ridgerun.com/wiki/index.php?title=GstInterpipe" +SECTION = "multimedia" +LICENSE = "LGPL-2.1-only" + +LIC_FILES_CHKSUM = "file://COPYING;md5=3191ae9476980e87e3494d2d8ebe4584" + +DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gtk-doc-native" + +SRCBRANCH ?= "master" +# v1.1.8 Tag +SRCREV = "814982ecd735e42ff2d14ce7c43039c259ec928b" +SRC_URI = "gitsm://github.com/RidgeRun/gst-interpipe.git;protocol=https;branch=${SRCBRANCH}" + +S = "${WORKDIR}/git" + +FILES:${PN} += "${libdir}/gstreamer-1.0/libgstinterpipe.so" + +EXTRA_OEMESON = "-Denable-gtk-doc=false" + +inherit meson pkgconfig diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gst-perf_1.0.bb b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gst-perf_1.0.bb new file mode 100644 index 00000000..2e0aae64 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gst-perf_1.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "GStreamer Perf 1.0" +DESCRIPTION = "GStreamer element to measure fps and performance" +HOMEPAGE = "https://github.com/RidgeRun/gst-perf-autotools" +SECTION = "multimedia" +LICENSE = "LGPL-2.0-or-later" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=5f30f0716dfdd0d91eb439ebec522ec2" + +inherit autotools pkgconfig gettext + +DEPENDS += "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" + +SRCBRANCH ?= "master" +SRCREV ?= "d50ddc4a8c0dedd4f2de77d7f3f570548a1a0d76" +SRC_URI = "git://github.com/RidgeRun/gst-perf.git;protocol=https;branch=${SRCBRANCH}" + +S = "${WORKDIR}/git" + +FILES:${PN} += "${libdir}/gstreamer-1.0/libgstperf.so" + diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-multimedia-notebooks_0.1.inc b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-multimedia-notebooks_0.1.inc new file mode 100644 index 00000000..38e23371 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-multimedia-notebooks_0.1.inc @@ -0,0 +1,8 @@ +BRANCH ?= "xlnx_rel_v2024.1" +REPO ?= "git://github.com/Xilinx/multimedia-notebooks.git;protocol=https" +SRCREV ?= "ef7a7236144a04977cb5bb800d6d7cf319e52b58" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" +SRC_URI = "${REPO};${BRANCHARG}" + +PV .= "+git" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vcu-examples_0.1.bb b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vcu-examples_0.1.bb new file mode 100644 index 00000000..3741c4d4 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vcu-examples_0.1.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "Demo scripts to run common usecases involving VCU in ZynqMP" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=17e31b2e971eed6471a361c7dc4faa18" + +require gstreamer-multimedia-notebooks_0.1.inc + +S = "${WORKDIR}/git" + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "vcu" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +RDEPENDS:${PN} = "gstreamer1.0-omx gstreamer1.0-plugins-bad bash python3-pip alsa-utils matchbox-desktop" + +EXTRA_OEMAKE = 'D=${D} bindir=${bindir} datadir=${datadir}' + +do_install() { + oe_runmake -C ${S}/vcu install_vcu_examples +} + +# These libraries shouldn't get installed in world builds unless something +# explicitly depends upon them. + +EXCLUDE_FROM_WORLD = "1" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vcu-notebooks_0.1.bb b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vcu-notebooks_0.1.bb new file mode 100644 index 00000000..35510d6b --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vcu-notebooks_0.1.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "Jupyter notebook examples for VCU in ZynqMP-EV devices" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=17e31b2e971eed6471a361c7dc4faa18" + +inherit jupyter-examples + +require gstreamer-multimedia-notebooks_0.1.inc + +S = "${WORKDIR}/git" + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "vcu" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +RDEPENDS:${PN} = "packagegroup-petalinux-jupyter packagegroup-petalinux-gstreamer gstreamer-vcu-examples start-jupyter" + +EXTRA_OEMAKE = 'D=${D} JUPYTER_DIR=${JUPYTER_DIR}' + +do_install() { + oe_runmake -C ${S}/vcu install_vcu_notebooks +} diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vdu-examples_0.1.bb b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vdu-examples_0.1.bb new file mode 100644 index 00000000..8469412e --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vdu-examples_0.1.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "Demo scripts to run common usecases involving VDU in Versal" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=17e31b2e971eed6471a361c7dc4faa18" + +require gstreamer-multimedia-notebooks_0.1.inc + +S = "${WORKDIR}/git" + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "vdu" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +RDEPENDS:${PN} = "gstreamer1.0-omx gstreamer1.0-plugins-bad bash python3-pip alsa-utils" + +EXTRA_OEMAKE = 'D=${D} bindir=${bindir} datadir=${datadir}' + +do_install() { + oe_runmake -C ${S}/vdu install_vdu_examples +} + +# These libraries shouldn't get installed in world builds unless something +# explicitly depends upon them. + +EXCLUDE_FROM_WORLD = "1" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vdu-notebooks_0.1.bb b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vdu-notebooks_0.1.bb new file mode 100644 index 00000000..caca36bb --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vdu-notebooks_0.1.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "Jupyter notebook examples for VDU in Versal" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=17e31b2e971eed6471a361c7dc4faa18" + +inherit jupyter-examples + +require gstreamer-multimedia-notebooks_0.1.inc + +S = "${WORKDIR}/git" + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "vdu" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +RDEPENDS:${PN} = "packagegroup-petalinux-jupyter packagegroup-petalinux-gstreamer gstreamer-vdu-examples start-jupyter" + +EXTRA_OEMAKE = 'D=${D} JUPYTER_DIR=${JUPYTER_DIR}' + +do_install() { + oe_runmake -C ${S}/vdu install_vdu_notebooks +} diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-xilinx-1.20.5.inc b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-xilinx-1.20.5.inc new file mode 100644 index 00000000..04c025fc --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-xilinx-1.20.5.inc @@ -0,0 +1,28 @@ +BRANCH ?= "xlnx-rebase-v1.20.5" +REPO ?= "git://github.com/Xilinx/gstreamer.git;protocol=https" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" + +PV = "1.20.5+git" + +# We need a common PRSERV_PV_AUTOINC for all variations of gstreamer packages +# Need to inject a custom setting, so based on package.bbclass version +PACKAGE_ARCH:task-packagedata = "all" + +# However, if we change PACKAGE_ARCH in a task, it changes the WORKDIR and breaks things +# restore the WORKDIR's arch directory (MULTIMACH_TARGET_SYS) to the previous setting! +python() { + # Anonymous python runs before the task override is evaluated, so set the + # MULTIMACH_TARGET_SYS (used by WORKDIR) + d.setVar('MULTIMACH_TARGET_SYS', d.getVar('MULTIMACH_TARGET_SYS')) +} + +# Cause all of the variants to rebuild now that we have a common PV +PE = '1' + +SRC_URI = " \ + ${REPO};${BRANCHARG};name=gstreamer-xlnx \ +" + +SRCREV_gstreamer-xlnx = "5126254d77401b9673602ddcb617ff9e958dd295" +SRCREV_FORMAT = "gstreamer-xlnx" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.5.bbappend b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.5.bbappend new file mode 100644 index 00000000..180f25c2 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.5.bbappend @@ -0,0 +1,3 @@ +require gstreamer-xilinx-1.20.5.inc + +S = "${WORKDIR}/git/subprojects/gst-libav" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.5.bbappend b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.5.bbappend new file mode 100644 index 00000000..29049cae --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.5.bbappend @@ -0,0 +1,27 @@ +require gstreamer-xilinx-1.20.5.inc + +S = "${WORKDIR}/git/subprojects/gst-omx" + +RDEPENDS:${PN} .= "${@bb.utils.contains('MACHINE_FEATURES', 'vcu', ' libvcu-omxil', '', d)}" +DEPENDS .= "${@bb.utils.contains('MACHINE_FEATURES', 'vcu', ' libvcu-omxil', '', d)}" + +RDEPENDS:${PN} .= "${@bb.utils.contains('MACHINE_FEATURES', 'vdu', ' libvdu-omxil', '', d)}" +DEPENDS .= "${@bb.utils.contains('MACHINE_FEATURES', 'vdu', ' libvdu-omxil', '', d)}" + +EXTRA_OECONF .= "${@bb.utils.contains('MACHINE_FEATURES', 'vcu', ' --with-omx-header-path=${STAGING_INCDIR}/vcu-omx-il', '', d)}" +EXTRA_OEMESON .= "${@bb.utils.contains('MACHINE_FEATURES', 'vcu', ' -Dheader_path=${STAGING_INCDIR}/vcu-omx-il', '', d)}" + +EXTRA_OECONF .= "${@bb.utils.contains('MACHINE_FEATURES', 'vdu', ' --with-omx-header-path=${STAGING_INCDIR}/vdu-omx-il', '', d)}" +EXTRA_OEMESON .= "${@bb.utils.contains('MACHINE_FEATURES', 'vdu', ' -Dheader_path=${STAGING_INCDIR}/vdu-omx-il', '', d)}" + +DEFAULT_GSTREAMER_1_0_OMX_TARGET := "${GSTREAMER_1_0_OMX_TARGET}" +VCU_GSTREAMER_1_0_OMX_TARGET = "${@bb.utils.contains('MACHINE_FEATURES', 'vcu', 'zynqultrascaleplus', '${DEFAULT_GSTREAMER_1_0_OMX_TARGET}', d)}" +VDU_GSTREAMER_1_0_OMX_TARGET = "${@bb.utils.contains('MACHINE_FEATURES', 'vdu', 'versal', '${VCU_GSTREAMER_1_0_OMX_TARGET}', d)}" +GSTREAMER_1_0_OMX_TARGET = "${VDU_GSTREAMER_1_0_OMX_TARGET}" + +DEFAULT_GSTREAMER_1_0_OMX_CORE_NAME := "${GSTREAMER_1_0_OMX_CORE_NAME}" +GSTREAMER_1_0_OMX_CORE_NAME = "${@bb.utils.contains_any('MACHINE_FEATURES', 'vcu vdu', '${libdir}/libOMX.allegro.core.so.1', '${DEFAULT_GSTREAMER_1_0_OMX_CORE_NAME}', d)}" + +DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" +PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" +PACKAGE_ARCH = "${@bb.utils.contains_any('MACHINE_FEATURES', 'vcu vdu', '${MACHINE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.5.bbappend b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.5.bbappend new file mode 100644 index 00000000..7c503292 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.5.bbappend @@ -0,0 +1,12 @@ +require gstreamer-xilinx-1.20.5.inc + +SRC_URI:append = " \ + file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \ + file://0002-avoid-including-sys-poll.h-directly.patch \ + file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \ + " + +PACKAGECONFIG[mediasrcbin] = "-Dmediasrcbin=enabled,-Dmediasrcbin=disabled,media-ctl" +PACKAGECONFIG:append = " faac kms faad opusparse mediasrcbin" + +S = "${WORKDIR}/git/subprojects/gst-plugins-bad" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend new file mode 100644 index 00000000..03823f6e --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend @@ -0,0 +1,6 @@ +# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific +DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" +MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" +MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" +PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" +PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'virtual/libgles1 virtual/libgles2 virtual/egl virtual/libgbm', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.5.bbappend b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.5.bbappend new file mode 100644 index 00000000..18e43bca --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.5.bbappend @@ -0,0 +1,11 @@ +require gstreamer-xilinx-1.20.5.inc + +SRC_URI:append = " \ + file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \ + file://0003-viv-fb-Make-sure-config.h-is-included.patch \ + file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \ + " + +PACKAGECONFIG:append = " opus" + +S = "${WORKDIR}/git/subprojects/gst-plugins-base" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.5.bbappend b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.5.bbappend new file mode 100644 index 00000000..b5db44a6 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.5.bbappend @@ -0,0 +1,9 @@ +PACKAGECONFIG:append = " vpx" + +require gstreamer-xilinx-1.20.5.inc + +SRC_URI:append = " \ + file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \ + " + +S = "${WORKDIR}/git/subprojects/gst-plugins-good" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.5.bbappend b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.5.bbappend new file mode 100644 index 00000000..349efb29 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.5.bbappend @@ -0,0 +1,3 @@ +require gstreamer-xilinx-1.20.5.inc + +S = "${WORKDIR}/git/subprojects/gst-plugins-ugly" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.5.bbappend b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.5.bbappend new file mode 100644 index 00000000..11253676 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.5.bbappend @@ -0,0 +1,4 @@ +require gstreamer-xilinx-1.20.5.inc + +S = "${WORKDIR}/git/subprojects/gst-python" + diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.5.bbappend b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.5.bbappend new file mode 100644 index 00000000..a32f9d5b --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.5.bbappend @@ -0,0 +1,3 @@ +require gstreamer-xilinx-1.20.5.inc + +S = "${WORKDIR}/git/subprojects/gst-rtsp-server" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.5.bbappend b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.5.bbappend new file mode 100644 index 00000000..f468e94f --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.5.bbappend @@ -0,0 +1,3 @@ +require gstreamer-xilinx-1.20.5.inc + +S = "${WORKDIR}/git/subprojects/gstreamer-vaapi" diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0_1.20.5.bbappend b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0_1.20.5.bbappend new file mode 100644 index 00000000..d26d567b --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0_1.20.5.bbappend @@ -0,0 +1,14 @@ +require gstreamer-xilinx-1.20.5.inc + +SRC_URI:append = " \ + file://run-ptest \ + file://0001-tests-respect-the-idententaion-used-in-meson.patch;striplevel=3 \ + file://0002-tests-add-support-for-install-the-tests.patch;striplevel=3 \ + file://0003-tests-use-a-dictionaries-for-environment.patch;striplevel=3 \ + file://0004-tests-add-helper-script-to-run-the-installed_tests.patch;striplevel=3 \ + file://0005-bin-Fix-race-conditions-in-tests.patch;striplevel=3 \ + " + +PACKAGECONFIG:append = " tracer-hooks coretracers" + +S = "${WORKDIR}/git/subprojects/gstreamer" diff --git a/meta-xilinx-multimedia/recipes-multimedia/pulseaudio/pulseaudio/0001-default.pai.in-disable-tsched-system-timer-based-mod.patch b/meta-xilinx-multimedia/recipes-multimedia/pulseaudio/pulseaudio/0001-default.pai.in-disable-tsched-system-timer-based-mod.patch new file mode 100644 index 00000000..c7777360 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/pulseaudio/pulseaudio/0001-default.pai.in-disable-tsched-system-timer-based-mod.patch @@ -0,0 +1,31 @@ +From 059f28d8eae7a1ef237eccbaaa7493480f83b764 Mon Sep 17 00:00:00 2001 +From: Rohit Visavalia +Date: Fri, 2 Sep 2022 01:56:47 -0700 +Subject: [PATCH] default.pai.in: disable tsched (system-timer based model) + +With tsched enabled we see clicking noise on DisplayPort for initial 5 sec +every time audio is played. Disabling the same fixes the issue. + +Upstream-Status: Inappropriate [disable feature] + +Signed-off-by: Rohit Visavalia +--- + src/daemon/default.pa.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/daemon/default.pa.in b/src/daemon/default.pa.in +index a3ddad9..37af3f2 100755 +--- a/src/daemon/default.pa.in ++++ b/src/daemon/default.pa.in +@@ -55,7 +55,7 @@ ifelse(@HAVE_MKFIFO@, 1, [dnl + ### Automatically load driver modules depending on the hardware available + ifelse(@HAVE_UDEV@, 1, [dnl + .ifexists module-udev-detect@PA_SOEXT@ +-load-module module-udev-detect ++load-module module-udev-detect tsched=0 + .else + ], @HAVE_COREAUDIO@, 1, [dnl + .ifexists module-coreaudio-detect@PA_SOEXT@ +-- +2.17.1 + diff --git a/meta-xilinx-multimedia/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend b/meta-xilinx-multimedia/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend new file mode 100644 index 00000000..7aae4a3a --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend @@ -0,0 +1,7 @@ +# This change appears to only affect ZynqMP configurations +# but needs to be applied generically to all aarch64 since it affects a lot of +# dependencies. +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" +SRC_URI:append = " \ + file://0001-default.pai.in-disable-tsched-system-timer-based-mod.patch \ + " diff --git a/meta-xilinx-multimedia/recipes-multimedia/sample-content/bigbuckbunny-2160p30.bb b/meta-xilinx-multimedia/recipes-multimedia/sample-content/bigbuckbunny-2160p30.bb new file mode 100644 index 00000000..4729ea43 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/sample-content/bigbuckbunny-2160p30.bb @@ -0,0 +1,16 @@ +SUMMARY = "Big Buck Bunny Movie - 3840*2160@30fps" +LICENSE = "CC-BY-3.0" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7" + +SRC_URI = "http://ftp.nluug.nl/pub/graphics/blender/demo/movies/BBB/bbb_sunflower_2160p_30fps_normal.mp4" +SRC_URI[md5sum] = "fca22c88d7cf72c02df69a6157d2185b" +SRC_URI[sha256sum] = "37f0ff251a606c2dcfa26c19fe6bf843234b4e7a8889cfab50bc26f644e55520" + +inherit allarch + +do_install() { + install -d ${D}${datadir}/movies + install -m 0644 ${WORKDIR}/bbb_sunflower_2160p_30fps_normal.mp4 ${D}${datadir}/movies/ +} + +FILES:${PN} += "${datadir}/movies" diff --git a/meta-xilinx-multimedia/recipes-multimedia/sample-content/bigbuckbunny-2160p60.bb b/meta-xilinx-multimedia/recipes-multimedia/sample-content/bigbuckbunny-2160p60.bb new file mode 100644 index 00000000..c045e714 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/sample-content/bigbuckbunny-2160p60.bb @@ -0,0 +1,16 @@ +SUMMARY = "Big Buck Bunny Movie - 3840*2160@60fps" +LICENSE = "CC-BY-3.0" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7" + +SRC_URI = "http://ftp.nluug.nl/pub/graphics/blender/demo/movies/BBB/bbb_sunflower_2160p_60fps_normal.mp4" +SRC_URI[md5sum] = "fb20ba0a7f531eabb345a5abcce33d78" +SRC_URI[sha256sum] = "35db9a007021f1b0066993e1d2c4448c83a8b279f799c97d33cbba73980a8a36" + +inherit allarch + +do_install() { + install -d ${D}${datadir}/movies + install -m 0644 ${WORKDIR}/bbb_sunflower_2160p_60fps_normal.mp4 ${D}${datadir}/movies/ +} + +FILES:${PN} += "${datadir}/movies" diff --git a/meta-xilinx-multimedia/recipes-multimedia/vcu/files/99-vcu-enc-dec.rules b/meta-xilinx-multimedia/recipes-multimedia/vcu/files/99-vcu-enc-dec.rules new file mode 100644 index 00000000..1e0008a0 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/vcu/files/99-vcu-enc-dec.rules @@ -0,0 +1,10 @@ +# Allegro VCU Encode, Decoder module drivers +SUBSYSTEM=="allegro_encode_class", KERNEL=="allegroIP", MODE="0660", GROUP="video" +SUBSYSTEM=="allegro_decode_class", KERNEL=="allegroDecodeIP", MODE="0660", GROUP="video" + +# Xilinx Video DMA driver +SUBSYSTEM=="char", KERNEL=="dmaproxy", MODE="0660", GROUP="video" + +# Xilinx SyncIP driver +SUBSYSTEM=="xlnxsync", KERNEL=="xlnxsync0", MODE="0660", GROUP="video" + diff --git a/meta-xilinx-multimedia/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb b/meta-xilinx-multimedia/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb new file mode 100644 index 00000000..2d3c3a89 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb @@ -0,0 +1,38 @@ +SUMMARY = "Linux kernel module for Video Code Unit" +DESCRIPTION = "Out-of-tree VCU decoder, encoder and common kernel modules provider for MPSoC EV devices" +SECTION = "kernel/modules" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a" + +PV .= "+git" + +S = "${WORKDIR}/git" + +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +BRANCH = "xlnx_rel_v2024.1" +REPO = "git://github.com/Xilinx/vcu-modules.git;protocol=https" +SRCREV = "91d19a16308a438596138d30d8174e148fc45584" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = " \ + ${REPO};${BRANCHARG} \ + file://99-vcu-enc-dec.rules \ + " + +inherit module features_check + +REQUIRED_MACHINE_FEATURES = "vcu" + +EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}" + +RDEPENDS:${PN} = "vcu-firmware" + +KERNEL_MODULE_AUTOLOAD += "dmaproxy" + +do_install:append() { + install -d ${D}${sysconfdir}/udev/rules.d + install -m 0644 ${WORKDIR}/99-vcu-enc-dec.rules ${D}${sysconfdir}/udev/rules.d/ +} + +FILES:${PN} = "${sysconfdir}/udev/rules.d/*" diff --git a/meta-xilinx-multimedia/recipes-multimedia/vcu/libvcu-ctrlsw_1.0.79-xilinx-v2024.1.bb b/meta-xilinx-multimedia/recipes-multimedia/vcu/libvcu-ctrlsw_1.0.79-xilinx-v2024.1.bb new file mode 100644 index 00000000..c968af52 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/vcu/libvcu-ctrlsw_1.0.79-xilinx-v2024.1.bb @@ -0,0 +1,45 @@ +SUMMARY = "Control Software for VCU" +DESCRIPTION = "Control software libraries, test applications and headers provider for VCU" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=002a0a92906100955ea6ed02dcd2c2cd" + +# Recipe has been renamed +PROVIDES += "libvcu-xlnx" + +PV .= "+git" + +BRANCH ?= "xlnx_rel_v2024.1" +REPO ?= "git://github.com/Xilinx/vcu-ctrl-sw.git;protocol=https" +SRCREV = "940f9fa933402de6f959911c236f36add5dd3a40" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG}" + +S = "${WORKDIR}/git" + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "vcu" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +RDEPENDS:${PN} = "kernel-module-vcu" + +EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${CXXFLAGS}'" + +do_install() { + install -d ${D}${libdir} + install -d ${D}${includedir}/vcu-ctrl-sw/include + + oe_runmake install_headers INSTALL_HDR_PATH=${D}${includedir}/vcu-ctrl-sw/include INSTALL_PATH=${D}/${bindir} + oe_libinstall -C ${S}/bin/ -so liballegro_decode ${D}/${libdir}/ + oe_libinstall -C ${S}/bin/ -so liballegro_encode ${D}/${libdir}/ +} + +# These libraries shouldn't get installed in world builds unless something +# explicitly depends upon them. + +EXCLUDE_FROM_WORLD = "1" + +# Disable buildpaths QA check warnings. +INSANE_SKIP:${PN} += "buildpaths" diff --git a/meta-xilinx-multimedia/recipes-multimedia/vcu/libvcu-omxil_1.1.2-xilinx-v2024.1.bb b/meta-xilinx-multimedia/recipes-multimedia/vcu/libvcu-omxil_1.1.2-xilinx-v2024.1.bb new file mode 100644 index 00000000..92ef7301 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/vcu/libvcu-omxil_1.1.2-xilinx-v2024.1.bb @@ -0,0 +1,53 @@ +SUMMARY = "OpenMAX Integration layer for VCU" +DESCRIPTION = "OMX IL Libraries,test applications and headers for VCU" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=002a0a92906100955ea6ed02dcd2c2cd" + +# Recipe has been renamed +PROVIDES += "libomxil-xlnx" + +# Version from core/core_version.mk +PV .= "+git" + +BRANCH ?= "xlnx_rel_v2024.1" +REPO ?= "git://github.com/Xilinx/vcu-omx-il.git;protocol=https" +SRCREV = "dc34204543b89997577bd2c9757b3c218e6caccc" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG}" + +S = "${WORKDIR}/git" + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "vcu" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +DEPENDS = "libvcu-ctrlsw" +RDEPENDS:${PN} = "kernel-module-vcu libvcu-ctrlsw" + +EXTERNAL_INCLUDE="${STAGING_INCDIR}/vcu-ctrl-sw/include" + +EXTRA_OEMAKE = " \ + CC='${CC}' CXX='${CXX} ${CXXFLAGS}' \ + EXTERNAL_INCLUDE='${EXTERNAL_INCLUDE}' \ + " + +do_install() { + install -d ${D}${libdir} + install -d ${D}${includedir}/vcu-omx-il + + install -m 0644 ${S}/omx_header/*.h ${D}${includedir}/vcu-omx-il + + oe_runmake install INSTALL_PATH=${D}${bindir} + + oe_libinstall -C ${S}/bin/ -so libOMX.allegro.core ${D}/${libdir}/ + oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_decoder ${D}/${libdir}/ + oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_encoder ${D}/${libdir}/ +} + +# These libraries shouldn't get installed in world builds unless something +# explicitly depends upon them. + +EXCLUDE_FROM_WORLD = "1" diff --git a/meta-xilinx-multimedia/recipes-multimedia/vcu/vcu-firmware_20240216-xilinx-v2024.1.bb b/meta-xilinx-multimedia/recipes-multimedia/vcu/vcu-firmware_20240216-xilinx-v2024.1.bb new file mode 100644 index 00000000..f500ec36 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/vcu/vcu-firmware_20240216-xilinx-v2024.1.bb @@ -0,0 +1,41 @@ +SUMMARY = "Firmware for VCU" +DESCRIPTION = "Firmware binaries provider for VCU" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=9bef8aa9d1eba8aca1b7dffdef500262" + +PV .= "+git" + +S = "${WORKDIR}/git" + +BRANCH ?= "xlnx_rel_v2024.1" +REPO ?= "git://github.com/Xilinx/vcu-firmware.git;protocol=https" +SRCREV = "6ee1998c53817ab0c137b8b99089337d5caba62c" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG}" + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "vcu" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +do_compile[noexec] = "1" + +do_install() { + install -Dm 0644 ${S}/1.0.0/lib/firmware/al5d_b.fw ${D}${nonarch_base_libdir}/firmware/al5d_b.fw + install -Dm 0644 ${S}/1.0.0/lib/firmware/al5d.fw ${D}${nonarch_base_libdir}/firmware/al5d.fw + install -Dm 0644 ${S}/1.0.0/lib/firmware/al5e_b.fw ${D}${nonarch_base_libdir}/firmware/al5e_b.fw + install -Dm 0644 ${S}/1.0.0/lib/firmware/al5e.fw ${D}${nonarch_base_libdir}/firmware/al5e.fw +} + +# Inhibit warnings about files being stripped +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" +INHIBIT_PACKAGE_STRIP = "1" +FILES:${PN} = "${nonarch_base_libdir}/firmware/*" + +# These libraries shouldn't get installed in world builds unless something +# explicitly depends upon them. +EXCLUDE_FROM_WORLD = "1" + +INSANE_SKIP:${PN} = "ldflags" diff --git a/meta-xilinx-multimedia/recipes-multimedia/vdu/files/99-vdu-enc-dec.rules b/meta-xilinx-multimedia/recipes-multimedia/vdu/files/99-vdu-enc-dec.rules new file mode 100644 index 00000000..78bb54f4 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/vdu/files/99-vdu-enc-dec.rules @@ -0,0 +1,4 @@ +# Allegro VDU Encode, Decoder module drivers +SUBSYSTEM=="allegro_decode_class", KERNEL=="allegroDecodeIP[0-4]*", MODE="0660", GROUP="video", TAG+="uaccess" + + diff --git a/meta-xilinx-multimedia/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb b/meta-xilinx-multimedia/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb new file mode 100644 index 00000000..7f5fc367 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb @@ -0,0 +1,34 @@ +SUMMARY = "Linux kernel module for Video Decode Unit" +DESCRIPTION = "Out-of-tree VDU decoder common kernel modules" +SECTION = "kernel/modules" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a" + +PV .= "+git" + +S = "${WORKDIR}/git" +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +BRANCH ?= "xlnx_rel_v2024.1" +REPO ?= "git://github.com/Xilinx/vdu-modules.git;protocol=https" +SRCREV ?= "25773344ce1e539e7136c5a30cdee98a6cf490a8" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG} \ + file://99-vdu-enc-dec.rules \ +" + +inherit module features_check + +REQUIRED_MACHINE_FEATURES = "vdu" + +EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}" + +RDEPENDS:${PN} = "vdu-firmware" + +do_install:append() { + install -d ${D}${sysconfdir}/udev/rules.d + install -m 0644 ${WORKDIR}/99-vdu-enc-dec.rules ${D}${sysconfdir}/udev/rules.d/ +} + +FILES:${PN} = "${sysconfdir}/udev/rules.d/*" diff --git a/meta-xilinx-multimedia/recipes-multimedia/vdu/libvdu-ctrlsw_1.0.79-xilinx-v2024.1.bb b/meta-xilinx-multimedia/recipes-multimedia/vdu/libvdu-ctrlsw_1.0.79-xilinx-v2024.1.bb new file mode 100644 index 00000000..7dfaf20b --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/vdu/libvdu-ctrlsw_1.0.79-xilinx-v2024.1.bb @@ -0,0 +1,43 @@ +SUMMARY = "Control Software for VDU" +DESCRIPTION = "Control software libraries, test applications and headers provider for VDU" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=002a0a92906100955ea6ed02dcd2c2cd" + +PV .= "+git" + +BRANCH ?= "xlnx_rel_v2024.1" +REPO ?= "git://github.com/Xilinx/vdu-ctrl-sw.git;protocol=https" +SRCREV ?= "fb8730a808b707bfb86d3d64881899214a951ff6" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG}" + +S = "${WORKDIR}/git" +B = "${S}" + +inherit autotools features_check + +REQUIRED_MACHINE_FEATURES = "vdu" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +RDEPENDS:${PN} = "kernel-module-vdu" + +do_compile[dirs] = "${S}" +do_install[dirs] = "${S}" + +EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${CXXFLAGS}'" +EXTRA_OEMAKE +=" INSTALL_HDR_PATH=${D}${includedir}/vdu-ctrl-sw/include INSTALL_PATH=${D}${bindir}" + +do_install:append() { + + oe_libinstall -C ${S}/bin/ -so liballegro_decode ${D}/${libdir}/ +} + +# These libraries shouldn't get installed in world builds unless something +# explicitly depends upon them. + +EXCLUDE_FROM_WORLD = "1" + +# Disable buildpaths QA check warnings. +INSANE_SKIP:${PN} += "buildpaths" diff --git a/meta-xilinx-multimedia/recipes-multimedia/vdu/libvdu-omxil_1.1.2-xilinx-v2024.1.bb b/meta-xilinx-multimedia/recipes-multimedia/vdu/libvdu-omxil_1.1.2-xilinx-v2024.1.bb new file mode 100644 index 00000000..48a6c544 --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/vdu/libvdu-omxil_1.1.2-xilinx-v2024.1.bb @@ -0,0 +1,49 @@ +SUMMARY = "OpenMAX Integration layer for VDU" +DESCRIPTION = "OMX IL Libraries,test application and headers for VDU" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=002a0a92906100955ea6ed02dcd2c2cd" + +PV .= "+git" + +BRANCH ?= "xlnx_rel_v2024.1" +REPO ?= "git://github.com/Xilinx/vdu-omx-il.git;protocol=https" +SRCREV ?= "af9c6e8935799f4dcd579b0164dd05eb039b569d" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG}" + +S = "${WORKDIR}/git" +B = "${WORKDIR}/git" + +inherit autotools features_check + +REQUIRED_MACHINE_FEATURES = "vdu" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +DEPENDS = "libvdu-ctrlsw" +RDEPENDS:${PN} = "kernel-module-vdu libvdu-ctrlsw" + +EXTERNAL_INCLUDE="${STAGING_INCDIR}/vdu-ctrl-sw/include" + +do_compile[dirs] = "${S}" +do_install[dirs] = "${S}" + +EXTRA_OEMAKE = " \ + CC='${CC}' CXX='${CXX} ${CXXFLAGS}' \ + EXTERNAL_INCLUDE='${EXTERNAL_INCLUDE}' \ + INSTALL_PATH=${D}${bindir} \ + INCLUDE_INST_PATH=${D}${includedir} \ + " + +do_install:append() { + install -d ${D}${libdir} + + oe_libinstall -C ${S}/bin/ -so libOMX.allegro.core ${D}/${libdir}/ + oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_decoder ${D}/${libdir}/ +} + +# These libraries shouldn't get installed in world builds unless something +# explicitly depends upon them. + +EXCLUDE_FROM_WORLD = "1" diff --git a/meta-xilinx-multimedia/recipes-multimedia/vdu/vdu-firmware_20240216-xilinx-v2024.1.bb b/meta-xilinx-multimedia/recipes-multimedia/vdu/vdu-firmware_20240216-xilinx-v2024.1.bb new file mode 100644 index 00000000..c4330a3c --- /dev/null +++ b/meta-xilinx-multimedia/recipes-multimedia/vdu/vdu-firmware_20240216-xilinx-v2024.1.bb @@ -0,0 +1,38 @@ +SUMMARY = "Firmware for VDU" +DESCRIPTION = "Firmware binaries provider for VDU" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=722a9d20bf58ac06585a6d91ee36e60e" + +PV .= "+git" + +S = "${WORKDIR}/git" +B = "${S}" + +BRANCH ?= "xlnx_rel_v2024.1" +REPO ?= "git://github.com/Xilinx/vdu-firmware.git;protocol=https" +SRCREV ?= "724de80630edcb87d865d69f1a6c0dc61c3f9f12" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG}" + +inherit autotools features_check + +REQUIRED_MACHINE_FEATURES = "vdu" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +EXTRA_OEMAKE +="INSTALL_PATH=${D}/${nonarch_base_libdir}/firmware" + +do_compile[noexec] = "1" +do_install[dirs] = "${S}" + +# Inhibit warnings about files being stripped +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" +INHIBIT_PACKAGE_STRIP = "1" +FILES:${PN} = "${nonarch_base_libdir}/firmware/*" + +# These libraries shouldn't get installed in world builds unless something +# explicitly depends upon them. +EXCLUDE_FROM_WORLD = "1" + +INSANE_SKIP:${PN} = "ldflags" -- cgit v1.2.3-54-g00ecf