- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
First, I want to commend the support staff, you have an important and at times tough job. I think the IMSDK and it's teams are impressive.
If you search the forums for MFX_WRN_DEVICE_BUSY, you will see it is happening regularly to a number of people.
I have a heavily modified version of the tutorial 'simple_5_transcode_opaque_async_vppresize'.
I have tested my program on Win7/x64, Win81/x64, Win Server 2012R2 x64
Versions:
- Win8.1/x64 libmfxhw64.dll File Version: 6.15.2.20 / Product Version: 6.0.1536.342
- Win7/x64 libmfxhw64.dll File Version: 6.15.2.20 / Product Version: 6.0.1536.342
- WinServer2012R2 File Version: 5.14.5.15 / Product Version: 5.0.33362.27558
On Win81 and WinServer, for the same bitstream I do not get MFX_WRN_DEVICE_BUSY, and my transcode completes.
On Win7 I get stuck in a MFX_WRN_DEVICE_BUSY on mfxVPP.RunFrameVPPAsync(...)
I understand you may not be able to justify looking at my custom code.
But please do tell me, what the potential sources of this error might be. What might cause unstopping MFX_WRN_DEVICE_BUSY from RunFrameVPPAsync()
Thanks in advance
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Can this error ONLY be caused by bad bitsteams, or are there other known causes of this failure condition?
If there are other known causes, what are they?
Thanks, Cameron
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Cameron,
Thanks for the kind words. The reason why MFX_WRN_DEVICE_BUSY can vary depending upon the application. Basically what it means is that the device is busy and cannot complete the requested task. This can happen if your devices is busy executing the previous cmd so it will give this warning or if your device doesn't have surface which you have requested so, task cannot be accomplished.
One of the solution to handle this is to do SyncOperation instead of sleep for few milliseconds, with the SyncOperation it should free up the surfaces which can be used. For eg -
do{ sts = dec->DecodeFrameAsync(..); if (MFX_WRN_DEVICE_BUSY == sts) { mfxStatus res = session.SyncOperation(MFX_INFINITE); //or SyncOperation.wait(5); } }while (sts ==MFX_WRN_DEVICE_BUSY)
Are you seeing this issue with specific inputs? If this problem still continues can you please send us the reproducer with the input so that it can be filed as a bug. Also, I hope you are using latest driver on your win7 system. Are you using same HW configration for all three OS you are working on, if not can you let us know the system details as well?
-Surbhi

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page