mfxBitstream* accessed after call return from DecodeFrameAsync?

mfxBitstream* accessed after call return from DecodeFrameAsync?

camkego's picture

As background, the signature for decode frame async is:   mfxStatus MFXVideoDECODE_DecodeFrameAsync(mfxSession session,mfxBitstream *bs, mfxFrameSurface1 *surface_work, mfxFrameSurface1**surface_out, mfxSyncPoint *syncp);

When calling MFXVideoDECODE_DecodeFrameAsync(...), I am curious if the SDK accesses the mfxBitstream data structure post return from the call?

So, my question is:

1. Does the IMSDK access 'mfxBitstream *bs' excusivley before return from MFXVideoDECODE_DecodeFrameAsync() ?

or

2. Does the IMSDK access 'mfxBitstream *bs' after  return from MFXVideoDECODE_DecodeFrameAsync() ?

I suppose I could assume this  parameters is accessed asyncronously up until the Sync operation, but it would be nice to know if that buffer space can be reused immediately after the return from the call.

Thanks,

Cameron

2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Petter Larsson (Intel)'s picture

Hi Cameron,

For decode you can safely reuse/change the bitstream container after calling DecodeFrameAsync (before calling SyncOperation). MediaSDK stores the data read from the bit stream container internally before DecodeFrameAsync returns.

Regards,
Petter

Login to leave a comment.