Hi,
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 (libjpeg.so) 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,
Jonners.
Hi Jonathan
seems there are no available for customers jpeg gstreamer examples
(please note that this part is not publicly released and not fully supported).
Available gstreamer examples can be found
Linux L4.14.98_2.0.0 Documentation
Support for i.MX8QXP vpu gstreamer examples can be provided with
NXP Professional Services | NXP
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Igor,
Many thanks for your reply. I am slightly confused as your first email suggest JPEG hardware decoding is not possible and your second email included some sample code that should allow hardware JPEG decoding.
I would like to try to use the sample code you provided (assuming this will work on the I.MX8X) however, there are a number of header files missing (such as fsl_common.h and others.)
Is there a full SDK I should download that would provide these missing header files?
Kind regards,
Jonners.