i.MX8 Linux video decode support

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

i.MX8 Linux video decode support

6,674 Views
EinarMar
Contributor IV

I am curious over what support, if any, there is for hardware accelerated video decoding in Linux on i.MX8 ?

According to i.MX8 reference manual there seems to be only v4l2 capture support, i.e. camera stream but not for decoding video frames. Some googling doesn't actually reveal any Linux support on i.MX8 though Gstreamer has support for Hantro g1/g2. Don't know if that would suffice !!

Can anybody give me some info on what the status and future support is for video decoding with Hantro g1/g2 on i.MX8 is/will be ? will it have v4l2 implementation as in i.MX6 ? 

regards

Einar

8 Replies

5,240 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi Einar,

The i.MX 8M Quad and i.MX 8M Dual processors have hardware acceleration for video playback up to 4K, and can drive the video outputs up to 60 fps. In menu configuration enable the following module for the VPU driver:

Device Drivers > MXC support drivers > MXC HANTRO (Video Processing Unit) support

The iMX6 also have support for v4l2.

Regards

0 Kudos
Reply

5,240 Views
EinarMar
Contributor IV

Hi and thank you for your response. 

Does this mean that in the upstream kernel there is support for Hantro vpu and it has v4l2 interface to decode on the iMX8 ?

0 Kudos
Reply

5,240 Views
cphealy1
Senior Contributor I

At this time, there is not upstream kernel support for the Hantro video decoders.  It is only the Coda in the i.MX51 and i.MX6 that has upstream kernel support and utilizes the V4L2 interface for decoding.

0 Kudos
Reply

5,240 Views
einar_bjorgvins
Contributor I

Hi Chris and thank you for your answer.

Does this mean I can't decode video at all or is it possible to do it by using the code from imx-vpu-hantro source ?

0 Kudos
Reply

5,240 Views
einar_bjorgvins
Contributor I

I liked to know what the landscape looks like when it comes to decoding video on imx8. Will there be v4l2 support, am I to use libimxvpuapi, gstreamer or imx-vpu-hantro ? anything else ?

I've noticed that there has recently been dropped a gstreamer support (v2 branch), see here: https://github.com/Freescale/gstreamer-imx/commit/38859e501a179b2d8e71bb93007b025f434e7d69

Is this maybe the best source for decoding support right now ?

0 Kudos
Reply

5,240 Views
cphealy1
Senior Contributor I

The NXP BSP provides support for decoding video using the embedded Hantro G1/G2 IP cores.  This is provided by some NXP provided libraries and gstreamer plugins.

In addition to the NXP provided gstreamer plugins, there is also gstreamer-imx which is provided by a third party.  As you noticed, support was just added for the i.MX8M in the last several weeks.  I've successfully tried the gstreamer-imx plugins.

Looking further down the road, there is ongoing work (outside of NXP) to develop a clean slate solution for video playback with the Hantro G1/G2 IP cores in the i.MX8M by a group of developers.  The Hantro video decoders are not unique to the i.MX8M.  They are also in several Rockchip designs and as such a common driver stack is being developed that works regardless of the SoC being used.  This stack will likely leverage the V4L2 API.  You can see some work down this path at the following URL:

[PATCH v2 0/9] Rename Rockchip VPU driver to Hantro, add initial i.MX8M support 

0 Kudos
Reply

5,240 Views
einar_bjorgvins
Contributor I

Hi Chris and thank you very much for this feedback. I will then follow this ongoing work closely

0 Kudos
Reply

5,240 Views
EinarMar
Contributor IV

Hi just a reminder, haven't gotten any feedback with my last reply

0 Kudos
Reply