diff options
| author | John Toomey <john.toomey@amd.com> | 2024-05-09 15:04:52 +0100 |
|---|---|---|
| committer | Mark Hatle <mark.hatle@amd.com> | 2024-05-22 20:20:11 -0500 |
| commit | dfe8c369bbfc268fdfb2ea9590a9210c2c94b93f (patch) | |
| tree | 81394ae8f264798ee865a0c4b576fcd4f7163551 /meta-xilinx-multimedia | |
| parent | 79e8533be34523cd99a24fe80d47dd996cff65e5 (diff) | |
| download | meta-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')
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 | ||
| 2 | BBPATH .= ":${LAYERDIR}" | ||
| 3 | |||
| 4 | # We have a packages directory, add to BBFILES | ||
| 5 | BBFILES += "${LAYERDIR}/recipes-*/*/*.bb" | ||
| 6 | BBFILES += "${LAYERDIR}/recipes-*/*/*.bbappend" | ||
| 7 | |||
| 8 | BBFILE_COLLECTIONS += "xilinx-multimedia" | ||
| 9 | BBFILE_PATTERN_xilinx-multimedia = "^${LAYERDIR}/" | ||
| 10 | BBFILE_PRIORITY_xilinx-multimedia = "5" | ||
| 11 | |||
| 12 | AYERDEPENDS_xilinx-multimedia = "core" | ||
| 13 | LAYERRECOMMENDS_xilinx-multimedia = "openembedded-layer" | ||
| 14 | |||
| 15 | 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 @@ | |||
| 1 | require gstreamer-xilinx-1.20.5.inc | ||
| 2 | |||
| 3 | SRC_URI:append = " \ | ||
| 4 | file://0001-connect-has-a-different-signature-on-musl.patch \ | ||
| 5 | " | ||
| 6 | |||
| 7 | 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 @@ | |||
| 1 | SUMMARY = "Gstreamer Interpipe 1.1.8" | ||
| 2 | DESCRIPTION = "GStreamer plug-in that allows communication between two independent pipelines" | ||
| 3 | HOMEPAGE = "https://developer.ridgerun.com/wiki/index.php?title=GstInterpipe" | ||
| 4 | SECTION = "multimedia" | ||
| 5 | LICENSE = "LGPL-2.1-only" | ||
| 6 | |||
| 7 | LIC_FILES_CHKSUM = "file://COPYING;md5=3191ae9476980e87e3494d2d8ebe4584" | ||
| 8 | |||
| 9 | DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gtk-doc-native" | ||
| 10 | |||
| 11 | SRCBRANCH ?= "master" | ||
| 12 | # v1.1.8 Tag | ||
| 13 | SRCREV = "814982ecd735e42ff2d14ce7c43039c259ec928b" | ||
| 14 | SRC_URI = "gitsm://github.com/RidgeRun/gst-interpipe.git;protocol=https;branch=${SRCBRANCH}" | ||
| 15 | |||
| 16 | S = "${WORKDIR}/git" | ||
| 17 | |||
| 18 | FILES:${PN} += "${libdir}/gstreamer-1.0/libgstinterpipe.so" | ||
| 19 | |||
| 20 | EXTRA_OEMESON = "-Denable-gtk-doc=false" | ||
| 21 | |||
| 22 | 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 @@ | |||
| 1 | SUMMARY = "GStreamer Perf 1.0" | ||
| 2 | DESCRIPTION = "GStreamer element to measure fps and performance" | ||
| 3 | HOMEPAGE = "https://github.com/RidgeRun/gst-perf-autotools" | ||
| 4 | SECTION = "multimedia" | ||
| 5 | LICENSE = "LGPL-2.0-or-later" | ||
| 6 | |||
| 7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=5f30f0716dfdd0d91eb439ebec522ec2" | ||
| 8 | |||
| 9 | inherit autotools pkgconfig gettext | ||
| 10 | |||
| 11 | DEPENDS += "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" | ||
| 12 | |||
| 13 | SRCBRANCH ?= "master" | ||
| 14 | SRCREV ?= "d50ddc4a8c0dedd4f2de77d7f3f570548a1a0d76" | ||
| 15 | SRC_URI = "git://github.com/RidgeRun/gst-perf.git;protocol=https;branch=${SRCBRANCH}" | ||
| 16 | |||
| 17 | S = "${WORKDIR}/git" | ||
| 18 | |||
| 19 | FILES:${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 @@ | |||
| 1 | BRANCH ?= "xlnx_rel_v2024.1" | ||
| 2 | REPO ?= "git://github.com/Xilinx/multimedia-notebooks.git;protocol=https" | ||
| 3 | SRCREV ?= "ef7a7236144a04977cb5bb800d6d7cf319e52b58" | ||
| 4 | |||
| 5 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" | ||
| 6 | SRC_URI = "${REPO};${BRANCHARG}" | ||
| 7 | |||
| 8 | 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 @@ | |||
| 1 | DESCRIPTION = "Demo scripts to run common usecases involving VCU in ZynqMP" | ||
| 2 | LICENSE = "MIT" | ||
| 3 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=17e31b2e971eed6471a361c7dc4faa18" | ||
| 4 | |||
| 5 | require gstreamer-multimedia-notebooks_0.1.inc | ||
| 6 | |||
| 7 | S = "${WORKDIR}/git" | ||
| 8 | |||
| 9 | inherit features_check | ||
| 10 | |||
| 11 | REQUIRED_MACHINE_FEATURES = "vcu" | ||
| 12 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
| 13 | |||
| 14 | RDEPENDS:${PN} = "gstreamer1.0-omx gstreamer1.0-plugins-bad bash python3-pip alsa-utils matchbox-desktop" | ||
| 15 | |||
| 16 | EXTRA_OEMAKE = 'D=${D} bindir=${bindir} datadir=${datadir}' | ||
| 17 | |||
| 18 | do_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 | |||
| 25 | 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 @@ | |||
| 1 | DESCRIPTION = "Jupyter notebook examples for VCU in ZynqMP-EV devices" | ||
| 2 | LICENSE = "BSD-3-Clause" | ||
| 3 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=17e31b2e971eed6471a361c7dc4faa18" | ||
| 4 | |||
| 5 | inherit jupyter-examples | ||
| 6 | |||
| 7 | require gstreamer-multimedia-notebooks_0.1.inc | ||
| 8 | |||
| 9 | S = "${WORKDIR}/git" | ||
| 10 | |||
| 11 | inherit features_check | ||
| 12 | |||
| 13 | REQUIRED_MACHINE_FEATURES = "vcu" | ||
| 14 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
| 15 | |||
| 16 | RDEPENDS:${PN} = "packagegroup-petalinux-jupyter packagegroup-petalinux-gstreamer gstreamer-vcu-examples start-jupyter" | ||
| 17 | |||
| 18 | EXTRA_OEMAKE = 'D=${D} JUPYTER_DIR=${JUPYTER_DIR}' | ||
| 19 | |||
| 20 | do_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 @@ | |||
| 1 | DESCRIPTION = "Demo scripts to run common usecases involving VDU in Versal" | ||
| 2 | LICENSE = "MIT" | ||
| 3 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=17e31b2e971eed6471a361c7dc4faa18" | ||
| 4 | |||
| 5 | require gstreamer-multimedia-notebooks_0.1.inc | ||
| 6 | |||
| 7 | S = "${WORKDIR}/git" | ||
| 8 | |||
| 9 | inherit features_check | ||
| 10 | |||
| 11 | REQUIRED_MACHINE_FEATURES = "vdu" | ||
| 12 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
| 13 | |||
| 14 | RDEPENDS:${PN} = "gstreamer1.0-omx gstreamer1.0-plugins-bad bash python3-pip alsa-utils" | ||
| 15 | |||
| 16 | EXTRA_OEMAKE = 'D=${D} bindir=${bindir} datadir=${datadir}' | ||
| 17 | |||
| 18 | do_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 | |||
| 25 | 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 @@ | |||
| 1 | DESCRIPTION = "Jupyter notebook examples for VDU in Versal" | ||
| 2 | LICENSE = "BSD-3-Clause" | ||
| 3 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=17e31b2e971eed6471a361c7dc4faa18" | ||
| 4 | |||
| 5 | inherit jupyter-examples | ||
| 6 | |||
| 7 | require gstreamer-multimedia-notebooks_0.1.inc | ||
| 8 | |||
| 9 | S = "${WORKDIR}/git" | ||
| 10 | |||
| 11 | inherit features_check | ||
| 12 | |||
| 13 | REQUIRED_MACHINE_FEATURES = "vdu" | ||
| 14 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
| 15 | |||
| 16 | RDEPENDS:${PN} = "packagegroup-petalinux-jupyter packagegroup-petalinux-gstreamer gstreamer-vdu-examples start-jupyter" | ||
| 17 | |||
| 18 | EXTRA_OEMAKE = 'D=${D} JUPYTER_DIR=${JUPYTER_DIR}' | ||
| 19 | |||
| 20 | do_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 @@ | |||
| 1 | BRANCH ?= "xlnx-rebase-v1.20.5" | ||
| 2 | REPO ?= "git://github.com/Xilinx/gstreamer.git;protocol=https" | ||
| 3 | |||
| 4 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" | ||
| 5 | |||
| 6 | PV = "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 | ||
| 10 | PACKAGE_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! | ||
| 14 | python() { | ||
| 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 | ||
| 21 | PE = '1' | ||
| 22 | |||
| 23 | SRC_URI = " \ | ||
| 24 | ${REPO};${BRANCHARG};name=gstreamer-xlnx \ | ||
| 25 | " | ||
| 26 | |||
| 27 | SRCREV_gstreamer-xlnx = "5126254d77401b9673602ddcb617ff9e958dd295" | ||
| 28 | 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 @@ | |||
| 1 | require gstreamer-xilinx-1.20.5.inc | ||
| 2 | |||
| 3 | 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 @@ | |||
| 1 | require gstreamer-xilinx-1.20.5.inc | ||
| 2 | |||
| 3 | S = "${WORKDIR}/git/subprojects/gst-omx" | ||
| 4 | |||
| 5 | RDEPENDS:${PN} .= "${@bb.utils.contains('MACHINE_FEATURES', 'vcu', ' libvcu-omxil', '', d)}" | ||
| 6 | DEPENDS .= "${@bb.utils.contains('MACHINE_FEATURES', 'vcu', ' libvcu-omxil', '', d)}" | ||
| 7 | |||
| 8 | RDEPENDS:${PN} .= "${@bb.utils.contains('MACHINE_FEATURES', 'vdu', ' libvdu-omxil', '', d)}" | ||
| 9 | DEPENDS .= "${@bb.utils.contains('MACHINE_FEATURES', 'vdu', ' libvdu-omxil', '', d)}" | ||
| 10 | |||
| 11 | EXTRA_OECONF .= "${@bb.utils.contains('MACHINE_FEATURES', 'vcu', ' --with-omx-header-path=${STAGING_INCDIR}/vcu-omx-il', '', d)}" | ||
| 12 | EXTRA_OEMESON .= "${@bb.utils.contains('MACHINE_FEATURES', 'vcu', ' -Dheader_path=${STAGING_INCDIR}/vcu-omx-il', '', d)}" | ||
| 13 | |||
| 14 | EXTRA_OECONF .= "${@bb.utils.contains('MACHINE_FEATURES', 'vdu', ' --with-omx-header-path=${STAGING_INCDIR}/vdu-omx-il', '', d)}" | ||
| 15 | EXTRA_OEMESON .= "${@bb.utils.contains('MACHINE_FEATURES', 'vdu', ' -Dheader_path=${STAGING_INCDIR}/vdu-omx-il', '', d)}" | ||
| 16 | |||
| 17 | DEFAULT_GSTREAMER_1_0_OMX_TARGET := "${GSTREAMER_1_0_OMX_TARGET}" | ||
| 18 | VCU_GSTREAMER_1_0_OMX_TARGET = "${@bb.utils.contains('MACHINE_FEATURES', 'vcu', 'zynqultrascaleplus', '${DEFAULT_GSTREAMER_1_0_OMX_TARGET}', d)}" | ||
| 19 | VDU_GSTREAMER_1_0_OMX_TARGET = "${@bb.utils.contains('MACHINE_FEATURES', 'vdu', 'versal', '${VCU_GSTREAMER_1_0_OMX_TARGET}', d)}" | ||
| 20 | GSTREAMER_1_0_OMX_TARGET = "${VDU_GSTREAMER_1_0_OMX_TARGET}" | ||
| 21 | |||
| 22 | DEFAULT_GSTREAMER_1_0_OMX_CORE_NAME := "${GSTREAMER_1_0_OMX_CORE_NAME}" | ||
| 23 | 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)}" | ||
| 24 | |||
| 25 | DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" | ||
| 26 | PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" | ||
| 27 | 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 @@ | |||
| 1 | require gstreamer-xilinx-1.20.5.inc | ||
| 2 | |||
| 3 | SRC_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 | |||
| 9 | PACKAGECONFIG[mediasrcbin] = "-Dmediasrcbin=enabled,-Dmediasrcbin=disabled,media-ctl" | ||
| 10 | PACKAGECONFIG:append = " faac kms faad opusparse mediasrcbin" | ||
| 11 | |||
| 12 | 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 @@ | |||
| 1 | # Links to libmali-xlnx, so it becomes MACHINE_ARCH specific | ||
| 2 | DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" | ||
| 3 | MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" | ||
| 4 | MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" | ||
| 5 | PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" | ||
| 6 | 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 @@ | |||
| 1 | require gstreamer-xilinx-1.20.5.inc | ||
| 2 | |||
| 3 | SRC_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 | |||
| 9 | PACKAGECONFIG:append = " opus" | ||
| 10 | |||
| 11 | 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 @@ | |||
| 1 | PACKAGECONFIG:append = " vpx" | ||
| 2 | |||
| 3 | require gstreamer-xilinx-1.20.5.inc | ||
| 4 | |||
| 5 | SRC_URI:append = " \ | ||
| 6 | file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \ | ||
| 7 | " | ||
| 8 | |||
| 9 | 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 @@ | |||
| 1 | require gstreamer-xilinx-1.20.5.inc | ||
| 2 | |||
| 3 | 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 @@ | |||
| 1 | require gstreamer-xilinx-1.20.5.inc | ||
| 2 | |||
| 3 | S = "${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 @@ | |||
| 1 | require gstreamer-xilinx-1.20.5.inc | ||
| 2 | |||
| 3 | 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 @@ | |||
| 1 | require gstreamer-xilinx-1.20.5.inc | ||
| 2 | |||
| 3 | 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 @@ | |||
| 1 | require gstreamer-xilinx-1.20.5.inc | ||
| 2 | |||
| 3 | SRC_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 | |||
| 12 | PACKAGECONFIG:append = " tracer-hooks coretracers" | ||
| 13 | |||
| 14 | 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 @@ | |||
| 1 | From 059f28d8eae7a1ef237eccbaaa7493480f83b764 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Rohit Visavalia <rohit.visavalia@xilinx.com> | ||
| 3 | Date: Fri, 2 Sep 2022 01:56:47 -0700 | ||
| 4 | Subject: [PATCH] default.pai.in: disable tsched (system-timer based model) | ||
| 5 | |||
| 6 | With tsched enabled we see clicking noise on DisplayPort for initial 5 sec | ||
| 7 | every time audio is played. Disabling the same fixes the issue. | ||
| 8 | |||
| 9 | Upstream-Status: Inappropriate [disable feature] | ||
| 10 | |||
| 11 | Signed-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 | |||
| 16 | diff --git a/src/daemon/default.pa.in b/src/daemon/default.pa.in | ||
| 17 | index 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 | -- | ||
| 30 | 2.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. | ||
| 4 | FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" | ||
| 5 | SRC_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 @@ | |||
| 1 | SUMMARY = "Big Buck Bunny Movie - 3840*2160@30fps" | ||
| 2 | LICENSE = "CC-BY-3.0" | ||
| 3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7" | ||
| 4 | |||
| 5 | SRC_URI = "http://ftp.nluug.nl/pub/graphics/blender/demo/movies/BBB/bbb_sunflower_2160p_30fps_normal.mp4" | ||
| 6 | SRC_URI[md5sum] = "fca22c88d7cf72c02df69a6157d2185b" | ||
| 7 | SRC_URI[sha256sum] = "37f0ff251a606c2dcfa26c19fe6bf843234b4e7a8889cfab50bc26f644e55520" | ||
| 8 | |||
| 9 | inherit allarch | ||
| 10 | |||
| 11 | do_install() { | ||
| 12 | install -d ${D}${datadir}/movies | ||
| 13 | install -m 0644 ${WORKDIR}/bbb_sunflower_2160p_30fps_normal.mp4 ${D}${datadir}/movies/ | ||
| 14 | } | ||
| 15 | |||
| 16 | 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 @@ | |||
| 1 | SUMMARY = "Big Buck Bunny Movie - 3840*2160@60fps" | ||
| 2 | LICENSE = "CC-BY-3.0" | ||
| 3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7" | ||
| 4 | |||
| 5 | SRC_URI = "http://ftp.nluug.nl/pub/graphics/blender/demo/movies/BBB/bbb_sunflower_2160p_60fps_normal.mp4" | ||
| 6 | SRC_URI[md5sum] = "fb20ba0a7f531eabb345a5abcce33d78" | ||
| 7 | SRC_URI[sha256sum] = "35db9a007021f1b0066993e1d2c4448c83a8b279f799c97d33cbba73980a8a36" | ||
| 8 | |||
| 9 | inherit allarch | ||
| 10 | |||
| 11 | do_install() { | ||
| 12 | install -d ${D}${datadir}/movies | ||
| 13 | install -m 0644 ${WORKDIR}/bbb_sunflower_2160p_60fps_normal.mp4 ${D}${datadir}/movies/ | ||
| 14 | } | ||
| 15 | |||
| 16 | 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 @@ | |||
| 1 | # Allegro VCU Encode, Decoder module drivers | ||
| 2 | SUBSYSTEM=="allegro_encode_class", KERNEL=="allegroIP", MODE="0660", GROUP="video" | ||
| 3 | SUBSYSTEM=="allegro_decode_class", KERNEL=="allegroDecodeIP", MODE="0660", GROUP="video" | ||
| 4 | |||
| 5 | # Xilinx Video DMA driver | ||
| 6 | SUBSYSTEM=="char", KERNEL=="dmaproxy", MODE="0660", GROUP="video" | ||
| 7 | |||
| 8 | # Xilinx SyncIP driver | ||
| 9 | SUBSYSTEM=="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 @@ | |||
| 1 | SUMMARY = "Linux kernel module for Video Code Unit" | ||
| 2 | DESCRIPTION = "Out-of-tree VCU decoder, encoder and common kernel modules provider for MPSoC EV devices" | ||
| 3 | SECTION = "kernel/modules" | ||
| 4 | LICENSE = "GPL-2.0-or-later" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a" | ||
| 6 | |||
| 7 | PV .= "+git" | ||
| 8 | |||
| 9 | S = "${WORKDIR}/git" | ||
| 10 | |||
| 11 | FILESEXTRAPATHS:prepend := "${THISDIR}/files:" | ||
| 12 | |||
| 13 | BRANCH = "xlnx_rel_v2024.1" | ||
| 14 | REPO = "git://github.com/Xilinx/vcu-modules.git;protocol=https" | ||
| 15 | SRCREV = "91d19a16308a438596138d30d8174e148fc45584" | ||
| 16 | |||
| 17 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
| 18 | SRC_URI = " \ | ||
| 19 | ${REPO};${BRANCHARG} \ | ||
| 20 | file://99-vcu-enc-dec.rules \ | ||
| 21 | " | ||
| 22 | |||
| 23 | inherit module features_check | ||
| 24 | |||
| 25 | REQUIRED_MACHINE_FEATURES = "vcu" | ||
| 26 | |||
| 27 | EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}" | ||
| 28 | |||
| 29 | RDEPENDS:${PN} = "vcu-firmware" | ||
| 30 | |||
| 31 | KERNEL_MODULE_AUTOLOAD += "dmaproxy" | ||
| 32 | |||
| 33 | do_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 | |||
| 38 | 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 @@ | |||
| 1 | SUMMARY = "Control Software for VCU" | ||
| 2 | DESCRIPTION = "Control software libraries, test applications and headers provider for VCU" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=002a0a92906100955ea6ed02dcd2c2cd" | ||
| 5 | |||
| 6 | # Recipe has been renamed | ||
| 7 | PROVIDES += "libvcu-xlnx" | ||
| 8 | |||
| 9 | PV .= "+git" | ||
| 10 | |||
| 11 | BRANCH ?= "xlnx_rel_v2024.1" | ||
| 12 | REPO ?= "git://github.com/Xilinx/vcu-ctrl-sw.git;protocol=https" | ||
| 13 | SRCREV = "940f9fa933402de6f959911c236f36add5dd3a40" | ||
| 14 | |||
| 15 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
| 16 | SRC_URI = "${REPO};${BRANCHARG}" | ||
| 17 | |||
| 18 | S = "${WORKDIR}/git" | ||
| 19 | |||
| 20 | inherit features_check | ||
| 21 | |||
| 22 | REQUIRED_MACHINE_FEATURES = "vcu" | ||
| 23 | |||
| 24 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
| 25 | |||
| 26 | RDEPENDS:${PN} = "kernel-module-vcu" | ||
| 27 | |||
| 28 | EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${CXXFLAGS}'" | ||
| 29 | |||
| 30 | do_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 | |||
| 42 | EXCLUDE_FROM_WORLD = "1" | ||
| 43 | |||
| 44 | # Disable buildpaths QA check warnings. | ||
| 45 | 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 @@ | |||
| 1 | SUMMARY = "OpenMAX Integration layer for VCU" | ||
| 2 | DESCRIPTION = "OMX IL Libraries,test applications and headers for VCU" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=002a0a92906100955ea6ed02dcd2c2cd" | ||
| 5 | |||
| 6 | # Recipe has been renamed | ||
| 7 | PROVIDES += "libomxil-xlnx" | ||
| 8 | |||
| 9 | # Version from core/core_version.mk | ||
| 10 | PV .= "+git" | ||
| 11 | |||
| 12 | BRANCH ?= "xlnx_rel_v2024.1" | ||
| 13 | REPO ?= "git://github.com/Xilinx/vcu-omx-il.git;protocol=https" | ||
| 14 | SRCREV = "dc34204543b89997577bd2c9757b3c218e6caccc" | ||
| 15 | |||
| 16 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
| 17 | SRC_URI = "${REPO};${BRANCHARG}" | ||
| 18 | |||
| 19 | S = "${WORKDIR}/git" | ||
| 20 | |||
| 21 | inherit features_check | ||
| 22 | |||
| 23 | REQUIRED_MACHINE_FEATURES = "vcu" | ||
| 24 | |||
| 25 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
| 26 | |||
| 27 | DEPENDS = "libvcu-ctrlsw" | ||
| 28 | RDEPENDS:${PN} = "kernel-module-vcu libvcu-ctrlsw" | ||
| 29 | |||
| 30 | EXTERNAL_INCLUDE="${STAGING_INCDIR}/vcu-ctrl-sw/include" | ||
| 31 | |||
| 32 | EXTRA_OEMAKE = " \ | ||
| 33 | CC='${CC}' CXX='${CXX} ${CXXFLAGS}' \ | ||
| 34 | EXTERNAL_INCLUDE='${EXTERNAL_INCLUDE}' \ | ||
| 35 | " | ||
| 36 | |||
| 37 | do_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 | |||
| 53 | 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 @@ | |||
| 1 | SUMMARY = "Firmware for VCU" | ||
| 2 | DESCRIPTION = "Firmware binaries provider for VCU" | ||
| 3 | LICENSE = "Proprietary" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=9bef8aa9d1eba8aca1b7dffdef500262" | ||
| 5 | |||
| 6 | PV .= "+git" | ||
| 7 | |||
| 8 | S = "${WORKDIR}/git" | ||
| 9 | |||
| 10 | BRANCH ?= "xlnx_rel_v2024.1" | ||
| 11 | REPO ?= "git://github.com/Xilinx/vcu-firmware.git;protocol=https" | ||
| 12 | SRCREV = "6ee1998c53817ab0c137b8b99089337d5caba62c" | ||
| 13 | |||
| 14 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
| 15 | SRC_URI = "${REPO};${BRANCHARG}" | ||
| 16 | |||
| 17 | inherit features_check | ||
| 18 | |||
| 19 | REQUIRED_MACHINE_FEATURES = "vcu" | ||
| 20 | |||
| 21 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
| 22 | |||
| 23 | do_compile[noexec] = "1" | ||
| 24 | |||
| 25 | do_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 | ||
| 33 | INHIBIT_PACKAGE_DEBUG_SPLIT = "1" | ||
| 34 | INHIBIT_PACKAGE_STRIP = "1" | ||
| 35 | FILES:${PN} = "${nonarch_base_libdir}/firmware/*" | ||
| 36 | |||
| 37 | # These libraries shouldn't get installed in world builds unless something | ||
| 38 | # explicitly depends upon them. | ||
| 39 | EXCLUDE_FROM_WORLD = "1" | ||
| 40 | |||
| 41 | 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 @@ | |||
| 1 | # Allegro VDU Encode, Decoder module drivers | ||
| 2 | SUBSYSTEM=="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 @@ | |||
| 1 | SUMMARY = "Linux kernel module for Video Decode Unit" | ||
| 2 | DESCRIPTION = "Out-of-tree VDU decoder common kernel modules" | ||
| 3 | SECTION = "kernel/modules" | ||
| 4 | LICENSE = "GPL-2.0-or-later" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a" | ||
| 6 | |||
| 7 | PV .= "+git" | ||
| 8 | |||
| 9 | S = "${WORKDIR}/git" | ||
| 10 | FILESEXTRAPATHS:prepend := "${THISDIR}/files:" | ||
| 11 | |||
| 12 | BRANCH ?= "xlnx_rel_v2024.1" | ||
| 13 | REPO ?= "git://github.com/Xilinx/vdu-modules.git;protocol=https" | ||
| 14 | SRCREV ?= "25773344ce1e539e7136c5a30cdee98a6cf490a8" | ||
| 15 | |||
| 16 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
| 17 | SRC_URI = "${REPO};${BRANCHARG} \ | ||
| 18 | file://99-vdu-enc-dec.rules \ | ||
| 19 | " | ||
| 20 | |||
| 21 | inherit module features_check | ||
| 22 | |||
| 23 | REQUIRED_MACHINE_FEATURES = "vdu" | ||
| 24 | |||
| 25 | EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}" | ||
| 26 | |||
| 27 | RDEPENDS:${PN} = "vdu-firmware" | ||
| 28 | |||
| 29 | do_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 | |||
| 34 | 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 @@ | |||
| 1 | SUMMARY = "Control Software for VDU" | ||
| 2 | DESCRIPTION = "Control software libraries, test applications and headers provider for VDU" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=002a0a92906100955ea6ed02dcd2c2cd" | ||
| 5 | |||
| 6 | PV .= "+git" | ||
| 7 | |||
| 8 | BRANCH ?= "xlnx_rel_v2024.1" | ||
| 9 | REPO ?= "git://github.com/Xilinx/vdu-ctrl-sw.git;protocol=https" | ||
| 10 | SRCREV ?= "fb8730a808b707bfb86d3d64881899214a951ff6" | ||
| 11 | |||
| 12 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
| 13 | SRC_URI = "${REPO};${BRANCHARG}" | ||
| 14 | |||
| 15 | S = "${WORKDIR}/git" | ||
| 16 | B = "${S}" | ||
| 17 | |||
| 18 | inherit autotools features_check | ||
| 19 | |||
| 20 | REQUIRED_MACHINE_FEATURES = "vdu" | ||
| 21 | |||
| 22 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
| 23 | |||
| 24 | RDEPENDS:${PN} = "kernel-module-vdu" | ||
| 25 | |||
| 26 | do_compile[dirs] = "${S}" | ||
| 27 | do_install[dirs] = "${S}" | ||
| 28 | |||
| 29 | EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${CXXFLAGS}'" | ||
| 30 | EXTRA_OEMAKE +=" INSTALL_HDR_PATH=${D}${includedir}/vdu-ctrl-sw/include INSTALL_PATH=${D}${bindir}" | ||
| 31 | |||
| 32 | do_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 | |||
| 40 | EXCLUDE_FROM_WORLD = "1" | ||
| 41 | |||
| 42 | # Disable buildpaths QA check warnings. | ||
| 43 | 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 @@ | |||
| 1 | SUMMARY = "OpenMAX Integration layer for VDU" | ||
| 2 | DESCRIPTION = "OMX IL Libraries,test application and headers for VDU" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=002a0a92906100955ea6ed02dcd2c2cd" | ||
| 5 | |||
| 6 | PV .= "+git" | ||
| 7 | |||
| 8 | BRANCH ?= "xlnx_rel_v2024.1" | ||
| 9 | REPO ?= "git://github.com/Xilinx/vdu-omx-il.git;protocol=https" | ||
| 10 | SRCREV ?= "af9c6e8935799f4dcd579b0164dd05eb039b569d" | ||
| 11 | |||
| 12 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
| 13 | SRC_URI = "${REPO};${BRANCHARG}" | ||
| 14 | |||
| 15 | S = "${WORKDIR}/git" | ||
| 16 | B = "${WORKDIR}/git" | ||
| 17 | |||
| 18 | inherit autotools features_check | ||
| 19 | |||
| 20 | REQUIRED_MACHINE_FEATURES = "vdu" | ||
| 21 | |||
| 22 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
| 23 | |||
| 24 | DEPENDS = "libvdu-ctrlsw" | ||
| 25 | RDEPENDS:${PN} = "kernel-module-vdu libvdu-ctrlsw" | ||
| 26 | |||
| 27 | EXTERNAL_INCLUDE="${STAGING_INCDIR}/vdu-ctrl-sw/include" | ||
| 28 | |||
| 29 | do_compile[dirs] = "${S}" | ||
| 30 | do_install[dirs] = "${S}" | ||
| 31 | |||
| 32 | EXTRA_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 | |||
| 39 | do_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 | |||
| 49 | 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 @@ | |||
| 1 | SUMMARY = "Firmware for VDU" | ||
| 2 | DESCRIPTION = "Firmware binaries provider for VDU" | ||
| 3 | LICENSE = "Proprietary" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=722a9d20bf58ac06585a6d91ee36e60e" | ||
| 5 | |||
| 6 | PV .= "+git" | ||
| 7 | |||
| 8 | S = "${WORKDIR}/git" | ||
| 9 | B = "${S}" | ||
| 10 | |||
| 11 | BRANCH ?= "xlnx_rel_v2024.1" | ||
| 12 | REPO ?= "git://github.com/Xilinx/vdu-firmware.git;protocol=https" | ||
| 13 | SRCREV ?= "724de80630edcb87d865d69f1a6c0dc61c3f9f12" | ||
| 14 | |||
| 15 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
| 16 | SRC_URI = "${REPO};${BRANCHARG}" | ||
| 17 | |||
| 18 | inherit autotools features_check | ||
| 19 | |||
| 20 | REQUIRED_MACHINE_FEATURES = "vdu" | ||
| 21 | |||
| 22 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
| 23 | |||
| 24 | EXTRA_OEMAKE +="INSTALL_PATH=${D}/${nonarch_base_libdir}/firmware" | ||
| 25 | |||
| 26 | do_compile[noexec] = "1" | ||
| 27 | do_install[dirs] = "${S}" | ||
| 28 | |||
| 29 | # Inhibit warnings about files being stripped | ||
| 30 | INHIBIT_PACKAGE_DEBUG_SPLIT = "1" | ||
| 31 | INHIBIT_PACKAGE_STRIP = "1" | ||
| 32 | FILES:${PN} = "${nonarch_base_libdir}/firmware/*" | ||
| 33 | |||
| 34 | # These libraries shouldn't get installed in world builds unless something | ||
| 35 | # explicitly depends upon them. | ||
| 36 | EXCLUDE_FROM_WORLD = "1" | ||
| 37 | |||
| 38 | INSANE_SKIP:${PN} = "ldflags" | ||
