Hi forum,
what are the image processing techniques supported by Mali-400?
I am trying to understand the Image post processing and pre processing capabilities of Mali-400.
a simple use case is, I have input frame buffet from a camera, want to perform Image processing techniques on it before rendering it to display.
Thanks,
Ravinder Are
Hi Rich,
Thanks for your reply, we are not finalized with post processing of the image, but it can include "lens distortion", "Image Filtering", "Pixel Shading", etc.
Do you have any link/sorce/doc that captured all the Image processing techniques supported in OpenGL-Es-2.0 or on top of it?
Our major concern was, whether it is possible for Mali-400 do pixel processing on the Live video on the camera, from your reply its cleared YES.
Thanks
Hi Ravinder,
Mali-400 can do whatever you program it to do .
There are lots of examples, libraries and blogs on how to use OpenGLES to perform image processing using programmable shaders, for example: GLImageProcessing/GLImageProcessing at master · twenty3/GLImageProcessing · GitHub, yulu/GLtext · GitHub, OpenGL ES Pixel Shaders Tutorial - Ray Wenderlich.
There are also many examples for image processing using desktop OpenGL shaders which, while they won't directly, you can use as inspiration for the image processing techniques themselves.
With regards to processing video, the video is just a sequence of frames which you can process one at a time. Providing your image processing is fast enough that it can complete processing a frame before your next video frame arrives then you can of course do processing on a live video feed in real time.
Hope this helps,
Rich
The Mali-400 GPU supports OpenGL ES 1.1 and 2.0. You can achieve anything that these APIs allow you to do by doing your image processing in the shaders written in ESSL (the OpenGLES shader language which is very similar to OpenGL's GLSL). Alternatively, you can use the CPU to process the image and use the GPU to render it to the display. We don't provide anything other than the gles implementation for you to work with but there could well be some image processing libraries out there which use GLES as a back-end.
Mali-T6XX+, however, supports OpenGL ES 3.0 as well as OpenCL 1.1 full profile which allows you to use the GPU for general purpose computing which is well suited to such applications. GLES 3.1 also supports compute shaders which could potentially be used for such a purpose as image processing.
Could you give any insight into the kind of image processing effects you are trying to achieve?
Thanks Rich,
This cleared my understanding is correct. the links shared are most useful.
Regards,