From 52ce86a7f5f1ed751d80bc5e1d6b76db1c5b84c8 Mon Sep 17 00:00:00 2001 From: Lim Siew Hoon Date: Fri, 24 Nov 2023 09:23:03 +0800 Subject: onevpl-intel-gpu: upgrade 23.2.4 -> 23.3.4 Backport two code fixed: - 0001-Encode-Bugfix-for-HEVC-VDENC-422-RPL-caps-issue.-588.patch - 0001-RT-Common-Fix-MediaAdapterType-issue-5898.patch Release notes: https://github.com/oneapi-src/oneVPL-intel-gpu/releases/tag/intel-onevpl-23.3.4 Signed-off-by: Lim Siew Hoon Signed-off-by: Anuj Mittal --- ...ix-for-HEVC-VDENC-422-RPL-caps-issue.-588.patch | 70 ++++++++++++++++++++++ ...RT-Common-Fix-MediaAdapterType-issue-5898.patch | 36 +++++++++++ .../onevpl/onevpl-intel-gpu_23.2.4.bb | 30 ---------- .../onevpl/onevpl-intel-gpu_23.3.4.bb | 32 ++++++++++ 4 files changed, 138 insertions(+), 30 deletions(-) create mode 100644 recipes-multimedia/onevpl/files/0001-Encode-Bugfix-for-HEVC-VDENC-422-RPL-caps-issue.-588.patch create mode 100644 recipes-multimedia/onevpl/files/0001-RT-Common-Fix-MediaAdapterType-issue-5898.patch delete mode 100644 recipes-multimedia/onevpl/onevpl-intel-gpu_23.2.4.bb create mode 100644 recipes-multimedia/onevpl/onevpl-intel-gpu_23.3.4.bb (limited to 'recipes-multimedia') diff --git a/recipes-multimedia/onevpl/files/0001-Encode-Bugfix-for-HEVC-VDENC-422-RPL-caps-issue.-588.patch b/recipes-multimedia/onevpl/files/0001-Encode-Bugfix-for-HEVC-VDENC-422-RPL-caps-issue.-588.patch new file mode 100644 index 00000000..6209f960 --- /dev/null +++ b/recipes-multimedia/onevpl/files/0001-Encode-Bugfix-for-HEVC-VDENC-422-RPL-caps-issue.-588.patch @@ -0,0 +1,70 @@ +From 3830e393b6e2807f842d3cacda575fa715827e62 Mon Sep 17 00:00:00 2001 +From: gfxVPLsdm +Date: Thu, 19 Oct 2023 13:03:53 +0800 +Subject: [PATCH] [Encode] Bugfix for HEVC VDENC 422 RPL caps issue. (#5886) + +Fixed HEVC VDENC 422 RPL caps issue. + +Co-authored-by: Wenjuan Zhang + +Upstream-Status: Backport [https://github.com/oneapi-src/oneVPL-intel-gpu/commit/3830e393b6e2807f842d3cacda575fa715827e62] +Signed-off-by: Lim Siew Hoon +--- + .../hevc/agnostic/base/hevcehw_base_recon422.h | 4 +++- + .../hevc/agnostic/base/hevcehw_base_recon422_ext.h | 11 +++++++++++ + .../hevc/linux/base/hevcehw_base_va_packer_lin.cpp | 2 +- + 3 files changed, 15 insertions(+), 2 deletions(-) + +diff --git a/_studio/mfx_lib/encode_hw/hevc/agnostic/base/hevcehw_base_recon422.h b/_studio/mfx_lib/encode_hw/hevc/agnostic/base/hevcehw_base_recon422.h +index 24bf5cf2..d150ca1c 100644 +--- a/_studio/mfx_lib/encode_hw/hevc/agnostic/base/hevcehw_base_recon422.h ++++ b/_studio/mfx_lib/encode_hw/hevc/agnostic/base/hevcehw_base_recon422.h +@@ -36,7 +36,9 @@ class Recon422 + public: + #define DECL_BLOCK_LIST\ + DECL_BLOCK(SetCallChain)\ +- DECL_BLOCK(SetRecon422Caps) ++ DECL_BLOCK(SetRecon422Caps)\ ++ DECL_BLOCK(HardcodeCaps)\ ++ DECL_BLOCK(HardcodeCapsExt) + #define DECL_FEATURE_NAME "Base_RECON422" + #include "hevcehw_decl_blocks.h" + +diff --git a/_studio/mfx_lib/encode_hw/hevc/agnostic/base/hevcehw_base_recon422_ext.h b/_studio/mfx_lib/encode_hw/hevc/agnostic/base/hevcehw_base_recon422_ext.h +index 165c96b1..63b3c301 100644 +--- a/_studio/mfx_lib/encode_hw/hevc/agnostic/base/hevcehw_base_recon422_ext.h ++++ b/_studio/mfx_lib/encode_hw/hevc/agnostic/base/hevcehw_base_recon422_ext.h +@@ -40,6 +40,17 @@ public: + {} + + protected: ++ virtual void Query1WithCaps(const FeatureBlocks& /*blocks*/, TPushQ1 Push) override ++ { ++ Push(BLK_HardcodeCaps ++ , [this](const mfxVideoParam&, mfxVideoParam&, StorageRW& strg) -> mfxStatus ++ { ++ auto& caps = HEVCEHW::Base::Glob::EncodeCaps::Get(strg); ++ caps.YUV422ReconSupport = !caps.Color420Only; ++ return MFX_ERR_NONE; ++ }); ++ } ++ + virtual void Query1NoCaps(const FeatureBlocks& blocks, TPushQ1 Push) override + { + using Base::Glob; +diff --git a/_studio/mfx_lib/encode_hw/hevc/linux/base/hevcehw_base_va_packer_lin.cpp b/_studio/mfx_lib/encode_hw/hevc/linux/base/hevcehw_base_va_packer_lin.cpp +index 1ffc9388..46a1f69c 100644 +--- a/_studio/mfx_lib/encode_hw/hevc/linux/base/hevcehw_base_va_packer_lin.cpp ++++ b/_studio/mfx_lib/encode_hw/hevc/linux/base/hevcehw_base_va_packer_lin.cpp +@@ -60,7 +60,7 @@ void VAPacker::Query1WithCaps(const FeatureBlocks& /*blocks*/, TPushQ1 Push) + + caps.MaxEncodedBitDepth |= (!caps.BitDepth8Only); + caps.YUV444ReconSupport |= (!caps.Color420Only && IsOn(par.mfx.LowPower)); +- caps.YUV422ReconSupport &= (!caps.Color420Only); ++ caps.YUV422ReconSupport &= (!caps.Color420Only && !IsOn(par.mfx.LowPower)); + + return MFX_ERR_NONE; + }); +-- +2.40.1 + diff --git a/recipes-multimedia/onevpl/files/0001-RT-Common-Fix-MediaAdapterType-issue-5898.patch b/recipes-multimedia/onevpl/files/0001-RT-Common-Fix-MediaAdapterType-issue-5898.patch new file mode 100644 index 00000000..597cc14d --- /dev/null +++ b/recipes-multimedia/onevpl/files/0001-RT-Common-Fix-MediaAdapterType-issue-5898.patch @@ -0,0 +1,36 @@ +From a694f724e9969575a9c993ff1769850de5673fee Mon Sep 17 00:00:00 2001 +From: gfxVPLsdm +Date: Mon, 23 Oct 2023 16:57:50 +0800 +Subject: [PATCH] [RT Common] Fix MediaAdapterType issue (#5898) + +Co-authored-by: Liu, Rachel + +Upstream-Status: Backport [https://github.com/oneapi-src/oneVPL-intel-gpu/commit/a694f724e9969575a9c993ff1769850de5673fee] +Signed-off-by: Lim Siew Hoon +--- + _studio/mfx_lib/shared/src/libmfxsw.cpp | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/_studio/mfx_lib/shared/src/libmfxsw.cpp b/_studio/mfx_lib/shared/src/libmfxsw.cpp +index 94982359..f85f2d75 100644 +--- a/_studio/mfx_lib/shared/src/libmfxsw.cpp ++++ b/_studio/mfx_lib/shared/src/libmfxsw.cpp +@@ -831,6 +831,15 @@ mfxHDL* MFX_CDECL MFXQueryImplsDescription(mfxImplCapsDeliveryFormat format, mfx + ah.PushBack(impl.PoolPolicies.Policy) = MFX_ALLOCATION_UNLIMITED; + ah.PushBack(impl.PoolPolicies.Policy) = MFX_ALLOCATION_LIMITED; + ++ impl.Dev.Version.Version = MFX_STRUCT_VERSION(1, 1); ++ impl.Dev.MediaAdapterType = MFX_MEDIA_UNKNOWN; ++ ++ if (auto pCore1_19 = QueryCoreInterface(&core, MFXICORE_API_1_19_GUID)) ++ { ++ mfxPlatform platform = {}; ++ if (MFX_ERR_NONE == pCore1_19->QueryPlatform(&platform)) ++ impl.Dev.MediaAdapterType = platform.MediaAdapterType; ++ } + + snprintf(impl.Dev.DeviceID, sizeof(impl.Dev.DeviceID), "%x/%d", deviceId, adapterNum); + snprintf(impl.ImplName, sizeof(impl.ImplName), "mfx-gen"); +-- +2.40.1 + diff --git a/recipes-multimedia/onevpl/onevpl-intel-gpu_23.2.4.bb b/recipes-multimedia/onevpl/onevpl-intel-gpu_23.2.4.bb deleted file mode 100644 index 2a2233e1..00000000 --- a/recipes-multimedia/onevpl/onevpl-intel-gpu_23.2.4.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "Intel(R) oneVPL runtime for Intel GPU accelerated media processing" -DESCRIPTION = "Intel(R) oneVPL runtime provides an runtime to access hardware-accelerated \ -video decode, encode and filtering on IntelĀ® graphics." - -HOMEPAGE = "https://github.com/oneapi-src/oneVPL-intel-gpu" -BUGTRACKER = "https://github.com/oneapi-src/oneVPL-intel-gpu/issues" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=eb8cb45b9b57dbaa9fcc9adc4230202b" - -PE = "1" - -# Only for 64 bit -COMPATIBLE_HOST = '(x86_64).*-linux' -COMPATIBLE_HOST:x86-x32 = "null" - -DEPENDS += "libdrm libva intel-media-driver onevpl pkgconfig-native" -RDEPENDS:${PN} += "intel-media-driver" - -SRC_URI = "git://github.com/oneapi-src/oneVPL-intel-gpu.git;protocol=https;nobranch=1;lfs=0 \ - " - -SRCREV = "b2af8d128452c4b4c94399f051c3214f11c1dfa9" -S = "${WORKDIR}/git" - -FILES:${PN} += " \ - ${libdir}/libmfx-gen/enctools.so \ - " - -inherit cmake diff --git a/recipes-multimedia/onevpl/onevpl-intel-gpu_23.3.4.bb b/recipes-multimedia/onevpl/onevpl-intel-gpu_23.3.4.bb new file mode 100644 index 00000000..5ba4ff58 --- /dev/null +++ b/recipes-multimedia/onevpl/onevpl-intel-gpu_23.3.4.bb @@ -0,0 +1,32 @@ +SUMMARY = "Intel(R) oneVPL runtime for Intel GPU accelerated media processing" +DESCRIPTION = "Intel(R) oneVPL runtime provides an runtime to access hardware-accelerated \ +video decode, encode and filtering on IntelĀ® graphics." + +HOMEPAGE = "https://github.com/oneapi-src/oneVPL-intel-gpu" +BUGTRACKER = "https://github.com/oneapi-src/oneVPL-intel-gpu/issues" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=eb8cb45b9b57dbaa9fcc9adc4230202b" + +PE = "1" + +# Only for 64 bit +COMPATIBLE_HOST = '(x86_64).*-linux' +COMPATIBLE_HOST:x86-x32 = "null" + +DEPENDS += "libdrm libva intel-media-driver onevpl pkgconfig-native" +RDEPENDS:${PN} += "intel-media-driver" + +SRC_URI = "git://github.com/oneapi-src/oneVPL-intel-gpu.git;protocol=https;nobranch=1;lfs=0 \ + file://0001-Encode-Bugfix-for-HEVC-VDENC-422-RPL-caps-issue.-588.patch \ + file://0001-RT-Common-Fix-MediaAdapterType-issue-5898.patch \ + " + +SRCREV = "30963ed30d428ccaf3c80360c8657d9c831cb38c" +S = "${WORKDIR}/git" + +FILES:${PN} += " \ + ${libdir}/libmfx-gen/enctools.so \ + " + +inherit cmake -- cgit v1.2.3-54-g00ecf