Media (Intel® oneAPI Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools from Intel. This includes Intel® oneAPI Video Processing Library and Intel® Media SDK.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!

something was wrong with vpp use

china_y_
Beginner
106 Views

i want to use vpp for color format convert 

everything was ok at the beginning 

i follow the step in vpp demo 

 

but when i get here 

it always return -15 

i check it  it means invalid video parameters

follow is my set

pParam->vpp.In.FourCC = MFX_FOURCC_YV12 ;
pParam->vpp.In.CropX  = 0 ;
 pParam->vpp.In.CropY  = 0 ;

 pParam->vpp.In.CropW =  m_BitInfoHeader.biWidth ;
 pParam->vpp.In.CropH =  m_BitInfoHeader.biHeight ;
  pParam->vpp.In.FrameRateExtD = 1 ;
    pParam->vpp.In.FrameRateExtN = 30  ;

    pParam->vpp.In.Width = MSDK_ALIGN16(m_BitInfoHeader.biWidth) ;
    pParam->vpp.In.Height =MSDK_ALIGN16(m_BitInfoHeader.biHeight) ;
    pParam->vpp.In.PicStruct = MFX_PICSTRUCT_PROGRESSIVE ;

    //  out put data 
    pParam->vpp.Out.FourCC = MFX_FOURCC_YV12 ; 
    pParam->vpp.Out.CropX = 0 ;
    pParam->vpp.Out.CropY = 0 ;
    pParam->vpp.Out.CropW = m_nDstWidth ;
    pParam->vpp.Out.CropH = m_nDstHeight ;
    pParam->vpp.Out.PicStruct = MFX_PICSTRUCT_PROGRESSIVE ;
    pParam->vpp.Out.FrameRateExtN = 30 ;
    pParam->vpp.Out.FrameRateExtD = 1 ;

    pParam->IOPattern = MFX_IOPATTERN_IN_SYSTEM_MEMORY | MFX_IOPATTERN_OUT_SYSTEM_MEMORY;

    pParam->NumExtParam = 0 ;
    pParam->ExtParam = NULL ;

 

 

 

sts = m_pMfxVideoVPP->QueryIOSurf(pParamm,request) ;

this always return -15

did i miss some thing  in my setting ?

thank you advance 

 

0 Kudos
4 Replies
Petter_L_Intel
Employee
106 Views

Hi China,

VPP output format : MFX_FOURCC_YV12   is not supported!   If you want to convert from YV12 for NV12 then the input type should be MFX_FOURCC_YV12  and output MFX_FOURCC_NV12   

Also, the FrameRateExtD/N values are invered at in and output. Probably not what you want, and may cause issues.

Regards,
Petter

china_y_
Beginner
106 Views

Petter Larsson (Intel) wrote:

Hi China,

VPP output format : MFX_FOURCC_YV12   is not supported!   If you want to convert from YV12 for NV12 then the input type should be MFX_FOURCC_YV12  and output MFX_FOURCC_NV12   

Also, the FrameRateExtD/N values are invered at in and output. Probably not what you want, and may cause issues.

Regards,
Petter

thank you very much for your answer 

best  wishes 

china_y_
Beginner
106 Views


MFXInit.impl=HARDWARE|VIA_D3D9
MFXInit.ver=1.1
MFXInit.status=MFX_ERR_NONE
vpp.QueryIOSurf.par.AsyncDepth=0
vpp.QueryIOSurf.par.vpp.In.FourCC=YV12
vpp.QueryIOSurf.par.vpp.In.Resolution=(320,240)
vpp.QueryIOSurf.par.vpp.In.Crop=(0,0,320,240)
vpp.QueryIOSurf.par.vpp.In.FrameRate=15/1
vpp.QueryIOSurf.par.vpp.In.AspectRatio=0:0
vpp.QueryIOSurf.par.vpp.In.PicStruct=PROGRESSIVE
vpp.QueryIOSurf.par.vpp.In.ChromaFormat=MONO
vpp.QueryIOSurf.par.vpp.Out.FourCC=NV12
vpp.QueryIOSurf.par.vpp.Out.Resolution=(0,0)
vpp.QueryIOSurf.par.vpp.Out.Crop=(0,0,320,240)
vpp.QueryIOSurf.par.vpp.Out.FrameRate=15/1
vpp.QueryIOSurf.par.vpp.Out.AspectRatio=0:0
vpp.QueryIOSurf.par.vpp.Out.PicStruct=PROGRESSIVE
vpp.QueryIOSurf.par.vpp.Out.ChromaFormat=MONO
vpp.QueryIOSurf.par.Protected=0
vpp.QueryIOSurf.par.IOPattern=IN_SYSTEM_MEMORY|OUT_SYSTEM_MEMORY
vpp.QueryIOSurf.par.NumExtParam=0
vpp.QueryIOSurf.par.ExtParam=NULL
vpp.QueryIOSurf.request[0].Info.FourCC=0x0
vpp.QueryIOSurf.request[0].Info.Resolution=(0,0)
vpp.QueryIOSurf.request[0].Info.Crop=(0,0,0,0)
vpp.QueryIOSurf.request[0].Info.FrameRate=0/0
vpp.QueryIOSurf.request[0].Info.AspectRatio=0:0
vpp.QueryIOSurf.request[0].Info.PicStruct=UNKNOWN(0)
vpp.QueryIOSurf.request[0].Info.ChromaFormat=MONO
vpp.QueryIOSurf.request[0].Type=UNKNOWN(0)
vpp.QueryIOSurf.request[0].NumFrameMin=0
vpp.QueryIOSurf.request[0].NumFrameSuggested=0
vpp.QueryIOSurf.request[1].Info.FourCC=0x0
vpp.QueryIOSurf.request[1].Info.Resolution=(0,0)
vpp.QueryIOSurf.request[1].Info.Crop=(0,0,0,0)
vpp.QueryIOSurf.request[1].Info.FrameRate=0/0
vpp.QueryIOSurf.request[1].Info.AspectRatio=0:0
vpp.QueryIOSurf.request[1].Info.PicStruct=UNKNOWN(0)
vpp.QueryIOSurf.request[1].Info.ChromaFormat=MONO
vpp.QueryIOSurf.request[1].Type=UNKNOWN(0)
vpp.QueryIOSurf.request[1].NumFrameMin=0
vpp.QueryIOSurf.request[1].NumFrameSuggested=0
vpp.QueryIOSurf.status=MFX_ERR_INVALID_VIDEO_PARAM

 

 

 

 

i used the tracer  and got  these information 

Petter_L_Intel
Employee
106 Views

Hi,

looks like the issue is that you're setting ChromaFormat to MONO. You should be setting this parameter to MFX_CHROMAFORMAT_YUV420 as illustrated in the Media SDK samples.

Regards,
Petter

Reply