Media (Intel® Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools like Intel® oneAPI Video Processing Library and Intel® Media SDK
Announcements
The Intel Media SDK project is no longer active. For continued support and access to new features, Intel Media SDK users are encouraged to read the transition guide on upgrading from Intel® Media SDK to Intel® Video Processing Library (VPL), and to move to VPL as soon as possible.
For more information, see the VPL website.

Using VPP with P010 format

Wonseok_S_
Beginner
798 Views

Hi,

I've test of convert P010 to NV12 color using sample_vpp project in media sdk sample 6.0.0.142 

sample info : 

- FourCC : P010

- resolution : 3840 x 2160

 

Question 1

step 1 : Fix function Str2FourCC() as below

static mfxU32 Str2FourCC( msdk_char* strInput )
{
    mfxU32 fourcc = MFX_FOURCC_YV12;//default

    ...
	else if ( 0 == msdk_strcmp(strInput, MSDK_STRING("p010")) ) 
	{
		fourcc = MFX_FOURCC_P010;
	}

    return fourcc;

} // mfxU32 Str2FourCC( msdk_char* strInput )

 

step 2 : Fix function InitParamsVPP() as below

mfxStatus InitParamsVPP(mfxVideoParam* pParams, sInputParams* pInParams)
{
  ...
  /* input data */
  pParams->vpp.In.FourCC          = pInParams->inFrameInfo[VPP_IN].FourCC;
  if ( MFX_FOURCC_P010 == pInParams->inFrameInfo[VPP_IN].FourCC )
  {
	  pParams->vpp.In.BitDepthChroma = 10;
	  pParams->vpp.In.BitDepthLuma = 10;
  }
  ...
}

When run project with option 

-lib hw -sw 3840 -sh 2160 -scc p010 -i p010.yuv -o nv12.yuv

MFXVideoVPP_Init() function returns -15 

there is input/output video parameter set on runtime debugging.
 

in_0.png

 

out_0.png

 

The tests with other input color format (YV12) shows correct result and converted image.

The SDK documentation (https://software.intel.com/sites/default/files/managed/47/49/mediasdk-man.pdf) describes it's able to convert P010 to NV12 with VPP.

 

Question 2.

This test was done with option -lib hw.

In CreateFrameProcessor() function, mfxSession initialize with HW implementation and returns MFX_ERR_NONE,
but in function PrintInfo() function, pMfxSession->QueryIMPL(&impl); function set impl with 517 and describe as SW implementaion.

I want to know VPP can run with HW implementation? 

Could anybody tell me how to solve this problem?

 

 

0 Kudos
3 Replies
Surbhi_M_Intel
Employee
798 Views

Looking at it now, will try to reproduce the issue at our end and get back soon to you.

0 Kudos
Surbhi_M_Intel
Employee
798 Views

Hi Wonseok, 

Sample_vpp doesn't support P010 color format by default so it need few changes in the application, please add P010 color format in multiple functions where this format is missing - theConverColortFormat(), LoadNextFrame(), FourCC2Str() and ConvertMfxFourccToD3dFormat(). Please add the color format, build sample and run the application again. 

Surbhi

0 Kudos
Wonseok_S_
Beginner
798 Views

Thanks, Surbhi.

I'd prove that problem with your help.

 

0 Kudos
Reply