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.

Transcoding interlaced video to progressive

Kim_Salo
Beginner
403 Views

Hi,

How can I transcode 50FPS interlaced video into 50FPS progressive video using Intel Media SDK 2013?

Input stream is 576i (25 frames per second / 50 fields per second), output stream should be 576p (50 frames per second).

I've done various experiments with sample_multi_transcode but never seem to get the correct result.  What changes to the sample are needed to get correct output?

As a result of deinterlacing, I don't want to lose any of the fields but rather extract two fields from input frame and output two progressive frames.  Therefore if input stream has 100 frames (200 fields) of interlaced video, output should have 200 frames of progressive video.

Regards,
Kim

0 Kudos
2 Replies
Anthony_P_Intel
Employee
403 Views

Hi Kim,

This usage requires the VPP component to provide both 'deinterlacing' and 'frame rate conversion'.  The output of decode in 25Hz interlaced frames and the input and output to the Encoder component would be 50Hz progressive frames.  The input and output parameters of the VPP component need to set to match these. 

(Decode interlace -> VPP deinterlace to Progressive and change framerate -> Encode progressive)

Using the sample_multi_transcode application, you will want to use the "-deinterlace" option (which sets "bEnableDeinterlacing"), and you will want to adjust the VPP output framerate to be 50 Hz.  (vpp.Out.FrameRateExtD and vpp.Out.FrameRateExtN).

You should be able to step thru the code and see that the VPP component is actually getting applied, as this component is not enabled in this example code unless image scaling or deinterlacing is requested.

 -Tony

0 Kudos
Anthony_P_Intel
Employee
403 Views

Hi Kim,

This usage requires the VPP component to provide both 'deinterlacing' and 'frame rate conversion'.  The output of decode in 25Hz interlaced frames and the input and output to the Encoder component would be 50Hz progressive frames.  The input and output parameters of the VPP component need to set to match these. 

(Decode interlace -> VPP deinterlace to Progressive and change framerate -> Encode progressive)

Using the sample_multi_transcode application, you will want to use the "-deinterlace" option (which sets "bEnableDeinterlacing"), and you will want to adjust the VPP output framerate to be 50 Hz.  (vpp.Out.FrameRateExtD and vpp.Out.FrameRateExtN).

You should be able to step thru the code and see that the VPP component is actually getting applied, as this component is not enabled in this example code unless image scaling or deinterlacing is requested.

 -Tony

0 Kudos
Reply