Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Joel2
Beginner
116 Views

VPP Init returns MFX_ERR_UNSUPPORTED with core i5-3470 ; OK with core i3-2120 and i7-3520M

Hi there,

I'm facing a strange behavior I can't explain.

I've an application with a simple "encode" pipeline: VPP for format conversion (YV12 -> NV12), resizing and frame rate convertion ; followed by a H.264 encoder.

The application runs without troubles with the software implementation on all platfroms as well as the hardware implementation on core i3 and core i7. With a core i5 on the same system that had the core i3, a get a "MFX_ERR_UNSUPPORTED" error on VPP initialization.

The sys_analyzer as well as tracer files are attached to this message.

Any hint or advice are welcome.
Many thanks in advance,
Best Regards,
Joel.

 

0 Kudos
11 Replies
Surbhi_M_Intel
Employee
116 Views

Hi Joel, 

Thanks for sending the tracer logs and system analyzer.  The reason you see this issue on hardware and same pipeline works perfectly well on sw implementation is because of your i5 graphics device. On your i5 machine, graphic device is Intel HD Graphics 2500 (can be checked at ark.intel.com) which is a GT1 where as i7 machine has Intel HD Graphics 4000 which is GT2. HD Graphics 2500 does not support VPP HW implementation due to which it errors at the time of installation.


-Surbhi

 

Surbhi_M_Intel
Employee
116 Views

Hi Joel, 

After checking internally I have found that this can be a different issue. We only supports part of VPP on Ivybridge GT1 graphics but we do support format conversion. So, wanted to let you know that we are looking into this.
 
In the meantime is it possible you can send us the reproducer/code? Also it would be great if you can try below suggestions and let us know your findings-
1. It can be a bug in latest driver, to rule this out can you please copy the hw DLL from the i7 machine and replace it on i5 system. Please check if you are able to reproduce the problem. Also send the tracer in that case.
2. Just to keep all the things same, change target Kbps on i5 to 1500 like in i7. 
3. What Media SDK dispatcher are you linking with your code on i5 system?

-Surbhi

Joel2
Beginner
116 Views

Hi Surbhi,

Thank you for all these informations.

I made test #1 - copied the hw DLL from my i7 system to the i5 system and the initialization part works. Unfortunately as you can see in the log the pipeline fails with MFX_ERR_DEVICE_FAILED. Anyway this seems to be a good hit.

I attached the tracer log obtained after the replacement.

The i7 dll is an old one: version 4.13.8.9 while the original i5 was 5.14.12.1.

Regarding your question #3 regarding the dispatcher code. I did nothing special in my code, just linked with the .lib of the SDK so I assume I'm using the "default" dispatcher code on all systems.

I hope this helps,
Best Regards,
Joel.

Surbhi_M_Intel
Employee
116 Views

Hi Joel,

Okay, it seems to be moving in some direction. The DEVICE_FAILURE error is because of not using the right HW DLL, since we copied it from an i7 which has a different graphics.  I see the latest drivers on the Intel website for your system, link to that. Can you please download from the link I have provided and test your application. Also, you can get the previous driver from your device manager. Update display adapter->browse my computer->let me pick my driver. If you had previous drivers saved, you should be able to install them. 

Also is it possible that you can send us the reproducer code to identify and debug the issue? This could help us file a bug. 

Thanks, 
Surbhi

 

Joel2
Beginner
116 Views

Hi Surbhi,

Unfortunately the latest driver 10.18.10.4176 does not solve the issue. Same errors - see attached files.

I'll try to extract reproducer code. This might be tedious since it is part of a large application.

Thanks for help,
Joel.

Surbhi_M_Intel
Employee
116 Views

Joel, 

There is a tutorial simple_encode_vmem_preproc which you can use to replicate the problem. It might need lesser modifications than altering your huge code. Tutorial package is present here
I will also try at my end to replicate this issue. 

-Surbhi

Joel2
Beginner
116 Views

Surbhi,

I found the cause of the problem. My input format to VPP is YV12 which does not seem to be correctly supported by the latest drivers. I cheated my code to let it think the input was NV12 already and it worked (although the colours were fuzzy as expected). So it seems that there is a lack of adequate hardware support for convertion from YV12 to NV12. The convertion is done correctly by the sofware implementation and by older drivers.

Could you tell me if convertion from YV12 to NV12 is supposed to work ?

In the meantime I'll add my own sofware converter but this is a little bit sad.

Thanks for your support,
Best Regards,
Joel.

 

Surbhi_M_Intel
Employee
116 Views

Hi Joel, 

We do have color conversion hw support. I am checking with architects and developer if the driver or the old generation has some limitation. In In the meantime, can you please confirm - are you using d3d9 or d3d11 implementation?

Will get back to you as soon as I have an update.

Thanks,
Surbhi

Joel2
Beginner
116 Views

Hi Surbhi,

I'm using D3D11 since I need my application to run as a service (non interactive) under Windows 8.1, although my current testings are with a dektop interactive app.

Also to be precise: the old drivers (4.13.8.9 ) are working OK, they do not show any limitations. They are the newest ones (5.14.12.1. and up) which exhibit the problem.

Best Regards,
Joel

Surbhi_M_Intel
Employee
116 Views

Hi Joel, 

Thanks for this important piece of information.  I don't think we ever this "4.13.8.9" as driver number. 
I was wondering if you could try d3d9 and let us know if the same issue occurs. Also, is it possible you can give us a reproducer for us to reproduce the issue and file a bug?

Thanks,
Surbhi

Surbhi_M_Intel
Employee
116 Views

Hi Joel, 

I am able to make an application with similar pipeline (YV12 input + VPP(frame rate conversion) + encode) and tested on 3rd generation system with latest driver and didn't see any issue with d3d9 implementation. Please send us a reproducer if you are still experiencing issue. for d3d11 YY12->NV12 conversion, I am also seeing an issue. I am discussing with experts, will get back to you as soon as I have something to share. 

Thanks,
Surbhi


 

Reply