Hardware accelerated JPEG decoder on the i.MX8X

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Hardware accelerated JPEG decoder on the i.MX8X

1,796 Views
jonners_guttman
Contributor II

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.

0 Kudos
3 Replies

1,569 Views
igorpadykov
NXP Employee
NXP Employee

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!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,569 Views
jonners_guttman
Contributor II

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.

0 Kudos

1,569 Views
igorpadykov
NXP Employee
NXP Employee

Hi Jonners

sdk can be downloaded from

Welcome | MCUXpresso SDK Builder 

Best regards
igor

0 Kudos