I am writing a plugin to use quick sync h264 decoder. My reference is sample decode application provided along with media sdk. I am trying to invoke quick sync h264 decoder by feeding exactly one frame worth of bitstream at every call to MFXVideoDECODE_DecodeFrameAsync. I have allocated enough surfaces as returned by call to MFXVideoDECODE_QueryIOSurf.
Hardware decoding seems to work fine but when I force software mode I get MFX_ERR_LOCK_MEMORY. Also I am checking the flag pmfxSurfaces->Data.Locked before and after call to MFXVideoDECODE_DecodeFrameAsync. I see that the flag gets set to 1 indicating that surface is locked, yet returns the error of MFX_ERR_LOCK_MEMORY. Please let me know my setup of feeding only one frame every call to MFXVideoDECODE_DecodeFrameAsync could be an issue.