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

DirectFB Support

Note: This was originally posted on 1st December 2011 at http://forums.arm.com

Hello.

I am not an expert on this field but I'm doing my best to learn about it. I have several questions regarding the ARM Mali 400 GPU, the Mali-VE6 and the NEON coprocessor.

I need to develop a SoC using an ARM processor (could be the A8 or the A9) and I need to comply with some software requirements. The most important one is DirectFB support.

I was wondering if the Mali 400 offers DirectFB HW acceleration. If not, do you know if the DirectFB library works without HW acceleration?

Also, I have a very basic question regaring how the Mali 400 and the Mali-VE6 work together. Suppose I am decoding a H264 video using the Mali-VE6 and at the same time I'm rendering some openGL stuff using the Mali 400 GPU. If I want to see the combined result of this processes on the same screen, how I am supposed to combine this inside the SoC. What kind of HW do I need for that?

Thank you in advance.
Gonzalo.

P.S: If you have any reference to keep reading about this subjet (graphics architecture on SoCs - specially ARM) I would really appreciate it.
  • Note: This was originally posted on 2nd December 2011 at http://forums.arm.com

    Hi,

    for the question about how to combine video and 3D graphics, one solution I have seen is to have 2 framebuffers (e.g. /dev/fb0 and /dev/fb1 on Linux).

    The Mali-VE6 video decode hardware can decode video into one framebuffer (e.g. fb0). The Mali-400 can request a drawing surface which includes an alpha channel (e.g. RGBA8888) and draw this output into the 2nd framebuffer (e.g. fb1).

    Then, a hardware overlay mixer can read the color channel of the video (fb0), the color channel of the 3D (fb1) and determine how transparent or opaque to make the 3D by checking the 3D alpha channel, then blend the two color channels together as appropriate.

    In this way you can overlay a 3D user interface over the video, letting the 3D application choose how translucent to be over the video.

    If you search for terms such as the ones below I think you should find more reading material on the subject:

    hardware overlay mixer raster operation alpha blending

    Hope this helps, Pete
  • Note: This was originally posted on 2nd December 2011 at http://forums.arm.com


    Hi,

    for the question about how to combine video and 3D graphics, one solution I have seen is to have 2 framebuffers (e.g. /dev/fb0 and /dev/fb1 on Linux).

    The Mali-VE6 video decode hardware can decode video into one framebuffer (e.g. fb0). The Mali-400 can request a drawing surface which includes an alpha channel (e.g. RGBA8888) and draw this output into the 2nd framebuffer (e.g. fb1).

    Then, a hardware overlay mixer can read the color channel of the video (fb0), the color channel of the 3D (fb1) and determine how transparent or opaque to make the 3D by checking the 3D alpha channel, then blend the two color channels together as appropriate.

    In this way you can overlay a 3D user interface over the video, letting the 3D application choose how translucent to be over the video.

    If you search for terms such as the ones below I think you should find more reading material on the subject:

    hardware overlay mixer raster operation alpha blending

    Hope this helps, Pete



    Thank you Pete, I really appreciate your help.

    Do you have any [font=Arial, sans-serif][size=2]hardware overlay mixer to recommend? ARM doesn't offer them and maybe you could point me to another IP provider with some expertise in this field. [/size][/font]


    Thank you again.


    Regards,
    Gonzalo.
  • Note: This was originally posted on 5th December 2011 at http://forums.arm.com

    Hi,

    two development boards I've used which I believe support this are the Telechips TCC8900, and the ST Microelectronics Orly.

    http://www.telechips.com/eng/product/consumer_pro08.asp


    Hopefully there is more info about the video overlay solution on their pages?

    Hope this helps, Pete