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.

IVTC (Inverse Telecine) dropping wrong frames

New Contributor I

I am using Media SDK 2014 for Clients (x64) and am working with the Video Processing sample (sample_vpp) with hardware 1.7. I have inserted a few printf's but the sample code is basically unmodified. I'm trying to IVTC a 30 fps DVD source to progressive 24 fps via this command line:

-lib hw -sw 720 -sh 480 -scc yv12 -sf 30 -spic 0 -dpic 1 -dw 720 -dh 480 -dcc nv12 -df 24 -i telecine_dvd_yv12.raw -o nv12_vpp_ivtc.raw

sample_vpp does do IVTC, and does drop frames to get to 24 fps, however it seems to drop the wrong frames. As I step through output (24 fps) every 4th frame is a duplicate.

If letters represent fields, and frames are comma separated, here is a 2:3 pulldown frame pattern: AA,BB,BC,CD,DD,EE,...

After unblending but before decimation the frames might be: AA,BB,CC,DD,DD,EE,...

And I would think that one of the DD's would get dropped. However it looks like EE (base-0 frame #5) gets dropped. So rather than dropping an unblended duplicate frame, a good frame is dropped. The dropped frames are base-0 indices 5,10,15.

Is IVTC supposed to drop (frameIndex % 5) == 0 or is it supposed to drop the unblended duplicate frame?


0 Kudos
2 Replies
New Contributor I

Note that this problem occurs for hw 1.7 with driver on Intel(R) HD Graphics 4600. With sw 1.8 the correct frames are dropped. In this particular case the correct frames are 1,4,9,14,19...




I believe you are correct and the HW implementation should be more like what you see with SW.  We will look into this.

Thank you for the details.