I am encountering MFX_ERR_DEVICE_FAILED when I run mfxSession.SyncOperation(), and am fairly confused as to what may be causing it. My program is similar to "simple_3_encode - d3d - async" from the SDK Tutorial, except I made the following changes:
- modified the session to include VPP for color conversion, so structurally, it is VPP followed by Encode
- made multiple simultaneous sessions and each session runs in parallel
Everything works perfectly when I have 4 sessions, but once I bump it up to 5 sessions, I consistently receive MFX_ERR_DEVICE_FAILED after the first few frames are encoded. Coincidentally, I have 4 cores on my machine. Also, I have tried adding critical sections to guard all MFX calls, which did not help. Letting 5 sessions run serially is no problem.
I searched the forums and the issue seems related to an old topic: http://software.intel.com/en-us/forums/topic/311849. Could it be that there is a limitation with issuing simultaneous VPP commands?