diff options
10 files changed, 83 insertions, 110 deletions
diff --git a/common/conf/machine/include/amd-common-configurations.inc b/common/conf/machine/include/amd-common-configurations.inc index 03a1efcb..f1d39b7c 100644 --- a/common/conf/machine/include/amd-common-configurations.inc +++ b/common/conf/machine/include/amd-common-configurations.inc @@ -1,4 +1,5 @@ require conf/machine/include/amd-features.inc +require conf/machine/include/amd-multimedia.inc POKY_DEFAULT_DISTRO_FEATURES_remove = "wayland" diff --git a/common/conf/machine/include/amd-multimedia.inc b/common/conf/machine/include/amd-multimedia.inc new file mode 100644 index 00000000..3e2c2f57 --- /dev/null +++ b/common/conf/machine/include/amd-multimedia.inc @@ -0,0 +1,50 @@ +# AMD provides the functionality to build packages with license-restricted +# algorithms or software. Their configuration variables can be set to +# "yes" or "no" in the local.conf file to enable or disable the +# functionality to include them in the build. The option to build these +# packages is NOT enabled in the default configuration. After enabling the +# option to build, when you build your target image, the BitBake utility +# fetches package sources from the canonical upstream location. If you do +# not have an active network connection, your build with these packages +# will fail. +# +# Building packages with license-restricted algorithms or software may add +# proprietary IP or functionality with other restrictions to your output. +# AMD has no connection with or responsibility for such +# license-restricted algorithms or software, and failure to abide by the +# relevant license terms may have legal consequences. +# +# AMD does not distribute or endorse sources for license-restricted +# algorithms or software, and disclaims any liability for their use. + +# Using mpv requires the use of license-restricted algorithms +# or software. +INCLUDE_MPV ??= "no" + +COMMERCIAL_LIC_FLAGS_MPV = "commercial_mpv commercial_ffmpeg commercial_x264" +LICENSE_FLAGS_WHITELIST_append = "${@' ${COMMERCIAL_LIC_FLAGS_MPV}' if bb.utils.to_boolean('${INCLUDE_MPV}') else ''}" +CORE_IMAGE_EXTRA_INSTALL_append = "${@' mpv' if bb.utils.to_boolean('${INCLUDE_MPV}') else ''}" + +# Certain multimedia formats also require license restricted codecs and +# software components which are not included in build by default. +INCLUDE_COMMERCIAL_MULTIMEDIA ??= "no" + +COMMERCIAL_LIC_FLAGS_MULTIMEDIA = "\ + commercial_gstreamer1.0-plugins-ugly \ + commercial_gstreamer1.0-libav \ + commercial_mpeg2dec \ + commercial_ffmpeg \ + commercial_x264 \ + commercial_faad2 \ +" + +LICENSE_FLAGS_WHITELIST_append = "${@' ${COMMERCIAL_LIC_FLAGS_MULTIMEDIA}' if bb.utils.to_boolean('${INCLUDE_COMMERCIAL_MULTIMEDIA}') else ''}" +CORE_IMAGE_EXTRA_INSTALL_append = "${@' packagegroup-multimedia-risky' if bb.utils.to_boolean('${INCLUDE_COMMERCIAL_MULTIMEDIA}') else ''}" + +# To fix the following error: +# Missing or unbuildable dependency chain was: ['core-image-sato', 'gstreamer1.0-vaapi', 'gstreamer1.0-plugins-bad', 'faad2'] +GSTREAMER_PKGS_remove = "${@' gstreamer1.0-vaapi' if not bb.utils.to_boolean('${INCLUDE_COMMERCIAL_MULTIMEDIA}') else ''}" + +# To fix the following error: +# Missing or unbuildable dependency chain was: ['core-image-sato', 'packagegroup-core-x11-sato', 'gst-examples', 'gstreamer1.0-plugins-bad', 'faad2'] +GSTEXAMPLES_remove = "${@' gst-examples' if not bb.utils.to_boolean('${INCLUDE_COMMERCIAL_MULTIMEDIA}') else ''}" diff --git a/common/recipes-core/packagegroups/packagegroup-multimedia-risky.bb b/common/recipes-core/packagegroups/packagegroup-multimedia-risky.bb index 36bc2075..30e80467 100644 --- a/common/recipes-core/packagegroups/packagegroup-multimedia-risky.bb +++ b/common/recipes-core/packagegroups/packagegroup-multimedia-risky.bb @@ -6,7 +6,7 @@ PR = "r0" inherit packagegroup RDEPENDS_${PN} += "\ - libfaad \ + faad2 \ libid3tag \ gstreamer1.0-plugins-bad-meta \ gstreamer1.0-plugins-ugly-meta \ diff --git a/common/recipes-graphics/mesa/libglu/0001-libglu-src-libutil-error.c-add-missing-include-stdde.patch b/common/recipes-graphics/mesa/libglu/0001-libglu-src-libutil-error.c-add-missing-include-stdde.patch new file mode 100644 index 00000000..c2e00de2 --- /dev/null +++ b/common/recipes-graphics/mesa/libglu/0001-libglu-src-libutil-error.c-add-missing-include-stdde.patch @@ -0,0 +1,27 @@ +From e25ad2173b66d28519e1771dba30d0126d7d833e Mon Sep 17 00:00:00 2001 +From: "Arsalan H. Awan" <Arsalan_Awan@mentor.com> +Date: Wed, 21 Aug 2019 17:03:26 +0500 +Subject: [PATCH] libglu/src/libutil/error.c: add missing include <stddef.h> + for NULL def + +Signed-off-by: Arsalan H. Awan <Arsalan_Awan@mentor.com> +--- + src/libutil/error.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/libutil/error.c b/src/libutil/error.c +index 7212748..c71ffdf 100644 +--- a/src/libutil/error.c ++++ b/src/libutil/error.c +@@ -31,7 +31,7 @@ + #include "gluos.h" + #include "gluint.h" + #include <GL/glu.h> +- ++#include <stddef.h> + + struct token_string + { +-- +2.11.1 + diff --git a/common/recipes-graphics/mesa/libglu_9.0.0.bbappend b/common/recipes-graphics/mesa/libglu_9.0.0.bbappend new file mode 100644 index 00000000..f8076b21 --- /dev/null +++ b/common/recipes-graphics/mesa/libglu_9.0.0.bbappend @@ -0,0 +1,3 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +SRC_URI += "file://0001-libglu-src-libutil-error.c-add-missing-include-stdde.patch" diff --git a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0001-adjust-gstomx.conf-for-mesa.patch b/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0001-adjust-gstomx.conf-for-mesa.patch deleted file mode 100644 index 8a413227..00000000 --- a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0001-adjust-gstomx.conf-for-mesa.patch +++ /dev/null @@ -1,72 +0,0 @@ -From b9e5a41ec439d9ccbe18aaa6b7437ca2be82498a Mon Sep 17 00:00:00 2001 -From: Awais Belal <awais_belal@mentor.com> -Date: Thu, 6 Apr 2017 15:45:12 +0500 -Subject: [PATCH] adjust gstomx.conf for mesa-omx - -Signed-off-by: Arindam Nath <arindam.nath@amd.com> -Signed-off-by: Awais Belal <awais_belal@mentor.com> ---- - config/bellagio/gstomx.conf | 25 ++++++++++++++++++++----- - 1 file changed, 20 insertions(+), 5 deletions(-) - -diff --git a/config/bellagio/gstomx.conf b/config/bellagio/gstomx.conf -index 5ca8ba6..48c243d 100644 ---- a/config/bellagio/gstomx.conf -+++ b/config/bellagio/gstomx.conf -@@ -1,7 +1,7 @@ - [omxmpeg4videodec] - type-name=GstOMXMPEG4VideoDec - core-name=/usr/local/lib/libomxil-bellagio.so.0 --component-name=OMX.st.video_decoder.mpeg4 -+component-name=OMX.mesa.video_decoder.mpeg4 - rank=257 - in-port-index=0 - out-port-index=1 -@@ -10,16 +10,15 @@ hacks=event-port-settings-changed-ndata-parameter-swap;event-port-settings-chang - [omxh264dec] - type-name=GstOMXH264Dec - core-name=/usr/local/lib/libomxil-bellagio.so.0 --component-name=OMX.st.video_decoder.avc -+component-name=OMX.mesa.video_decoder.avc - rank=257 - in-port-index=0 - out-port-index=1 --hacks=event-port-settings-changed-ndata-parameter-swap;event-port-settings-changed-port-0-to-1 - - [omxmpeg4videoenc] - type-name=GstOMXMPEG4VideoEnc - core-name=/usr/local/lib/libomxil-bellagio.so.0 --component-name=OMX.st.video_encoder.mpeg4 -+component-name=OMX.mesa.video_encoder.mpeg4 - rank=0 - in-port-index=0 - out-port-index=1 -@@ -28,8 +27,24 @@ hacks=event-port-settings-changed-ndata-parameter-swap;video-framerate-integer;s - [omxaacenc] - type-name=GstOMXAACEnc - core-name=/usr/local/lib/libomxil-bellagio.so.0 --component-name=OMX.st.audio_encoder.aac -+component-name=OMX.mesa.audio_encoder.aac - rank=0 - in-port-index=0 - out-port-index=1 - hacks=event-port-settings-changed-ndata-parameter-swap -+ -+[omxmpeg2dec] -+type-name=GstOMXMPEG2VideoDec -+core-name=/usr/local/lib/libomxil-bellagio.so.0 -+component-name=OMX.mesa.video_decoder.mpeg2 -+rank=256 -+in-port-index=0 -+out-port-index=1 -+ -+[omxh264enc] -+type-name=GstOMXH264Enc -+core-name=/usr/local/lib/libomxil-bellagio.so.0 -+component-name=OMX.mesa.video_encoder.avc -+rank=256 -+in-port-index=0 -+out-port-index=1 --- -2.11.1 - diff --git a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.14.4.bbappend b/common/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.14.4.bbappend index 628ea68e..63d6cd39 100644 --- a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.14.4.bbappend +++ b/common/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.14.4.bbappend @@ -6,8 +6,6 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" # DEPENDS_remove_amd = "gstreamer1.0-plugins-bad" -SRC_URI_append_amd = " file://0001-adjust-gstomx.conf-for-mesa.patch" - # # This package should not have commercial license flags. # There is discussion in the OE community about fixing this diff --git a/common/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-plugins-update-mesa-s-vendor-string-in-whitelist.patch b/common/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-plugins-update-mesa-s-vendor-string-in-whitelist.patch deleted file mode 100644 index 16c5b866..00000000 --- a/common/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-plugins-update-mesa-s-vendor-string-in-whitelist.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 19fe5c4d07e48dce1a64085f96653cad4498db2e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?V=C3=ADctor=20Manuel=20J=C3=A1quez=20Leal?= - <vjaquez@igalia.com> -Date: Mon, 12 Feb 2018 19:00:36 +0100 -Subject: [PATCH] plugins: update mesa's vendor string in whitelist - -Mesa has updated its VA-API Gallium driver vendor string: - -https://cgit.freedesktop.org/mesa/mesa/commit/?id=5db29d62ce1fefa3f2ee6e4a4688576fde4bde4a - -This patch tries to cover both, the old and the new one. - -https://bugzilla.gnome.org/show_bug.cgi?id=793386 ---- - gst/vaapi/gstvaapipluginutil.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gst/vaapi/gstvaapipluginutil.c b/gst/vaapi/gstvaapipluginutil.c -index 9e733059..0ff46bc0 100644 ---- a/gst/vaapi/gstvaapipluginutil.c -+++ b/gst/vaapi/gstvaapipluginutil.c -@@ -836,7 +836,7 @@ gst_vaapi_driver_is_whitelisted (GstVaapiDisplay * display) - guint i; - static const gchar *whitelist[] = { - "Intel i965 driver", -- "mesa gallium vaapi", -+ "mesa gallium", - NULL - }; - --- -2.11.1 - diff --git a/common/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_%.bbappend b/common/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_%.bbappend index f49d24af..08c41975 100644 --- a/common/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_%.bbappend +++ b/common/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_%.bbappend @@ -1,3 +1 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" -SRC_URI_append_amd = " file://0001-plugins-update-mesa-s-vendor-string-in-whitelist.patch" DEPENDS_append_amd = " libva-x11" diff --git a/meta-r1000/conf/machine/r1000.conf b/meta-r1000/conf/machine/r1000.conf index 500f3ee9..abc2bc25 100644 --- a/meta-r1000/conf/machine/r1000.conf +++ b/meta-r1000/conf/machine/r1000.conf @@ -9,6 +9,7 @@ PREFERRED_VERSION_linux-yocto ?= "4.19%" require conf/machine/include/tune-r1000.inc # Add machine specific AMD features and feature pkgs here +EXTRA_IMAGE_FEATURES += "amd-feature-graphics amd-feature-multimedia" VULKAN_PKGS_r1000 = "amdvlk glslang spirv-tools vulkan-loader-layers rgp" AMD_PLATFORM_SPECIFIC_PKGS_r1000 += " \ ${@bb.utils.contains('INCLUDE_OPENCL', 'yes', 'opencl', '', d)} \ |