I'm working with and IMX8MP I need to decompress a motion jpeg video stream.
I'm using Yocto gatesgarth and the libimxvpuapi2 version v2.1.0.
To test the decoder I tried to launch the code example jpeg-dec-example contained in the libimxvpuapi2 but i recevied the followoing error
OMX JPEG ! HantroHwDecOmx_decoder_create_jpeg JpegDecInit error openmax_il/source/decoder/codec_jpeg.c:1045 ../git/imxvpuapi2/imxvpuapi2_imx8m_hantro_decoder.c:1372 (imx_vpu_api_dec_open) ERROR: could not create codec ../git/imxvpuapi2/imxvpuapi2_jpeg.c:200 (imx_vpu_api_jpeg_dec_open) ERROR: could not open JPEG decoder: error could not open VPU JPEG decoder ../git/imxvpuapi2/imxvpuapi2_imx8m_hantro_decoder.c:1410 (imx_vpu_api_dec_close) debug: closing decoder Segmentation fault
My question is: The VPU of the IMX8MP processor is able to do an hardware accelerated decoding of jpeg images?
Thanks in advance.
Hello stefanop, you can use the same vpu encode api as mpeg4/h.264 to encode mjpeg, just set different format.
mxc_vpu_test is open source, suppose you can get the source from our formal release.
The only work you need to do is adjust the memory pool to allow large memory allocation and set proper value for 'VPU_ENC_BITS_BUF_SIZE' accordingly just like mentioned above.
For the libimxvpuapi, it was developed by third-party, you can ask help in this community
or you can get NXP formal release package from BSP NXP offical site.
Thanks for your reply, only one more clarification:
I see your speaking about encode functions but I need to decode an mjpeg stream.
It is possible to use the same VPU APIs used for decoding mpeg4/h.264 to decode also a jpeg image?