AnsweredAssumed Answered

Hardware accelerated JPEG decoder on the i.MX8X

Question asked by Jonathan Guttmann on Aug 5, 2019
Latest reply on Aug 6, 2019 by igorpadykov



I have an i.MX8X development board and need to decode JPEG images using the hardware decoder. I was lead to believe that gstreamer would use the hardware to accelerate its decoding performance.


I am very new to gstreamer and finally got an application using "appsrc" "jpegdec" and "appsink" as my main elements to decode a JPEG image held in memory. I eventually got this working fine on a Linux virtual machine (Ubuntu) running on my Windows 7 PC. I have recompiled my code to work on the iMX8X platform. I have attached my source code.


This does work and the "raw" image my appsink receives is the correctly decoded JPEG image. However, the frame rate is 5fps and it is using 100% of a single CPU core, clearly not using the hardware decoder.


In fact I renamed the standard JPEG library ( and my application no longer worked - could not find the library. In my mind this implies that gstreamer is NOT using the hardware decoders but the standard jpeg library which is a software decoder.


I absolutely need to decode JPEG images using the hardware (need to be running at 15fps and not use the CPU as all four cores will be hard at work doing other things!)


Can anybody help me with some "C" code to get the i.MX8X to use the hardware decoder to decode JPEG images held in memory?


Many thanks,