From: "Yew, Chang Ching" <[email protected]>

Added patches:
0001-Fix-NV12-input-format-in-legacy-samples.patch
0001-Fix-sample_encode-i010-input.patch
0001-Fix-sample_vpp-sample_encode-alignment-issue.patch

Signed-off-by: Yew, Chang Ching <[email protected]>
---
 ...-NV12-input-format-in-legacy-samples.patch | 33 +++++++
 .../0001-Fix-sample_encode-i010-input.patch   | 59 ++++++++++++
 ...le_vpp-sample_encode-alignment-issue.patch | 93 +++++++++++++++++++
 recipes-multimedia/onevpl/onevpl_2021.2.2.bb  |  3 +
 4 files changed, 188 insertions(+)
 create mode 100644 
recipes-multimedia/onevpl/onevpl/0001-Fix-NV12-input-format-in-legacy-samples.patch
 create mode 100644 
recipes-multimedia/onevpl/onevpl/0001-Fix-sample_encode-i010-input.patch
 create mode 100644 
recipes-multimedia/onevpl/onevpl/0001-Fix-sample_vpp-sample_encode-alignment-issue.patch

diff --git 
a/recipes-multimedia/onevpl/onevpl/0001-Fix-NV12-input-format-in-legacy-samples.patch
 
b/recipes-multimedia/onevpl/onevpl/0001-Fix-NV12-input-format-in-legacy-samples.patch
new file mode 100644
index 00000000..b84a75a6
--- /dev/null
+++ 
b/recipes-multimedia/onevpl/onevpl/0001-Fix-NV12-input-format-in-legacy-samples.patch
@@ -0,0 +1,33 @@
+From 4fcf0bf6e745d929cc28ae5d0a37ba730a8ed6fa Mon Sep 17 00:00:00 2001
+From: Natalia Domnina <[email protected]>
+Date: Wed, 19 May 2021 12:01:43 +0300
+Subject: [PATCH] Fix NV12 input format in legacy samples
+
+Upstream-Status: Backport
+---
+ tools/legacy/sample_common/src/sample_utils.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tools/legacy/sample_common/src/sample_utils.cpp 
b/tools/legacy/sample_common/src/sample_utils.cpp
+index 2457a74..8c821ca 100644
+--- a/tools/legacy/sample_common/src/sample_utils.cpp
++++ b/tools/legacy/sample_common/src/sample_utils.cpp
+@@ -401,7 +401,6 @@ mfxStatus CSmplYUVReader::LoadNextFrame(mfxFrameSurface1* 
pSurface) {
+         {
+             case MFX_FOURCC_I420:
+             case MFX_FOURCC_YV12:
+-            case MFX_FOURCC_NV12:
+                 switch (pInfo.FourCC) {
+                     case MFX_FOURCC_NV12:
+
+@@ -503,6 +502,7 @@ mfxStatus CSmplYUVReader::LoadNextFrame(mfxFrameSurface1* 
pSurface) {
+                     }
+                 }
+                 break;
++            case MFX_FOURCC_NV12:
+             case MFX_FOURCC_P010:
+             case MFX_FOURCC_P210:
+ #if (MFX_VERSION >= 1031)
+--
+2.32.0
+
diff --git 
a/recipes-multimedia/onevpl/onevpl/0001-Fix-sample_encode-i010-input.patch 
b/recipes-multimedia/onevpl/onevpl/0001-Fix-sample_encode-i010-input.patch
new file mode 100644
index 00000000..e0986dce
--- /dev/null
+++ b/recipes-multimedia/onevpl/onevpl/0001-Fix-sample_encode-i010-input.patch
@@ -0,0 +1,59 @@
+From ffd917e7b4dc37ff3863b43cf4821f3454944344 Mon Sep 17 00:00:00 2001
+From: Seunghyuk Park <[email protected]>
+Date: Mon, 31 May 2021 10:47:41 -0700
+Subject: [PATCH] Fix sample_encode i010 input
+
+Upstream-Status: Backport
+---
+ .../legacy/sample_encode/src/pipeline_encode.cpp | 16 ++++++++++------
+ tools/legacy/sample_encode/src/sample_encode.cpp |  4 ++--
+ 2 files changed, 12 insertions(+), 8 deletions(-)
+
+diff --git a/tools/legacy/sample_encode/src/pipeline_encode.cpp 
b/tools/legacy/sample_encode/src/pipeline_encode.cpp
+index 4aa5aef..9af4901 100644
+--- a/tools/legacy/sample_encode/src/pipeline_encode.cpp
++++ b/tools/legacy/sample_encode/src/pipeline_encode.cpp
+@@ -1716,15 +1716,19 @@ mfxStatus CEncodingPipeline::Init(sInputParams 
*pParams) {
+
+     m_MVCflags = pParams->MVC_flags;
+
+-    // FileReader can convert yv12->nv12 without vpp
+-    m_InputFourCC =
+-        (pParams->FileInputFourCC == MFX_FOURCC_I420) ? MFX_FOURCC_NV12 : 
pParams->FileInputFourCC;
++    // FileReader can convert yv12->nv12 without vpp, when hw impl
+ #if (MFX_VERSION >= 2000)
+-    if (pParams->bUseHWLib == true)
+-        pParams->EncodeFourCC = MFX_FOURCC_NV12;
++    if (pParams->bUseHWLib == false)
++        m_InputFourCC = pParams->FileInputFourCC;
+     else
+-        pParams->EncodeFourCC = MFX_FOURCC_I420;
+ #endif
++    {
++        m_InputFourCC = (pParams->FileInputFourCC == MFX_FOURCC_I420) ? 
MFX_FOURCC_NV12
++                                                                      : 
pParams->FileInputFourCC;
++        pParams->EncodeFourCC =
++            (pParams->EncodeFourCC == MFX_FOURCC_I420) ? MFX_FOURCC_NV12 : 
pParams->EncodeFourCC;
++    }
++
+     m_nTimeout = pParams->nTimeout;
+
+     m_strDevicePath = pParams->strDevicePath;
+diff --git a/tools/legacy/sample_encode/src/sample_encode.cpp 
b/tools/legacy/sample_encode/src/sample_encode.cpp
+index 0a22eb2..74607a8 100644
+--- a/tools/legacy/sample_encode/src/sample_encode.cpp
++++ b/tools/legacy/sample_encode/src/sample_encode.cpp
+@@ -592,8 +592,8 @@ mfxStatus ParseInputString(msdk_char* strInput[], mfxU8 
nArgNum, sInputParams* p
+         }
+ #if (MFX_VERSION >= 2000)
+         else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-i420"))) {
+-            pParams->FileInputFourCC = MFX_FOURCC_IYUV;
+-            pParams->EncodeFourCC    = MFX_FOURCC_IYUV;
++            pParams->FileInputFourCC = MFX_FOURCC_I420;
++            pParams->EncodeFourCC    = MFX_FOURCC_I420;
+         }
+         else if (0 == msdk_strcmp(strInput[i], MSDK_STRING("-i010"))) {
+             pParams->FileInputFourCC = MFX_FOURCC_I010;
+--
+2.32.0
+
diff --git 
a/recipes-multimedia/onevpl/onevpl/0001-Fix-sample_vpp-sample_encode-alignment-issue.patch
 
b/recipes-multimedia/onevpl/onevpl/0001-Fix-sample_vpp-sample_encode-alignment-issue.patch
new file mode 100644
index 00000000..b6dddee6
--- /dev/null
+++ 
b/recipes-multimedia/onevpl/onevpl/0001-Fix-sample_vpp-sample_encode-alignment-issue.patch
@@ -0,0 +1,93 @@
+From 1b754c4bf20c33ae0e9a82197be58975da828516 Mon Sep 17 00:00:00 2001
+From: Seunghyuk Park <[email protected]>
+Date: Tue, 25 May 2021 13:46:00 -0700
+Subject: [PATCH] Fix sample_vpp, sample_encode alignment issue
+
+Upstream-Status: Backport
+---
+ .../sample_encode/src/pipeline_encode.cpp     | 21 +++++++++++++++++++
+ .../sample_vpp/src/sample_vpp_utils.cpp       |  9 ++++++++
+ 2 files changed, 30 insertions(+)
+
+diff --git a/tools/legacy/sample_encode/src/pipeline_encode.cpp 
b/tools/legacy/sample_encode/src/pipeline_encode.cpp
+index 6e5c6fc..f68ed02 100644
+--- a/tools/legacy/sample_encode/src/pipeline_encode.cpp
++++ b/tools/legacy/sample_encode/src/pipeline_encode.cpp
+@@ -594,6 +594,13 @@ mfxStatus 
CEncodingPipeline::InitMfxEncParams(sInputParams *pInParams) {
+             ? MSDK_ALIGN16(pInParams->nDstHeight)
+             : MSDK_ALIGN32(pInParams->nDstHeight);
+
++#if (MFX_VERSION >= 2000)
++    if (!pInParams->bUseHWLib) {
++        m_mfxEncParams.mfx.FrameInfo.Width  = pInParams->nDstWidth;
++        m_mfxEncParams.mfx.FrameInfo.Height = pInParams->nDstHeight;
++    }
++#endif
++
+     m_mfxEncParams.mfx.FrameInfo.CropX = 0;
+     m_mfxEncParams.mfx.FrameInfo.CropY = 0;
+     m_mfxEncParams.mfx.FrameInfo.CropW = pInParams->nDstWidth;
+@@ -855,6 +862,13 @@ mfxStatus 
CEncodingPipeline::InitMfxVppParams(sInputParams *pInParams) {
+                                        ? MSDK_ALIGN16(pInParams->nHeight)
+                                        : MSDK_ALIGN32(pInParams->nHeight);
+
++#if (MFX_VERSION >= 2000)
++    if (!pInParams->bUseHWLib) {
++        m_mfxVppParams.vpp.In.Width  = pInParams->nWidth;
++        m_mfxVppParams.vpp.In.Height = pInParams->nHeight;
++    }
++#endif
++
+     // set crops in input mfxFrameInfo for correct work of file reader
+     // VPP itself ignores crops at initialization
+     m_mfxVppParams.vpp.In.CropW = pInParams->nWidth;
+@@ -893,6 +907,13 @@ mfxStatus 
CEncodingPipeline::InitMfxVppParams(sInputParams *pInParams) {
+                                         ? MSDK_ALIGN16(pInParams->nDstHeight)
+                                         : MSDK_ALIGN32(pInParams->nDstHeight);
+
++#if (MFX_VERSION >= 2000)
++    if (!pInParams->bUseHWLib) {
++        m_mfxVppParams.vpp.Out.Width  = pInParams->nDstWidth;
++        m_mfxVppParams.vpp.Out.Height = pInParams->nDstHeight;
++    }
++#endif
++
+     // configure and attach external parameters
+     InitVppFilters();
+
+diff --git a/tools/legacy/sample_vpp/src/sample_vpp_utils.cpp 
b/tools/legacy/sample_vpp/src/sample_vpp_utils.cpp
+index 60b7720..ccb6cff 100644
+--- a/tools/legacy/sample_vpp/src/sample_vpp_utils.cpp
++++ b/tools/legacy/sample_vpp/src/sample_vpp_utils.cpp
+@@ -385,12 +385,20 @@ mfxStatus InitParamsVPP(MfxVideoParamsWrapper* pParams, 
sInputParams* pInParams,
+     pParams->vpp.In.CropY = pInParams->frameInfoIn[paramID].CropY;
+     pParams->vpp.In.CropW = pInParams->frameInfoIn[paramID].CropW;
+     pParams->vpp.In.CropH = pInParams->frameInfoIn[paramID].CropH;
++
+     pParams->vpp.In.Width = 
MSDK_ALIGN16(pInParams->frameInfoIn[paramID].nWidth);
+     pParams->vpp.In.Height =
+         (MFX_PICSTRUCT_PROGRESSIVE == 
pInParams->frameInfoIn[paramID].PicStruct)
+             ? MSDK_ALIGN16(pInParams->frameInfoIn[paramID].nHeight)
+             : MSDK_ALIGN32(pInParams->frameInfoIn[paramID].nHeight);
+
++#if (MFX_VERSION >= 2000)
++    if (MFX_IMPL_SOFTWARE == pInParams->ImpLib) {
++        pParams->vpp.In.Width  = pInParams->frameInfoIn[paramID].nWidth;
++        pParams->vpp.In.Height = pInParams->frameInfoIn[paramID].nHeight;
++    }
++#endif
++
+     // width must be a multiple of 16
+     // height must be a multiple of 16 in case of frame picture and
+     // a multiple of 32 in case of field picture
+@@ -441,6 +449,7 @@ mfxStatus InitParamsVPP(MfxVideoParamsWrapper* pParams, 
sInputParams* pInParams,
+         (MFX_PICSTRUCT_PROGRESSIVE == 
pInParams->frameInfoOut[paramID].PicStruct)
+             ? MSDK_ALIGN16(pInParams->frameInfoOut[paramID].nHeight)
+             : MSDK_ALIGN32(pInParams->frameInfoOut[paramID].nHeight);
++
+ #if (MFX_VERSION >= 2000)
+     if (MFX_IMPL_SOFTWARE == pInParams->ImpLib) {
+         pParams->vpp.Out.Width  = pInParams->frameInfoOut[paramID].nWidth;
+--
+2.32.0
+
diff --git a/recipes-multimedia/onevpl/onevpl_2021.2.2.bb 
b/recipes-multimedia/onevpl/onevpl_2021.2.2.bb
index 911b5927..6812ccfa 100644
--- a/recipes-multimedia/onevpl/onevpl_2021.2.2.bb
+++ b/recipes-multimedia/onevpl/onevpl_2021.2.2.bb
@@ -15,6 +15,9 @@ SRC_URI = 
"git://github.com/oneapi-src/oneVPL.git;protocol=https \
             file://0001-Update-headers-to-oneAPI-spec-v2.3-e170992.patch \
             file://0001-Remove-duplicate-MFXVideoDECODE_VPP-from-samples.patch 
\
             file://0001-Add-SMT-and-media_sdk_compatibility_headers.patch \
+            file://0001-Fix-NV12-input-format-in-legacy-samples.patch \
+            file://0001-Fix-sample_vpp-sample_encode-alignment-issue.patch \
+            file://0001-Fix-sample_encode-i010-input.patch \
             "
 SRCREV = "17968d8d2299352f5a9e09388d24e81064c81c87"
 S = "${WORKDIR}/git"
-- 
2.32.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#7095): 
https://lists.yoctoproject.org/g/meta-intel/message/7095
Mute This Topic: https://lists.yoctoproject.org/mt/83550207/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-intel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to