This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA2PXEVM: Display Icon with shadow effect using Grpx link

Part Number: TDA2PXEVM


I have a requirement to overlay icons using Grpx link. I am able to overlay normal icons on the screen.

But the requirement here is to overlay icons having shadow effect i.e the logo itself will have solid as well as a transparency factor.

The process has 3 steps:

1. Convert png to raw format using ImageMagick or other 3rd party tool

2. Convert raw image(RGBA) to overlay format using image_convert tool.

3. Convert to .h using bin to c utility in tools folder.

Step 1:

When converting through ImageMagick which is TI recommended tool I could find option to convert the image to only RGB. Hence the transparency was lost . Hence, a different tool was used to convert the image to RGBA and a correct image was obtained.

Step 2:

The image covert tool does not support preserving the transparency factor. After studying the code I realized that the A is not considered in the utility even if input has A. 

Also, the Grpx link supports RGB565 as input. So is it possible to overlay icons with transparency using Grpx link? If yes how is the second step handled in such a scenarios as the tool is not handling A channel?

  • Aniruddha,

    Did not get your question.

    Yes, Graphics link and path does support RGB format with the alpha value and so we can have overlay icons with the transparency. 

    Are you using draw APIs? I think draw layer supports RGBA16 format. So you could refer to it and add support for other RGB format with alpha value.



  • Hi Brijesh,

    Yes I am using Draw API. The Grpx link supports BGRA4444 format. But I would like to know that how to generate image in this format.

    The image_convert tool provided in tools folder in vision SDK does not support conversion to RGBA16.

    Please find attached screenshot of the source code of the image_converison tool:

  • Hi Aniruddha,

    The source code for the image conversion tool is part of the vision sdk, you could find it in vision_sdk\apps\tools\misc_tools\image_convert\src. Please update it to include support for new format. 



  • Hi Brijesh,

    I could modify the convert utility and add support for BGRA4444. I chose BGRA4444 as I could see that Grpx link currently only supports RGB565 or BGRA4444. I could see that transparency is achieved but fine level transparency cannot be achieved using BGRA4444 format.

    Is it possible to add support for BGRA5551 or ARGB5551 in the Grpx link in SDK to overlay on display to check the quality? Will the hardware support this on grpx pipleline?

  • Hi Aniruddha,

    Yes, you could update grpx src link to support new formats. I think HW supports these formats.



  • Hi Brijesh,

    The flow will be Grpx->Display.

    I have identified the changes to be made in Grpx link to enable sending BGRA16_5551 data to display link. Can you please confirm if only changes made in Grpx will be sufficient or any changes will have to be done in Display link as well?


    Aniruddha Nadgouda

  • Hi Aniruddha,

    Most likely, yes, only grpx link would require change for the new format. 

    Even if display link requires any change, it would be very minimal. Could you try just changing grpx link?



  • Hi Brijesh,

    Thanks for the support I was able to add support for new format ARGB32_8888 by making changes in grpx link and by setting the data format for grpx link from setapp params function in the usecase.

    I am working on enabling multiple layers of grpx layers on 1 display. I was able to this to one level . My observations are as follows:

    1. Both Grpx overlay layers with ARGB32_8888 : Working fine camera image seen on display and icons visible on both layers as expected.

    2. 1  layer ARGB32_8888 and 1 layer BGR16_565: Icons are visible with correct color format as expected. Camera image not visible on display

    3. Both Grpx layers with BGR16_565: Icons are visible with correct format as expected. Camera image not visible on display

    Note: This code unchanged at Grpx level when made to work on 1 display and 1 Grpx works fine with BGR16_565 format where icons can be seen and even image below can be seen.

    Can you please support me to point out what can cause such issue?

  • Hi Aniruddha,

    Please check your

    - transparency

    - blending

    - priority/zorder settings

    Above settings can make below layer transparent.



  • Hi Brijesh ,

    I actually could get the multiple layers grpx working with different data formats on right display by trial and error but wanted to share my observation :

    Left Display -> VID1 -> ZORDER0

    Right Display -> VID2 ->ZORDER0

    Graphics Layer1 -> VID3 -> ZORDER2

    Graphics Layer 2 -> GFX1 ->ZORDER3

    As seen in the above table option 2 works fine but when we use option 4 then camera image is not visible. Also in option 3 camera image is not visible. Hence when I am using BGR16_565 on GFX1 I am seeing the probelm but no settings are changed

    As per my understanding both should have worked. All the settings for display have the same format only grpx format is changing.

    Any views on why this can happen ?

  • Hi Brijesh,

    I have one observation:

    If I use any 16 bit format for VID3 having ZORDER2 to overlay grpx I can see that the camera image is not visible and icons will be seen with black brackground.

    But with same transparency, blending, priority/zorder settings we are able to see camera images for overlaying icons in ARGB32_8888 format. 

    Is there a problem is 16 bit format is used with ZORDER2?

    As we had similar observation before with just 1 layer of grpx as well that when we changed ZORDER from 2 to ZORDER3 for Grpx then camera images were seen with icon overlay



  • No really problem. For the 16bit format, does it include pixel alpha value? if not, can you check global alpha value? Because if the pixel alpha is not available, it will use global alpha value.