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.

Problem with interlaced video

Beese__Erin
Beginner
1,019 Views

I'm trying to decode the following interlaced video using sample_decode.exe. The video looks terrible  (blocks of video missing etc), but it looks fine when using a different decoder (NVIDIA for example). If I look at the mfxFrameData information, many of the frames are marked as corrupt. Any ideas? Is this a problem with the decoder, or is the information I'm giving it formatted in such a way that is unsupported?

Thanks,

Erin

0 Kudos
3 Replies
Mark_L_Intel1
Moderator
1,019 Views

Hi Erin,

Did you try with following command? I am not sure if this could give you different quality.

sample_decode.exe h264 -i input.h264 -r -f 25

Our decoder is a hardware, it is very hard to correct corruptions after pipeline is created. There are generally 3 options:

  1. The software can reset the pipeline by watching the corrupt flag
  2. The software can check the bit stream header before it inputs to the decoder.
  3. The software can bypass the HW decder and switch to software codec or 3rd party solutions.

Hope this helps.

Mark

0 Kudos
Beese__Erin
Beginner
1,019 Views

Hi Mark,

I tried with that command and it did not make any difference. Also, I'm using the software decoder not the hardware decoder. 

Which corruption flag are you referring to? The corruption flag in mfxFrameData?

Erin

0 Kudos
Mark_L_Intel1
Moderator
1,019 Views

Hi Erin,

There are several things you can check in the reference manual:

1. At page 46, MFXVideoDECODE_DecodeFrameAsync() will return MFX_WRN_VIDEO_PARAM_CHANGED or MFX_ERR_INCOMPATIBLE_VIDEO_PARAM.

2. At page 45, you can also call MFXVideoDECODE_GetStat() to check the decode status, the returned structure mfxDecodeStat has fields in page 52 which you can track how many frames were skipped.

Let me know if this helps.

Mark Liu

0 Kudos
Reply