Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
10 Views

MFX_ERR_DEVICE_FAILURE on MFXVideoSession::SyncOperation

Hi,

I have build an encoding pipeline integrated with ffmpeg for muxing into MP4 container in a similar fashion as the ffmpeg integration sample. Overall all works but with some issues. Very often the app experiences MFX_ERR_DEVICE_FAILURE error after which encoding no longer works when calling MFXVideoSession::SyncOperation when synchronizing for getting the bitstream data. The error lacks any pattern but there are a few things I have noticed:

1. The first machine on which I see this is having Nvidia card as primary adapter to which display is connected. There is no display connected to the Intel card. Encoding works and sometimes will die with the above error.

Async depth is 4 ( reducing to 1 does not change anything ). If I allocate more surfaces than SDK suggests on sync it will block and never end instead of firing the above error. This is an i7 3rd generation desktop ( Windows 8.1 ). The error happens only when using byte arrays to provide samples to SDK. If I switch to D3D11 all works with no problems.

2. On another machine with just one Intel card it will fire the error right on start. It is an i5 3rd generation laptop ( Windows 8.1). Fails when using D3D11 or byte arrays.

3. On another i5 3rd generation laptop ( Windows 7 ) it works with no issues but takes huge amount of CPU. Data is exchanged via byte arrays and no D3D is used.

Any ideas what can it be? I saw a similar thread: https://software.intel.com/en-us/forums/topic/532078 ( slightly different though ) with no positive outcome so far.

Best Regards,
Nick

 

0 Kudos
3 Replies
Highlighted
Employee
10 Views

Hi Nick,

To me it looks like you are using three different MS-Windows platforms/configurations. Narrowing down the problem and reproduce the problem locally we need to have the platform configuration of each system you are using. The easiest way to obtain that information is to run “mediasdk_system_analyzer_64.exe” in a dos-shell and pipe the output into a log-file. You will find the program typically under “C:\Program Files\Intel\Intel(R) Media Server Studio 2015 R4\Software Development Kit\tools\mediasdk_sys_analyzer”.

Can you please share those log-files with me?

Best Regards,
Bjoern

 

0 Kudos
Highlighted
10 Views

For case (1), where NVidia is primary and iGfx is not connected to a monitor - this is a Microsoft D3D impl, not MSDK issue. D3D9 required a monitor attached to Gfx for it to be visible at SDK layer. In D3D11, this requirement was removed and the SDK can see both dGfx and iGfx.

For case (2), it is using HW implementation with D3D11 and looks like the feature is either not supported or was not used correctly in this config. (Can you give some information on the application you developed? If you can reproduce the error using our samples or tutorial examples, that will help us debug the issue. Without this, we can only venture a guess).

For case (3), From your explanation, looks like the SW implementation is used and not HW - that could be the reason why the application is working. Again, without understanding the the SDK setup/init you used, params and pipeline (reproducer code with samples/tutorials in effect), we can only venture a guess.

0 Kudos
Highlighted
10 Views

Bjoern and I responded in parallel! Yes, as Bjoern mentioned, the sys analyzer output for all the configurations will be highly useful. Please provide them as well.

0 Kudos