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.

encoder - required format for the video input

rshal2
New Contributor II
391 Views

Hello,

Does the encoder need progressive as input ?

For example, with the encode demo, if we use interlaced, does it mean that the encode demo first use vpp to change from interlaced to progressive ?

Thank you,

Ran

0 Kudos
1 Solution
Surbhi_M_Intel
Employee
391 Views

Hi Ran, 

 

I am hoping you are referring to h264 codec, we don't support YUV422 and 444 format, you can set color/format conversion filters to do so. MSDK encode/decode operation uses NV12 format because of better performance, but VPP filter can be set to do color conversion, supported color format is mentioned in Table 2 of the MSDK Manual. The supported surface types and formats are explained in the manual, check Table 6,7 or 8 depending upon the hw acceleration path you are choosing. 

You have to set VPP filter in the InitMfxVppParams() for the input to deinterlace and return  it as a progressive content to the encoder. Check sample_vpp from the samples package or simple_vpp from tutorial package on how to set VPP filter. If you have any questions on this, let us know. 

 

Thanks,

Surbhi

View solution in original post

0 Kudos
5 Replies
Surbhi_M_Intel
Employee
391 Views

Hi Ran, 

Are you referring to do sample_encode as encode demo. I don't think it is set up to do interlacing but can be added to InitMfxVppParams() where you can put an if statement that if the input is interlaced(provided by the user through input argument) and set the VPP extended buffer for deinterlacing. 

Thanks,
Surbhi

0 Kudos
rshal2
New Contributor II
391 Views

Hi,

I see that it just set the PicStruct to tff/bff/progressive and that's it.

Is it possible to encode any format yuv422/yuv444

I could not find any statement about the required formats in documents. I've search both user guide and manual reference.

Thanks you,

Ran

0 Kudos
Surbhi_M_Intel
Employee
392 Views

Hi Ran, 

 

I am hoping you are referring to h264 codec, we don't support YUV422 and 444 format, you can set color/format conversion filters to do so. MSDK encode/decode operation uses NV12 format because of better performance, but VPP filter can be set to do color conversion, supported color format is mentioned in Table 2 of the MSDK Manual. The supported surface types and formats are explained in the manual, check Table 6,7 or 8 depending upon the hw acceleration path you are choosing. 

You have to set VPP filter in the InitMfxVppParams() for the input to deinterlace and return  it as a progressive content to the encoder. Check sample_vpp from the samples package or simple_vpp from tutorial package on how to set VPP filter. If you have any questions on this, let us know. 

 

Thanks,

Surbhi

0 Kudos
rshal2
New Contributor II
391 Views

Thank you very much,

I now see that all the information is there.

0 Kudos
Surbhi_M_Intel
Employee
391 Views

Great, closing this issue then. Feel free to start a new thread.

0 Kudos
Reply