I'm using Intel Media SDK for decoding MJPEG frames from a Webcam
I'm using the MFXVideoDECODE class (libmfx.lib)
The performance seems to be as normal decoding (ipp) but according to the log file it is using the hardware (Intel HD Graphics) acceleration.
How can I achieve better performance?
I see that when the decoding is performed on Windows app store application (it uses mfx_mft_mjpgvd_64.dll) the performance is great.
Its possible you are not actually using hardware acceleration. When you initialize the session, the hardware library may be getting chosen but when you are actually executing decode, there may be reason that the hardware is not being used.
Can you capture a 'tracer' log of your desktop application and see if any "PARTIAL_ACCELERATION" warning messages? (tracer tool is located in "<install dir>\Media SDK 2014 for Clients\tools\mediasdk_tracer" folder.)
You may also want to capture trace of the Windows app store application and compare parameters.
Its also possible you are using acceleration, but something about the code design is causing things to decode slow. Please be sure you are decoding to NV12 surface D3D video memory.