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.

Decode H.264 Interlace Frame

Atsushi_S_
Beginner
254 Views

Hello.

I try to decode H.264 Frame with Intel Media Sdk.

If I call DecodeFrameAsync for each complete frame data, Output is always fine.

But if I call DecodeFrameAsync for each  field data, Output is strange image.

It's like a mixing before image and after image.

I attached it's image.

DecodeFrameAsync Status repeat MFX_ERR_NONE and MFX_ERR_MORE_DATA.

Is it right to call DecodeFrameAsync for each field ?

I develope with Intel Media Sdk 2013 R2.

Please advice for me.

0 Kudos
1 Reply
Surbhi_M_Intel
Employee
254 Views

Hi a-sonetoshiba-teli.co.jp,

Thank you for your question. I tried reproducing this issue on Intel Media SDK 2014 and didn't see the issue. 

"If I call DecodeFrameAsync for each complete frame data, Output is always fine.
But if I call DecodeFrameAsync for each  field data, Output is strange image."
There is a MFX_BITSTREAM_COMPLETEFRAME_FLAG, if this flag is enabled/set then you need to feed the whole frame to DecodeFrameAsync each time that would be both fields for interlaced case. But if you want to feed field-wise bitstreams they you must remove the flag and use the regular decode mode.

You can check full transcoding example which has a splitter support which provide full frame or fields to the decoder like in your case. sample_decode reads video streams in chunks of data not as frames or fields.



 

 

0 Kudos
Reply