Media (Intel® oneAPI 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

Decode H.264 Interlace Frame

Atsushi_S_
Beginner
177 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
177 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