I want to know whether T760 HW supports processing YUV frames directly (input YUV, and output YUV), and what YUV formats (e.g., NV12, NV21, YV12, etc.) are supported.
The intended use cases for this could be that the camera SW stack uses GPU for post-processing tasks (e.g., scaling, cropping, color conversion, blending, additional image processing steps, etc.)
To be specific I need it for scaling a YUV.
And if this is supported, what are the GLES/EGL extensions which will provide this functionality?
Hi jitender,
The Mali T760 does indeed support several YUV formats for both input and output. The specifics on how to use them do change based on OS and Mali DDK driver version.
For example:
For YV12 (YCrCb 4:2:0 planar) it is supported for both Input and Output on all Midgard GPUs (Mali-T760 is Midgard based). On Android, you would use "HAL_PIXEL_FORMAT_YV12" via GL_OES_EGL_image_external.
I hope that helps,
Kind Regards,
Michael McGeagh
Hi Michael,
Thanks for you reply . Is there any reference code present in (MALI OPENGLES SDK for Android) which uses external textures ( YUV data) ?
btw I want to use Mali T720 with r8 ddk for trying this use case .
regards,
jitender
Note that Mali-T720 doesn't support writeback for YUV format (your original question was Mali-T760, which does).
Cheers,
Pete
Hi Peter,
As per Michael, all midgard GPU support YUV as input and output. So I thought to try with mali T720 . But if this is not supported in mali T720 then I will still try to use mali T760 for this intended use case. So can you point me to some reference code which uses this feature ( YUV scaling using mali T760 GPU).
We do not currently have any examples of this in our SDK samples.
I have raised it with the team to see if a sample could be scheduled, however I cannot give you an ETA on when this may happen, if at all.
There may be code that exists elsewhere to do this already.
If you create one using the SDK, we would be happy to receive contributions back in order to help others.