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
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.

Transcoding interlaced video to progressive

Kim_Salo
Beginner
145 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
145 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

Anthony_P_Intel
Employee
145 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

Reply