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.

PROCESSOR-SDK-TDAX: Merge frames ONLY using the SIMCOP (TDA2P)

Part Number: PROCESSOR-SDK-TDAX

Hello Everyone,

I want to merge three different image areas from two seperate cameras into one frame (see attached image). Those areas have seperate LDC mesh tables which are given to us by a third party. I'm using PSDK 3.5 with a custom TDA2P board and two sensors (1920x1080). To begin with I took the usecase 1CH ISS Capture + ISS ISP + ISS LDC+VTNF + Display and I'm planning to extend it with the second sensor.

1. Is it possible to merge these three image areas by only using the SIMCOP? The idea was to run one frame through the simcop 3 times and add one image area to it in every run. So e.g. first run: warp area 1 from cam 1 and copy it to its position on the output frame. Then repeat this with area 2 und 3 while keeping the previous image areas. When all 3 areas are copied, send the frame to the display. Is this possible in the PSDK without changing the majority of data structs/functions and without the use of additional links?

2. When I warp image area 1 and I want to add it to the output frame it changes its effective resolution. For example I only want to copy half of the frame of Cam 1 to the output frame (see attached picture). So my output frame would be 960x1080. However, drvSimcopCfg.ldcCfg.advCfg.outputFrameHeight is always set to the outputFrameHeight of the output frame (1920x1080). This happens in IssM2mSimcopLink_drvSetSimcopConfig. Is there a way to dynamically change the output resolution of the SIMCOP with every run? I dont want it to process a complete full HD frame in every run but just the selected image area.

Regards,

Tobias

  • Hi Tobias,

    Well this is possible, but not supported by the existing SIMCOP link. You would require to update SIMCOP link to run LDC for three times, each with the different output resolution, buffer offset and may be different LDC configuration, depending on which portion you are processing.
    The current SIMCOP link runs LDC only once and that too same output resolution. You would need to change it to output this mosaic frame.

    One question, why not use DMA SWMS link to create this layout? DMA SWMS link can create this kind of layout, but it can't do distortion correction. So probably you could use both of these links..

    Regards,
    Brijesh
  • Hi Brijesh,

    A customer wants to implement this system on his own (non-PSDK) framework later. He wants us to recreate it first on the PSDK so that it will work the same way there as it would later on the other framework. I also guessed that the SWMS approch would be more suitable and 'TI-like', so I am currently trying that way..

    A question for later: What's the best way to process one input frame twice (see above - Cam 2)? Can I somehow re-route a frame into the simcop with a link? Or maybe use duplicate/merge links?

    Regards,
    Tobias
  • Tobias,

    You could use dup link to duplicate the same frame. This will just duplication of pointer, not the buffer.
    So you could duplicate camera2 using dup link and now you have three system frame buffer, that you could sent to SWMS link to create this view..

    Rgds,
    Brijesh
  • Hi Brijesh,

    but I need to adjust the Dup link then, am I right? Because otherwise it would also duplicate the first camera which is intended to be used only once. Also I noted that when I create a chain like this:

    • ... -> Dup --> Merge -> ...
    • Dup -> Merge

    Dup link has just one output Q going into the Merge Link. At least that's shown when I look at the Image that is created with GraphViz. Is this intended?

    Regards,

    Tobias

  • Hi Tobias,

    I think you could select link to output on two different queues. The first queue can be for camera1 and second for camera2. and then you could dup camera1 or camera2..

    Camera -> Select -> Dup -> Merge -> VPE_SWMS -> Display

                      Select -> Merge

    Rgds,

    Brijesh

  • Hi Brijesh,

    thanks for your help. It's working now with a select link and a dup link after, like you explained.

    I just hat to add a dummy link after the dup link because otherwise the dup link would only output one Q to the merge link and not two as I wanted. So the usecase now looks like this:

    ... -> Select -> Merge -> ...

    ... -> Select -> Dup -> Merge -> ...

    ... -> Dup -> Dup_Dummy -> Merge -> ..

    Regards,

    Tobias