Drops patches already merged: * 0001-Encode-Bugfix-for-HEVC-VDENC-422-RPL-caps-issue.-588.patch * 0001-RT-Common-Fix-MediaAdapterType-issue-5898.patch
Added new patches: * 0001-ARLH-DID-open-source-6286.patch * 0001-JPEGe-Enable-BGR4-JPEG-Enc-support-6470.patch * 0001-Fix-SetBuffersYV12-V-U-plane-offsets-calculation-647.patch Release notes: https://github.com/oneapi-src/oneVPL-intel-gpu/releases/tag/intel-onevpl-23.4.3 Signed-off-by: Lim Siew Hoon <[email protected]> --- .../0001-ARLH-DID-open-source-6286.patch | 38 ++++++++ ...r-HEVC-VDENC-422-RPL-caps-issue.-588.patch | 70 -------------- ...12-V-U-plane-offsets-calculation-647.patch | 32 +++++++ ...Ge-Enable-BGR4-JPEG-Enc-support-6470.patch | 96 +++++++++++++++++++ ...mmon-Fix-MediaAdapterType-issue-5898.patch | 36 ------- ...u_23.3.4.bb => onevpl-intel-gpu_23.4.3.bb} | 7 +- 6 files changed, 170 insertions(+), 109 deletions(-) create mode 100644 recipes-multimedia/onevpl/files/0001-ARLH-DID-open-source-6286.patch delete 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-Fix-SetBuffersYV12-V-U-plane-offsets-calculation-647.patch create mode 100644 recipes-multimedia/onevpl/files/0001-JPEGe-Enable-BGR4-JPEG-Enc-support-6470.patch delete mode 100644 recipes-multimedia/onevpl/files/0001-RT-Common-Fix-MediaAdapterType-issue-5898.patch rename recipes-multimedia/onevpl/{onevpl-intel-gpu_23.3.4.bb => onevpl-intel-gpu_23.4.3.bb} (77%) diff --git a/recipes-multimedia/onevpl/files/0001-ARLH-DID-open-source-6286.patch b/recipes-multimedia/onevpl/files/0001-ARLH-DID-open-source-6286.patch new file mode 100644 index 00000000..9627d4c7 --- /dev/null +++ b/recipes-multimedia/onevpl/files/0001-ARLH-DID-open-source-6286.patch @@ -0,0 +1,38 @@ +From a425927469b36e7bc597bff4fdc24d42a1168d1a Mon Sep 17 00:00:00 2001 +From: gfxVPLsdm <[email protected]> +Date: Mon, 18 Dec 2023 09:58:35 +0800 +Subject: [PATCH] ARLH DID open source (#6286) + +Co-authored-by: huangli <[email protected]> + +upstream-status: backport +https://github.com/oneapi-src/oneVPL-intel-gpu/commit/66f1b4d60a367eb1b0774e0b4369f906e0e632ae +--- + _studio/shared/include/mfxstructures-int.h | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/_studio/shared/include/mfxstructures-int.h b/_studio/shared/include/mfxstructures-int.h +index 363d9a63..8f16b0a8 100644 +--- a/_studio/shared/include/mfxstructures-int.h ++++ b/_studio/shared/include/mfxstructures-int.h +@@ -1,4 +1,4 @@ +-// Copyright (c) 2007-2021 Intel Corporation ++// Copyright (c) 2007-2023 Intel Corporation + // + // Permission is hereby granted, free of charge, to any person obtaining a copy + // of this software and associated documentation files (the "Software"), to deal +@@ -569,6 +569,11 @@ typedef struct { + /* ARL S */ + { 0x7D67, MFX_HW_ARL, MFX_GT2 }, + ++ /* ARL H*/ ++ { 0x7D51, MFX_HW_ARL, MFX_GT2 }, ++ { 0x7DD1, MFX_HW_ARL, MFX_GT2 }, ++ { 0x7D41, MFX_HW_ARL, MFX_GT2 }, ++ + }; + + /* +-- +2.40.1 + 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 deleted file mode 100644 index 6209f960..00000000 --- a/recipes-multimedia/onevpl/files/0001-Encode-Bugfix-for-HEVC-VDENC-422-RPL-caps-issue.-588.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 3830e393b6e2807f842d3cacda575fa715827e62 Mon Sep 17 00:00:00 2001 -From: gfxVPLsdm <[email protected]> -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 <[email protected]> - -Upstream-Status: Backport [https://github.com/oneapi-src/oneVPL-intel-gpu/commit/3830e393b6e2807f842d3cacda575fa715827e62] -Signed-off-by: Lim Siew Hoon <[email protected]> ---- - .../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-Fix-SetBuffersYV12-V-U-plane-offsets-calculation-647.patch b/recipes-multimedia/onevpl/files/0001-Fix-SetBuffersYV12-V-U-plane-offsets-calculation-647.patch new file mode 100644 index 00000000..fe16fb6e --- /dev/null +++ b/recipes-multimedia/onevpl/files/0001-Fix-SetBuffersYV12-V-U-plane-offsets-calculation-647.patch @@ -0,0 +1,32 @@ +From e118062518c95d8fb0080cc8276b123a90bd0eb9 Mon Sep 17 00:00:00 2001 +From: gfxVPLsdm <[email protected]> +Date: Wed, 21 Feb 2024 17:11:52 +0800 +Subject: [PATCH] Fix SetBuffersYV12() V & U plane offsets calculation (#6475) + +Signed-off-by: Hoe, Sheng Yang <[email protected]> +Co-authored-by: Hoe, Sheng Yang <[email protected]> + +upstream-status: backport +https://github.com/oneapi-src/oneVPL-intel-gpu/commit/ce704ddfe11724767ba86c9425a3917dc3100d4a +--- + _studio/shared/src/libmfx_core_vaapi.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/_studio/shared/src/libmfx_core_vaapi.cpp b/_studio/shared/src/libmfx_core_vaapi.cpp +index 2cad86f8..fd5fc269 100644 +--- a/_studio/shared/src/libmfx_core_vaapi.cpp ++++ b/_studio/shared/src/libmfx_core_vaapi.cpp +@@ -462,8 +462,8 @@ public: + } + else + { +- eb.offsets[1] = eb.offsets[0] + uint32_t(eb.height * eb.pitches[1] / 2); +- eb.offsets[2] = eb.offsets[1] + uint32_t(eb.height * eb.pitches[2] / 2); ++ eb.offsets[1] = eb.offsets[0] + uint32_t(eb.height * eb.pitches[0]); ++ eb.offsets[2] = eb.offsets[1] + uint32_t(eb.height * eb.pitches[1] / 2); + } + eb.num_planes = 3; + eb.data_size = eb.offsets[2] + (eb.height * eb.pitches[2] / 2); +-- +2.40.1 + diff --git a/recipes-multimedia/onevpl/files/0001-JPEGe-Enable-BGR4-JPEG-Enc-support-6470.patch b/recipes-multimedia/onevpl/files/0001-JPEGe-Enable-BGR4-JPEG-Enc-support-6470.patch new file mode 100644 index 00000000..1848d24d --- /dev/null +++ b/recipes-multimedia/onevpl/files/0001-JPEGe-Enable-BGR4-JPEG-Enc-support-6470.patch @@ -0,0 +1,96 @@ +From 40c0bc6d3dfe172dd25908df2c16de29c34fa4d4 Mon Sep 17 00:00:00 2001 +From: gfxVPLsdm <[email protected]> +Date: Mon, 5 Feb 2024 17:14:07 +0800 +Subject: [PATCH] [JPEGe] Enable BGR4 JPEG Enc support (#6470) + +Co-authored-by: vcheah <[email protected]> + +upstream-status: backport +https://github.com/oneapi-src/oneVPL-intel-gpu/commit/e73763d05f8fdc348c356b58dcb83075b5e868f8 +--- + .../mfx_lib/encode_hw/mjpeg/src/mfx_mjpeg_encode_hw.cpp | 6 ++++-- + .../encode_hw/mjpeg/src/mfx_mjpeg_encode_hw_utils.cpp | 9 +++++---- + 2 files changed, 9 insertions(+), 6 deletions(-) + +diff --git a/_studio/mfx_lib/encode_hw/mjpeg/src/mfx_mjpeg_encode_hw.cpp b/_studio/mfx_lib/encode_hw/mjpeg/src/mfx_mjpeg_encode_hw.cpp +index 141564b1..332f6372 100644 +--- a/_studio/mfx_lib/encode_hw/mjpeg/src/mfx_mjpeg_encode_hw.cpp ++++ b/_studio/mfx_lib/encode_hw/mjpeg/src/mfx_mjpeg_encode_hw.cpp +@@ -212,7 +212,8 @@ mfxStatus MFXVideoENCODEMJPEG_HW::QueryImplsDescription( + ah.PushBack(memCaps.ColorFormats) = MFX_FOURCC_YV12; + ah.PushBack(memCaps.ColorFormats) = MFX_FOURCC_YUY2; + ah.PushBack(memCaps.ColorFormats) = MFX_FOURCC_RGB4; +- memCaps.NumColorFormats = 4; ++ ah.PushBack(memCaps.ColorFormats) = MFX_FOURCC_BGR4; ++ memCaps.NumColorFormats = 5; + + ah.PushBack(profileCaps.MemDesc); + profileCaps.MemDesc[1] = profileCaps.MemDesc[0]; +@@ -392,7 +393,7 @@ mfxStatus MFXVideoENCODEMJPEG_HW::Query(VideoCORE * core, mfxVideoParam *in, mfx + if ((fourCC == 0 && chromaFormat == 0) || + (fourCC == MFX_FOURCC_NV12 && (chromaFormat == MFX_CHROMAFORMAT_YUV420 || chromaFormat == MFX_CHROMAFORMAT_YUV400)) || + (fourCC == MFX_FOURCC_YUY2 && chromaFormat == MFX_CHROMAFORMAT_YUV422H) || +- (fourCC == MFX_FOURCC_RGB4 && chromaFormat == MFX_CHROMAFORMAT_YUV444)) ++ ((fourCC == MFX_FOURCC_RGB4 || fourCC == MFX_FOURCC_BGR4) && chromaFormat == MFX_CHROMAFORMAT_YUV444)) + { + out->mfx.FrameInfo.FourCC = in->mfx.FrameInfo.FourCC; + out->mfx.FrameInfo.ChromaFormat = in->mfx.FrameInfo.ChromaFormat; +@@ -698,6 +699,7 @@ mfxStatus MFXVideoENCODEMJPEG_HW::Init(mfxVideoParam *par) + doubleBytesPerPx = 4; + break; + case MFX_FOURCC_RGB4: ++ case MFX_FOURCC_BGR4: + default: + doubleBytesPerPx = 8; + break; +diff --git a/_studio/mfx_lib/encode_hw/mjpeg/src/mfx_mjpeg_encode_hw_utils.cpp b/_studio/mfx_lib/encode_hw/mjpeg/src/mfx_mjpeg_encode_hw_utils.cpp +index 3fc619d1..b1ab556e 100644 +--- a/_studio/mfx_lib/encode_hw/mjpeg/src/mfx_mjpeg_encode_hw_utils.cpp ++++ b/_studio/mfx_lib/encode_hw/mjpeg/src/mfx_mjpeg_encode_hw_utils.cpp +@@ -108,6 +108,7 @@ mfxStatus MfxHwMJpegEncode::CheckJpegParam(VideoCORE *core, mfxVideoParam & par, + BytesPerPx = 2; + break; + case MFX_FOURCC_RGB4: ++ case MFX_FOURCC_BGR4: + default: + BytesPerPx = 4; + } +@@ -157,7 +158,7 @@ mfxStatus ExecuteBuffers::Init(mfxVideoParam const *par, mfxEncodeCtrl const * c + + m_payload_base.length = 0; + m_payload_list.clear(); +- if (fourCC == MFX_FOURCC_RGB4 && chromaFormat == MFX_CHROMAFORMAT_YUV444) ++ if ((fourCC == MFX_FOURCC_RGB4 || fourCC == MFX_FOURCC_BGR4) && chromaFormat == MFX_CHROMAFORMAT_YUV444) + { + m_app14_data.header = 0xEEFF;//APP14 + m_app14_data.lenH = 0; +@@ -287,7 +288,7 @@ mfxStatus ExecuteBuffers::Init(mfxVideoParam const *par, mfxEncodeCtrl const * c + m_pps.num_components = 3; + else if (fourCC == MFX_FOURCC_NV12 && chromaFormat == MFX_CHROMAFORMAT_YUV400) + m_pps.num_components = 1; +- else if (fourCC == MFX_FOURCC_RGB4 && chromaFormat == MFX_CHROMAFORMAT_YUV444) ++ else if ((fourCC == MFX_FOURCC_RGB4 || fourCC == MFX_FOURCC_BGR4) && chromaFormat == MFX_CHROMAFORMAT_YUV444) + m_pps.num_components = 3; + else + MFX_RETURN(MFX_ERR_UNDEFINED_BEHAVIOR); +@@ -341,7 +342,7 @@ mfxStatus ExecuteBuffers::Init(mfxVideoParam const *par, mfxEncodeCtrl const * c + { + // No external tables - use Quality parameter + m_dqt_list.resize(0); +- if (fourCC == MFX_FOURCC_RGB4) ++ if (fourCC == MFX_FOURCC_RGB4 || fourCC == MFX_FOURCC_BGR4) + { + m_pps.quantiser_table_selector[0] = 0; + m_pps.quantiser_table_selector[1] = 0; +@@ -393,7 +394,7 @@ mfxStatus ExecuteBuffers::Init(mfxVideoParam const *par, mfxEncodeCtrl const * c + { + m_dht_list.resize(0); + } +- else if (hwCaps->MaxNumHuffTable == 1 || fourCC == MFX_FOURCC_RGB4) ++ else if (hwCaps->MaxNumHuffTable == 1 || (fourCC == MFX_FOURCC_RGB4 || fourCC == MFX_FOURCC_BGR4)) + { + m_dht_list.resize(1); + +-- +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 deleted file mode 100644 index 597cc14d..00000000 --- a/recipes-multimedia/onevpl/files/0001-RT-Common-Fix-MediaAdapterType-issue-5898.patch +++ /dev/null @@ -1,36 +0,0 @@ -From a694f724e9969575a9c993ff1769850de5673fee Mon Sep 17 00:00:00 2001 -From: gfxVPLsdm <[email protected]> -Date: Mon, 23 Oct 2023 16:57:50 +0800 -Subject: [PATCH] [RT Common] Fix MediaAdapterType issue (#5898) - -Co-authored-by: Liu, Rachel <[email protected]> - -Upstream-Status: Backport [https://github.com/oneapi-src/oneVPL-intel-gpu/commit/a694f724e9969575a9c993ff1769850de5673fee] -Signed-off-by: Lim Siew Hoon <[email protected]> ---- - _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<IVideoCore_API_1_19>(&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.3.4.bb b/recipes-multimedia/onevpl/onevpl-intel-gpu_23.4.3.bb similarity index 77% rename from recipes-multimedia/onevpl/onevpl-intel-gpu_23.3.4.bb rename to recipes-multimedia/onevpl/onevpl-intel-gpu_23.4.3.bb index 5ba4ff58..0b849bf1 100644 --- a/recipes-multimedia/onevpl/onevpl-intel-gpu_23.3.4.bb +++ b/recipes-multimedia/onevpl/onevpl-intel-gpu_23.4.3.bb @@ -18,11 +18,12 @@ 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 \ + file://0001-ARLH-DID-open-source-6286.patch \ + file://0001-JPEGe-Enable-BGR4-JPEG-Enc-support-6470.patch \ + file://0001-Fix-SetBuffersYV12-V-U-plane-offsets-calculation-647.patch \ " -SRCREV = "30963ed30d428ccaf3c80360c8657d9c831cb38c" +SRCREV = "852fa9f705ef44c004d014548601f3804a6de705" S = "${WORKDIR}/git" FILES:${PN} += " \ -- 2.40.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#8231): https://lists.yoctoproject.org/g/meta-intel/message/8231 Mute This Topic: https://lists.yoctoproject.org/mt/104578086/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/meta-intel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
