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.3.4.bb similarity index 80% rename from recipes-multimedia/onevpl/onevpl-intel-gpu_23.2.4.bb rename to recipes-multimedia/onevpl/onevpl-intel-gpu_23.3.4.bb index 2a2233e1..5ba4ff58 100644 --- a/recipes-multimedia/onevpl/onevpl-intel-gpu_23.2.4.bb +++ b/recipes-multimedia/onevpl/onevpl-intel-gpu_23.3.4.bb @@ -18,9 +18,11 @@ 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 = "b2af8d128452c4b4c94399f051c3214f11c1dfa9" +SRCREV = "30963ed30d428ccaf3c80360c8657d9c831cb38c" S = "${WORKDIR}/git" FILES:${PN} += " \