Media (Intel® oneAPI 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 sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.

Using VPP with P010 format

Wonseok_S_
Beginner
548 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
548 Views

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

Surbhi_M_Intel
Employee
548 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

Wonseok_S_
Beginner
548 Views

Thanks, Surbhi.

I'd prove that problem with your help.

 

Reply