This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

YCbCr (NV12) texture scaling using r5p1 drivers on Mali400

Hi,

I have a use-case where NV12 video frames are imported as GL texture (using EXT_image_dma_buf_import, dma_buf) and would like to down-scale the said texture into also a destination NV12 buffer (render target). The destination NV12 buffer will hold 2x2 scaled-down video frames (a mosaic).

Is this doable on Mali400? If so, is it possible to explain the necessary setup + fragment shader to use?

(E.g. the quite new EXT_YUV_target extension for gles3.0 would help achieve that?)

Best regards,

Ilyes Gouta

Parents
  • Hi ilyesgouta,

    The Mali-400 GPU only supports up to OpenGL ES 2.0. As such the extension you mentioned for GLES3.0 will not work on the Mali-400.

    If you are interested in using that extension, or any aspect of OpenGL ES 3.0 functionality and above, then you will need to look at using our 'Midgard' Family of GPU's. These have the letter T in their name, e.g. Mali-T760, Mali-T628, Mali-T880.

    Regarding Mali-400 and NV12 support:

    if using GL_OES_EGL_image_external, you can read in YUV NV12 textures to the GPU as of driver version r4p1-01rel0.

    For outputting YUV NV12, then you can either use the' EGL recordable, Render to frame buffer' option as of driver version r5p1-01rel0, or use 'Render to texture, FBO' option as of driver version r7p0.

    Kind Regards,

    Michael McGeagh

Reply
  • Hi ilyesgouta,

    The Mali-400 GPU only supports up to OpenGL ES 2.0. As such the extension you mentioned for GLES3.0 will not work on the Mali-400.

    If you are interested in using that extension, or any aspect of OpenGL ES 3.0 functionality and above, then you will need to look at using our 'Midgard' Family of GPU's. These have the letter T in their name, e.g. Mali-T760, Mali-T628, Mali-T880.

    Regarding Mali-400 and NV12 support:

    if using GL_OES_EGL_image_external, you can read in YUV NV12 textures to the GPU as of driver version r4p1-01rel0.

    For outputting YUV NV12, then you can either use the' EGL recordable, Render to frame buffer' option as of driver version r5p1-01rel0, or use 'Render to texture, FBO' option as of driver version r7p0.

    Kind Regards,

    Michael McGeagh

Children