summaryrefslogtreecommitdiffstats
path: root/meta-xilinx-multimedia
diff options
context:
space:
mode:
authorJohn Toomey <john.toomey@amd.com>2024-05-09 15:04:52 +0100
committerMark Hatle <mark.hatle@amd.com>2024-05-22 20:20:11 -0500
commitdfe8c369bbfc268fdfb2ea9590a9210c2c94b93f (patch)
tree81394ae8f264798ee865a0c4b576fcd4f7163551 /meta-xilinx-multimedia
parent79e8533be34523cd99a24fe80d47dd996cff65e5 (diff)
downloadmeta-xilinx-dfe8c369bbfc268fdfb2ea9590a9210c2c94b93f.tar.gz
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 <john.toomey@amd.com> Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Diffstat (limited to 'meta-xilinx-multimedia')
-rw-r--r--meta-xilinx-multimedia/conf/layer.conf15
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_git.bbappend1
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/gstreamer/gst-devtools_1.20.5.bbappend7
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/gstreamer/gst-interpipes_v1.1.8.bb22
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/gstreamer/gst-perf_1.0.bb20
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-multimedia-notebooks_0.1.inc8
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vcu-examples_0.1.bb25
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vcu-notebooks_0.1.bb22
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vdu-examples_0.1.bb25
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-vdu-notebooks_0.1.bb22
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer-xilinx-1.20.5.inc28
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.5.bbappend3
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.5.bbappend27
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.5.bbappend12
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend6
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.5.bbappend11
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.5.bbappend9
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.5.bbappend3
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.5.bbappend4
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.5.bbappend3
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.5.bbappend3
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0_1.20.5.bbappend14
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/pulseaudio/pulseaudio/0001-default.pai.in-disable-tsched-system-timer-based-mod.patch31
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend7
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/sample-content/bigbuckbunny-2160p30.bb16
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/sample-content/bigbuckbunny-2160p60.bb16
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/vcu/files/99-vcu-enc-dec.rules10
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb38
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/vcu/libvcu-ctrlsw_1.0.79-xilinx-v2024.1.bb45
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/vcu/libvcu-omxil_1.1.2-xilinx-v2024.1.bb53
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/vcu/vcu-firmware_20240216-xilinx-v2024.1.bb41
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/vdu/files/99-vdu-enc-dec.rules4
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb34
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/vdu/libvdu-ctrlsw_1.0.79-xilinx-v2024.1.bb43
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/vdu/libvdu-omxil_1.1.2-xilinx-v2024.1.bb49
-rw-r--r--meta-xilinx-multimedia/recipes-multimedia/vdu/vdu-firmware_20240216-xilinx-v2024.1.bb38
36 files changed, 715 insertions, 0 deletions
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 @@
1# We have a conf and classes directory, add to BBPATH
2BBPATH .= ":${LAYERDIR}"
3
4# We have a packages directory, add to BBFILES
5BBFILES += "${LAYERDIR}/recipes-*/*/*.bb"
6BBFILES += "${LAYERDIR}/recipes-*/*/*.bbappend"
7
8BBFILE_COLLECTIONS += "xilinx-multimedia"
9BBFILE_PATTERN_xilinx-multimedia = "^${LAYERDIR}/"
10BBFILE_PRIORITY_xilinx-multimedia = "5"
11
12AYERDEPENDS_xilinx-multimedia = "core"
13LAYERRECOMMENDS_xilinx-multimedia = "openembedded-layer"
14
15LAYERSERIES_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 @@
1require gstreamer-xilinx-1.20.5.inc
2
3SRC_URI:append = " \
4 file://0001-connect-has-a-different-signature-on-musl.patch \
5"
6
7S = "${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 @@
1SUMMARY = "Gstreamer Interpipe 1.1.8"
2DESCRIPTION = "GStreamer plug-in that allows communication between two independent pipelines"
3HOMEPAGE = "https://developer.ridgerun.com/wiki/index.php?title=GstInterpipe"
4SECTION = "multimedia"
5LICENSE = "LGPL-2.1-only"
6
7LIC_FILES_CHKSUM = "file://COPYING;md5=3191ae9476980e87e3494d2d8ebe4584"
8
9DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gtk-doc-native"
10
11SRCBRANCH ?= "master"
12# v1.1.8 Tag
13SRCREV = "814982ecd735e42ff2d14ce7c43039c259ec928b"
14SRC_URI = "gitsm://github.com/RidgeRun/gst-interpipe.git;protocol=https;branch=${SRCBRANCH}"
15
16S = "${WORKDIR}/git"
17
18FILES:${PN} += "${libdir}/gstreamer-1.0/libgstinterpipe.so"
19
20EXTRA_OEMESON = "-Denable-gtk-doc=false"
21
22inherit 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 @@
1SUMMARY = "GStreamer Perf 1.0"
2DESCRIPTION = "GStreamer element to measure fps and performance"
3HOMEPAGE = "https://github.com/RidgeRun/gst-perf-autotools"
4SECTION = "multimedia"
5LICENSE = "LGPL-2.0-or-later"
6
7LIC_FILES_CHKSUM = "file://LICENSE;md5=5f30f0716dfdd0d91eb439ebec522ec2"
8
9inherit autotools pkgconfig gettext
10
11DEPENDS += "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
12
13SRCBRANCH ?= "master"
14SRCREV ?= "d50ddc4a8c0dedd4f2de77d7f3f570548a1a0d76"
15SRC_URI = "git://github.com/RidgeRun/gst-perf.git;protocol=https;branch=${SRCBRANCH}"
16
17S = "${WORKDIR}/git"
18
19FILES:${PN} += "${libdir}/gstreamer-1.0/libgstperf.so"
20
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 @@
1BRANCH ?= "xlnx_rel_v2024.1"
2REPO ?= "git://github.com/Xilinx/multimedia-notebooks.git;protocol=https"
3SRCREV ?= "ef7a7236144a04977cb5bb800d6d7cf319e52b58"
4
5BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}"
6SRC_URI = "${REPO};${BRANCHARG}"
7
8PV .= "+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 @@
1DESCRIPTION = "Demo scripts to run common usecases involving VCU in ZynqMP"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://LICENSE.md;md5=17e31b2e971eed6471a361c7dc4faa18"
4
5require gstreamer-multimedia-notebooks_0.1.inc
6
7S = "${WORKDIR}/git"
8
9inherit features_check
10
11REQUIRED_MACHINE_FEATURES = "vcu"
12PACKAGE_ARCH = "${MACHINE_ARCH}"
13
14RDEPENDS:${PN} = "gstreamer1.0-omx gstreamer1.0-plugins-bad bash python3-pip alsa-utils matchbox-desktop"
15
16EXTRA_OEMAKE = 'D=${D} bindir=${bindir} datadir=${datadir}'
17
18do_install() {
19 oe_runmake -C ${S}/vcu install_vcu_examples
20}
21
22# These libraries shouldn't get installed in world builds unless something
23# explicitly depends upon them.
24
25EXCLUDE_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 @@
1DESCRIPTION = "Jupyter notebook examples for VCU in ZynqMP-EV devices"
2LICENSE = "BSD-3-Clause"
3LIC_FILES_CHKSUM = "file://LICENSE.md;md5=17e31b2e971eed6471a361c7dc4faa18"
4
5inherit jupyter-examples
6
7require gstreamer-multimedia-notebooks_0.1.inc
8
9S = "${WORKDIR}/git"
10
11inherit features_check
12
13REQUIRED_MACHINE_FEATURES = "vcu"
14PACKAGE_ARCH = "${MACHINE_ARCH}"
15
16RDEPENDS:${PN} = "packagegroup-petalinux-jupyter packagegroup-petalinux-gstreamer gstreamer-vcu-examples start-jupyter"
17
18EXTRA_OEMAKE = 'D=${D} JUPYTER_DIR=${JUPYTER_DIR}'
19
20do_install() {
21 oe_runmake -C ${S}/vcu install_vcu_notebooks
22}
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 @@
1DESCRIPTION = "Demo scripts to run common usecases involving VDU in Versal"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://LICENSE.md;md5=17e31b2e971eed6471a361c7dc4faa18"
4
5require gstreamer-multimedia-notebooks_0.1.inc
6
7S = "${WORKDIR}/git"
8
9inherit features_check
10
11REQUIRED_MACHINE_FEATURES = "vdu"
12PACKAGE_ARCH = "${MACHINE_ARCH}"
13
14RDEPENDS:${PN} = "gstreamer1.0-omx gstreamer1.0-plugins-bad bash python3-pip alsa-utils"
15
16EXTRA_OEMAKE = 'D=${D} bindir=${bindir} datadir=${datadir}'
17
18do_install() {
19 oe_runmake -C ${S}/vdu install_vdu_examples
20}
21
22# These libraries shouldn't get installed in world builds unless something
23# explicitly depends upon them.
24
25EXCLUDE_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 @@
1DESCRIPTION = "Jupyter notebook examples for VDU in Versal"
2LICENSE = "BSD-3-Clause"
3LIC_FILES_CHKSUM = "file://LICENSE.md;md5=17e31b2e971eed6471a361c7dc4faa18"
4
5inherit jupyter-examples
6
7require gstreamer-multimedia-notebooks_0.1.inc
8
9S = "${WORKDIR}/git"
10
11inherit features_check
12
13REQUIRED_MACHINE_FEATURES = "vdu"
14PACKAGE_ARCH = "${MACHINE_ARCH}"
15
16RDEPENDS:${PN} = "packagegroup-petalinux-jupyter packagegroup-petalinux-gstreamer gstreamer-vdu-examples start-jupyter"
17
18EXTRA_OEMAKE = 'D=${D} JUPYTER_DIR=${JUPYTER_DIR}'
19
20do_install() {
21 oe_runmake -C ${S}/vdu install_vdu_notebooks
22}
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 @@
1BRANCH ?= "xlnx-rebase-v1.20.5"
2REPO ?= "git://github.com/Xilinx/gstreamer.git;protocol=https"
3
4BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}"
5
6PV = "1.20.5+git"
7
8# We need a common PRSERV_PV_AUTOINC for all variations of gstreamer packages
9# Need to inject a custom setting, so based on package.bbclass version
10PACKAGE_ARCH:task-packagedata = "all"
11
12# However, if we change PACKAGE_ARCH in a task, it changes the WORKDIR and breaks things
13# restore the WORKDIR's arch directory (MULTIMACH_TARGET_SYS) to the previous setting!
14python() {
15 # Anonymous python runs before the task override is evaluated, so set the
16 # MULTIMACH_TARGET_SYS (used by WORKDIR)
17 d.setVar('MULTIMACH_TARGET_SYS', d.getVar('MULTIMACH_TARGET_SYS'))
18}
19
20# Cause all of the variants to rebuild now that we have a common PV
21PE = '1'
22
23SRC_URI = " \
24 ${REPO};${BRANCHARG};name=gstreamer-xlnx \
25"
26
27SRCREV_gstreamer-xlnx = "5126254d77401b9673602ddcb617ff9e958dd295"
28SRCREV_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 @@
1require gstreamer-xilinx-1.20.5.inc
2
3S = "${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 @@
1require gstreamer-xilinx-1.20.5.inc
2
3S = "${WORKDIR}/git/subprojects/gst-omx"
4
5RDEPENDS:${PN} .= "${@bb.utils.contains('MACHINE_FEATURES', 'vcu', ' libvcu-omxil', '', d)}"
6DEPENDS .= "${@bb.utils.contains('MACHINE_FEATURES', 'vcu', ' libvcu-omxil', '', d)}"
7
8RDEPENDS:${PN} .= "${@bb.utils.contains('MACHINE_FEATURES', 'vdu', ' libvdu-omxil', '', d)}"
9DEPENDS .= "${@bb.utils.contains('MACHINE_FEATURES', 'vdu', ' libvdu-omxil', '', d)}"
10
11EXTRA_OECONF .= "${@bb.utils.contains('MACHINE_FEATURES', 'vcu', ' --with-omx-header-path=${STAGING_INCDIR}/vcu-omx-il', '', d)}"
12EXTRA_OEMESON .= "${@bb.utils.contains('MACHINE_FEATURES', 'vcu', ' -Dheader_path=${STAGING_INCDIR}/vcu-omx-il', '', d)}"
13
14EXTRA_OECONF .= "${@bb.utils.contains('MACHINE_FEATURES', 'vdu', ' --with-omx-header-path=${STAGING_INCDIR}/vdu-omx-il', '', d)}"
15EXTRA_OEMESON .= "${@bb.utils.contains('MACHINE_FEATURES', 'vdu', ' -Dheader_path=${STAGING_INCDIR}/vdu-omx-il', '', d)}"
16
17DEFAULT_GSTREAMER_1_0_OMX_TARGET := "${GSTREAMER_1_0_OMX_TARGET}"
18VCU_GSTREAMER_1_0_OMX_TARGET = "${@bb.utils.contains('MACHINE_FEATURES', 'vcu', 'zynqultrascaleplus', '${DEFAULT_GSTREAMER_1_0_OMX_TARGET}', d)}"
19VDU_GSTREAMER_1_0_OMX_TARGET = "${@bb.utils.contains('MACHINE_FEATURES', 'vdu', 'versal', '${VCU_GSTREAMER_1_0_OMX_TARGET}', d)}"
20GSTREAMER_1_0_OMX_TARGET = "${VDU_GSTREAMER_1_0_OMX_TARGET}"
21
22DEFAULT_GSTREAMER_1_0_OMX_CORE_NAME := "${GSTREAMER_1_0_OMX_CORE_NAME}"
23GSTREAMER_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)}"
24
25DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}"
26PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH"
27PACKAGE_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 @@
1require gstreamer-xilinx-1.20.5.inc
2
3SRC_URI:append = " \
4 file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \
5 file://0002-avoid-including-sys-poll.h-directly.patch \
6 file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
7 "
8
9PACKAGECONFIG[mediasrcbin] = "-Dmediasrcbin=enabled,-Dmediasrcbin=disabled,media-ctl"
10PACKAGECONFIG:append = " faac kms faad opusparse mediasrcbin"
11
12S = "${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 @@
1# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific
2DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}"
3MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH"
4MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}"
5PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH"
6PACKAGE_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 @@
1require gstreamer-xilinx-1.20.5.inc
2
3SRC_URI:append = " \
4 file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \
5 file://0003-viv-fb-Make-sure-config.h-is-included.patch \
6 file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \
7 "
8
9PACKAGECONFIG:append = " opus"
10
11S = "${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 @@
1PACKAGECONFIG:append = " vpx"
2
3require gstreamer-xilinx-1.20.5.inc
4
5SRC_URI:append = " \
6 file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \
7 "
8
9S = "${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 @@
1require gstreamer-xilinx-1.20.5.inc
2
3S = "${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 @@
1require gstreamer-xilinx-1.20.5.inc
2
3S = "${WORKDIR}/git/subprojects/gst-python"
4
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 @@
1require gstreamer-xilinx-1.20.5.inc
2
3S = "${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 @@
1require gstreamer-xilinx-1.20.5.inc
2
3S = "${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 @@
1require gstreamer-xilinx-1.20.5.inc
2
3SRC_URI:append = " \
4 file://run-ptest \
5 file://0001-tests-respect-the-idententaion-used-in-meson.patch;striplevel=3 \
6 file://0002-tests-add-support-for-install-the-tests.patch;striplevel=3 \
7 file://0003-tests-use-a-dictionaries-for-environment.patch;striplevel=3 \
8 file://0004-tests-add-helper-script-to-run-the-installed_tests.patch;striplevel=3 \
9 file://0005-bin-Fix-race-conditions-in-tests.patch;striplevel=3 \
10 "
11
12PACKAGECONFIG:append = " tracer-hooks coretracers"
13
14S = "${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 @@
1From 059f28d8eae7a1ef237eccbaaa7493480f83b764 Mon Sep 17 00:00:00 2001
2From: Rohit Visavalia <rohit.visavalia@xilinx.com>
3Date: Fri, 2 Sep 2022 01:56:47 -0700
4Subject: [PATCH] default.pai.in: disable tsched (system-timer based model)
5
6With tsched enabled we see clicking noise on DisplayPort for initial 5 sec
7every time audio is played. Disabling the same fixes the issue.
8
9Upstream-Status: Inappropriate [disable feature]
10
11Signed-off-by: Rohit Visavalia <rohit.visavalia@xilinx.com>
12---
13 src/daemon/default.pa.in | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/src/daemon/default.pa.in b/src/daemon/default.pa.in
17index a3ddad9..37af3f2 100755
18--- a/src/daemon/default.pa.in
19+++ b/src/daemon/default.pa.in
20@@ -55,7 +55,7 @@ ifelse(@HAVE_MKFIFO@, 1, [dnl
21 ### Automatically load driver modules depending on the hardware available
22 ifelse(@HAVE_UDEV@, 1, [dnl
23 .ifexists module-udev-detect@PA_SOEXT@
24-load-module module-udev-detect
25+load-module module-udev-detect tsched=0
26 .else
27 ], @HAVE_COREAUDIO@, 1, [dnl
28 .ifexists module-coreaudio-detect@PA_SOEXT@
29--
302.17.1
31
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 @@
1# This change appears to only affect ZynqMP configurations
2# but needs to be applied generically to all aarch64 since it affects a lot of
3# dependencies.
4FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
5SRC_URI:append = " \
6 file://0001-default.pai.in-disable-tsched-system-timer-based-mod.patch \
7 "
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 @@
1SUMMARY = "Big Buck Bunny Movie - 3840*2160@30fps"
2LICENSE = "CC-BY-3.0"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7"
4
5SRC_URI = "http://ftp.nluug.nl/pub/graphics/blender/demo/movies/BBB/bbb_sunflower_2160p_30fps_normal.mp4"
6SRC_URI[md5sum] = "fca22c88d7cf72c02df69a6157d2185b"
7SRC_URI[sha256sum] = "37f0ff251a606c2dcfa26c19fe6bf843234b4e7a8889cfab50bc26f644e55520"
8
9inherit allarch
10
11do_install() {
12 install -d ${D}${datadir}/movies
13 install -m 0644 ${WORKDIR}/bbb_sunflower_2160p_30fps_normal.mp4 ${D}${datadir}/movies/
14}
15
16FILES:${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 @@
1SUMMARY = "Big Buck Bunny Movie - 3840*2160@60fps"
2LICENSE = "CC-BY-3.0"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7"
4
5SRC_URI = "http://ftp.nluug.nl/pub/graphics/blender/demo/movies/BBB/bbb_sunflower_2160p_60fps_normal.mp4"
6SRC_URI[md5sum] = "fb20ba0a7f531eabb345a5abcce33d78"
7SRC_URI[sha256sum] = "35db9a007021f1b0066993e1d2c4448c83a8b279f799c97d33cbba73980a8a36"
8
9inherit allarch
10
11do_install() {
12 install -d ${D}${datadir}/movies
13 install -m 0644 ${WORKDIR}/bbb_sunflower_2160p_60fps_normal.mp4 ${D}${datadir}/movies/
14}
15
16FILES:${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 @@
1# Allegro VCU Encode, Decoder module drivers
2SUBSYSTEM=="allegro_encode_class", KERNEL=="allegroIP", MODE="0660", GROUP="video"
3SUBSYSTEM=="allegro_decode_class", KERNEL=="allegroDecodeIP", MODE="0660", GROUP="video"
4
5# Xilinx Video DMA driver
6SUBSYSTEM=="char", KERNEL=="dmaproxy", MODE="0660", GROUP="video"
7
8# Xilinx SyncIP driver
9SUBSYSTEM=="xlnxsync", KERNEL=="xlnxsync0", MODE="0660", GROUP="video"
10
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 @@
1SUMMARY = "Linux kernel module for Video Code Unit"
2DESCRIPTION = "Out-of-tree VCU decoder, encoder and common kernel modules provider for MPSoC EV devices"
3SECTION = "kernel/modules"
4LICENSE = "GPL-2.0-or-later"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a"
6
7PV .= "+git"
8
9S = "${WORKDIR}/git"
10
11FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
12
13BRANCH = "xlnx_rel_v2024.1"
14REPO = "git://github.com/Xilinx/vcu-modules.git;protocol=https"
15SRCREV = "91d19a16308a438596138d30d8174e148fc45584"
16
17BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
18SRC_URI = " \
19 ${REPO};${BRANCHARG} \
20 file://99-vcu-enc-dec.rules \
21 "
22
23inherit module features_check
24
25REQUIRED_MACHINE_FEATURES = "vcu"
26
27EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}"
28
29RDEPENDS:${PN} = "vcu-firmware"
30
31KERNEL_MODULE_AUTOLOAD += "dmaproxy"
32
33do_install:append() {
34 install -d ${D}${sysconfdir}/udev/rules.d
35 install -m 0644 ${WORKDIR}/99-vcu-enc-dec.rules ${D}${sysconfdir}/udev/rules.d/
36}
37
38FILES:${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 @@
1SUMMARY = "Control Software for VCU"
2DESCRIPTION = "Control software libraries, test applications and headers provider for VCU"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://LICENSE.md;md5=002a0a92906100955ea6ed02dcd2c2cd"
5
6# Recipe has been renamed
7PROVIDES += "libvcu-xlnx"
8
9PV .= "+git"
10
11BRANCH ?= "xlnx_rel_v2024.1"
12REPO ?= "git://github.com/Xilinx/vcu-ctrl-sw.git;protocol=https"
13SRCREV = "940f9fa933402de6f959911c236f36add5dd3a40"
14
15BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
16SRC_URI = "${REPO};${BRANCHARG}"
17
18S = "${WORKDIR}/git"
19
20inherit features_check
21
22REQUIRED_MACHINE_FEATURES = "vcu"
23
24PACKAGE_ARCH = "${MACHINE_ARCH}"
25
26RDEPENDS:${PN} = "kernel-module-vcu"
27
28EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${CXXFLAGS}'"
29
30do_install() {
31 install -d ${D}${libdir}
32 install -d ${D}${includedir}/vcu-ctrl-sw/include
33
34 oe_runmake install_headers INSTALL_HDR_PATH=${D}${includedir}/vcu-ctrl-sw/include INSTALL_PATH=${D}/${bindir}
35 oe_libinstall -C ${S}/bin/ -so liballegro_decode ${D}/${libdir}/
36 oe_libinstall -C ${S}/bin/ -so liballegro_encode ${D}/${libdir}/
37}
38
39# These libraries shouldn't get installed in world builds unless something
40# explicitly depends upon them.
41
42EXCLUDE_FROM_WORLD = "1"
43
44# Disable buildpaths QA check warnings.
45INSANE_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 @@
1SUMMARY = "OpenMAX Integration layer for VCU"
2DESCRIPTION = "OMX IL Libraries,test applications and headers for VCU"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://LICENSE.md;md5=002a0a92906100955ea6ed02dcd2c2cd"
5
6# Recipe has been renamed
7PROVIDES += "libomxil-xlnx"
8
9# Version from core/core_version.mk
10PV .= "+git"
11
12BRANCH ?= "xlnx_rel_v2024.1"
13REPO ?= "git://github.com/Xilinx/vcu-omx-il.git;protocol=https"
14SRCREV = "dc34204543b89997577bd2c9757b3c218e6caccc"
15
16BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
17SRC_URI = "${REPO};${BRANCHARG}"
18
19S = "${WORKDIR}/git"
20
21inherit features_check
22
23REQUIRED_MACHINE_FEATURES = "vcu"
24
25PACKAGE_ARCH = "${MACHINE_ARCH}"
26
27DEPENDS = "libvcu-ctrlsw"
28RDEPENDS:${PN} = "kernel-module-vcu libvcu-ctrlsw"
29
30EXTERNAL_INCLUDE="${STAGING_INCDIR}/vcu-ctrl-sw/include"
31
32EXTRA_OEMAKE = " \
33 CC='${CC}' CXX='${CXX} ${CXXFLAGS}' \
34 EXTERNAL_INCLUDE='${EXTERNAL_INCLUDE}' \
35 "
36
37do_install() {
38 install -d ${D}${libdir}
39 install -d ${D}${includedir}/vcu-omx-il
40
41 install -m 0644 ${S}/omx_header/*.h ${D}${includedir}/vcu-omx-il
42
43 oe_runmake install INSTALL_PATH=${D}${bindir}
44
45 oe_libinstall -C ${S}/bin/ -so libOMX.allegro.core ${D}/${libdir}/
46 oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_decoder ${D}/${libdir}/
47 oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_encoder ${D}/${libdir}/
48}
49
50# These libraries shouldn't get installed in world builds unless something
51# explicitly depends upon them.
52
53EXCLUDE_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 @@
1SUMMARY = "Firmware for VCU"
2DESCRIPTION = "Firmware binaries provider for VCU"
3LICENSE = "Proprietary"
4LIC_FILES_CHKSUM = "file://LICENSE.md;md5=9bef8aa9d1eba8aca1b7dffdef500262"
5
6PV .= "+git"
7
8S = "${WORKDIR}/git"
9
10BRANCH ?= "xlnx_rel_v2024.1"
11REPO ?= "git://github.com/Xilinx/vcu-firmware.git;protocol=https"
12SRCREV = "6ee1998c53817ab0c137b8b99089337d5caba62c"
13
14BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
15SRC_URI = "${REPO};${BRANCHARG}"
16
17inherit features_check
18
19REQUIRED_MACHINE_FEATURES = "vcu"
20
21PACKAGE_ARCH = "${MACHINE_ARCH}"
22
23do_compile[noexec] = "1"
24
25do_install() {
26 install -Dm 0644 ${S}/1.0.0/lib/firmware/al5d_b.fw ${D}${nonarch_base_libdir}/firmware/al5d_b.fw
27 install -Dm 0644 ${S}/1.0.0/lib/firmware/al5d.fw ${D}${nonarch_base_libdir}/firmware/al5d.fw
28 install -Dm 0644 ${S}/1.0.0/lib/firmware/al5e_b.fw ${D}${nonarch_base_libdir}/firmware/al5e_b.fw
29 install -Dm 0644 ${S}/1.0.0/lib/firmware/al5e.fw ${D}${nonarch_base_libdir}/firmware/al5e.fw
30}
31
32# Inhibit warnings about files being stripped
33INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
34INHIBIT_PACKAGE_STRIP = "1"
35FILES:${PN} = "${nonarch_base_libdir}/firmware/*"
36
37# These libraries shouldn't get installed in world builds unless something
38# explicitly depends upon them.
39EXCLUDE_FROM_WORLD = "1"
40
41INSANE_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 @@
1# Allegro VDU Encode, Decoder module drivers
2SUBSYSTEM=="allegro_decode_class", KERNEL=="allegroDecodeIP[0-4]*", MODE="0660", GROUP="video", TAG+="uaccess"
3
4
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 @@
1SUMMARY = "Linux kernel module for Video Decode Unit"
2DESCRIPTION = "Out-of-tree VDU decoder common kernel modules"
3SECTION = "kernel/modules"
4LICENSE = "GPL-2.0-or-later"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a"
6
7PV .= "+git"
8
9S = "${WORKDIR}/git"
10FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
11
12BRANCH ?= "xlnx_rel_v2024.1"
13REPO ?= "git://github.com/Xilinx/vdu-modules.git;protocol=https"
14SRCREV ?= "25773344ce1e539e7136c5a30cdee98a6cf490a8"
15
16BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
17SRC_URI = "${REPO};${BRANCHARG} \
18 file://99-vdu-enc-dec.rules \
19"
20
21inherit module features_check
22
23REQUIRED_MACHINE_FEATURES = "vdu"
24
25EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}"
26
27RDEPENDS:${PN} = "vdu-firmware"
28
29do_install:append() {
30 install -d ${D}${sysconfdir}/udev/rules.d
31 install -m 0644 ${WORKDIR}/99-vdu-enc-dec.rules ${D}${sysconfdir}/udev/rules.d/
32}
33
34FILES:${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 @@
1SUMMARY = "Control Software for VDU"
2DESCRIPTION = "Control software libraries, test applications and headers provider for VDU"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://LICENSE.md;md5=002a0a92906100955ea6ed02dcd2c2cd"
5
6PV .= "+git"
7
8BRANCH ?= "xlnx_rel_v2024.1"
9REPO ?= "git://github.com/Xilinx/vdu-ctrl-sw.git;protocol=https"
10SRCREV ?= "fb8730a808b707bfb86d3d64881899214a951ff6"
11
12BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
13SRC_URI = "${REPO};${BRANCHARG}"
14
15S = "${WORKDIR}/git"
16B = "${S}"
17
18inherit autotools features_check
19
20REQUIRED_MACHINE_FEATURES = "vdu"
21
22PACKAGE_ARCH = "${MACHINE_ARCH}"
23
24RDEPENDS:${PN} = "kernel-module-vdu"
25
26do_compile[dirs] = "${S}"
27do_install[dirs] = "${S}"
28
29EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${CXXFLAGS}'"
30EXTRA_OEMAKE +=" INSTALL_HDR_PATH=${D}${includedir}/vdu-ctrl-sw/include INSTALL_PATH=${D}${bindir}"
31
32do_install:append() {
33
34 oe_libinstall -C ${S}/bin/ -so liballegro_decode ${D}/${libdir}/
35}
36
37# These libraries shouldn't get installed in world builds unless something
38# explicitly depends upon them.
39
40EXCLUDE_FROM_WORLD = "1"
41
42# Disable buildpaths QA check warnings.
43INSANE_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 @@
1SUMMARY = "OpenMAX Integration layer for VDU"
2DESCRIPTION = "OMX IL Libraries,test application and headers for VDU"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://LICENSE.md;md5=002a0a92906100955ea6ed02dcd2c2cd"
5
6PV .= "+git"
7
8BRANCH ?= "xlnx_rel_v2024.1"
9REPO ?= "git://github.com/Xilinx/vdu-omx-il.git;protocol=https"
10SRCREV ?= "af9c6e8935799f4dcd579b0164dd05eb039b569d"
11
12BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
13SRC_URI = "${REPO};${BRANCHARG}"
14
15S = "${WORKDIR}/git"
16B = "${WORKDIR}/git"
17
18inherit autotools features_check
19
20REQUIRED_MACHINE_FEATURES = "vdu"
21
22PACKAGE_ARCH = "${MACHINE_ARCH}"
23
24DEPENDS = "libvdu-ctrlsw"
25RDEPENDS:${PN} = "kernel-module-vdu libvdu-ctrlsw"
26
27EXTERNAL_INCLUDE="${STAGING_INCDIR}/vdu-ctrl-sw/include"
28
29do_compile[dirs] = "${S}"
30do_install[dirs] = "${S}"
31
32EXTRA_OEMAKE = " \
33 CC='${CC}' CXX='${CXX} ${CXXFLAGS}' \
34 EXTERNAL_INCLUDE='${EXTERNAL_INCLUDE}' \
35 INSTALL_PATH=${D}${bindir} \
36 INCLUDE_INST_PATH=${D}${includedir} \
37 "
38
39do_install:append() {
40 install -d ${D}${libdir}
41
42 oe_libinstall -C ${S}/bin/ -so libOMX.allegro.core ${D}/${libdir}/
43 oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_decoder ${D}/${libdir}/
44}
45
46# These libraries shouldn't get installed in world builds unless something
47# explicitly depends upon them.
48
49EXCLUDE_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 @@
1SUMMARY = "Firmware for VDU"
2DESCRIPTION = "Firmware binaries provider for VDU"
3LICENSE = "Proprietary"
4LIC_FILES_CHKSUM = "file://LICENSE.md;md5=722a9d20bf58ac06585a6d91ee36e60e"
5
6PV .= "+git"
7
8S = "${WORKDIR}/git"
9B = "${S}"
10
11BRANCH ?= "xlnx_rel_v2024.1"
12REPO ?= "git://github.com/Xilinx/vdu-firmware.git;protocol=https"
13SRCREV ?= "724de80630edcb87d865d69f1a6c0dc61c3f9f12"
14
15BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
16SRC_URI = "${REPO};${BRANCHARG}"
17
18inherit autotools features_check
19
20REQUIRED_MACHINE_FEATURES = "vdu"
21
22PACKAGE_ARCH = "${MACHINE_ARCH}"
23
24EXTRA_OEMAKE +="INSTALL_PATH=${D}/${nonarch_base_libdir}/firmware"
25
26do_compile[noexec] = "1"
27do_install[dirs] = "${S}"
28
29# Inhibit warnings about files being stripped
30INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
31INHIBIT_PACKAGE_STRIP = "1"
32FILES:${PN} = "${nonarch_base_libdir}/firmware/*"
33
34# These libraries shouldn't get installed in world builds unless something
35# explicitly depends upon them.
36EXCLUDE_FROM_WORLD = "1"
37
38INSANE_SKIP:${PN} = "ldflags"