Hi, I'm a newbie whom want to port the Mali on my board.
I'm curious how hardware accelerated video decoding can be done.
Would this need only EGL library and X11 display driver?
Or decoding process would be different with 2D rendering?
And If I want my device to use Mali GPU only for this purpose,
1) 2D rendering in X.org X server environment
2) Video decoding with VLC player
Then my device would work fine without OpenGL ES library?
Cuz I won't use 3D application.
Please help me. Thanks.
Hi monami,
Can you first please let us know which Mali you are using? This will determine what available options there are for you.
You also mentioned that you want 'hardware accelerated video decoding'... this requires a video processing unit (VPU) and that is a dedicated piece of hardware who's purpose is to decode video of different codecs.
ARM do license a VPU - the Mali-V500.
However, you specifically mention Mali GPU. The GPU range of Mali are Graphics processing unit and are dedicated pieces of hardware who's purpose is to render graphical content such as 2D or 3D UI or games etc.
A standard GPU does not do video decoding.
That said, if you are using a Mali GPU from the Midgard family, then you have access to OpenCL, and would thus be able to use an OpenCL based video decoder, which will take advantage of the GPU in the system.
If you do not have a Midgard GPU, but the previous Utgard family of GPU's, then you would not be able to decode video using this GPU. However, there are many CPU based video decoders that can take use of the SIMD engine that most ARM Cortex CPU's come with (NEON). An example would be ffmpeg which has an accelerated path to use NEON code for video decoding.
I hope this helps explain to you the differences of a system, as well as give you some ideas of what possibilities are available to you.
If you have any further questions, feel free to ask them and we will try our best to answer them.
Kind Regards,
Michael McGeagh