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.

TDA4VM: raw12 split

Part Number: TDA4VM

Tool/software:

Hi TI,

SDK8.6

Only 1 camera:

The camera interlacedly outputs a combined frame of IR(640*480)+Depth(640*480) 640*960.

How to split a 640*960 frame into an IR frame (640*480) and a D frame (640*480)?

Looking forward to getting help from experts.

  • Hello,

    The expert assigned to this query is out of the office but will be back on April 18th, so please expect a delayed response.

    Thanks.

  • Hi Barry,

    Does this camera output this data on the same virtual channel and datatype? Then from CSIRX perspective, it is just one frame, you would probably need to use DMA to separate them. There is no example available in the SDK for doing this. 

    Regards,

    Brijesh

  • Hi Brijesh,

    YOU:Does this camera output this data on the same virtual channel and datatype? Then from CSIRX perspective, it is just one frame.

        Yes, you are right, it is a superframe 640*960 composed of two 640*480 images interlaced output.

    How to use DMA separation?

    Are there any threads like this on the forum?

  • Hi Barry,

    oh ok, so for the CSIRX, it just one frame of 640x1920 framesize, is it? 

    You would need to run separate memory 2 memory using DMA or some other component to separate these two frames. 

    One another option is, which component is using both of these frames? Can this component support pitch/line offset? Then you can use the same frame in both the components, where this frame is going to be used. 

    Like wherever you are doing IR processing, it should assume frame as 640x960, but the pitch/line offset as 1280 (640x2). Similarly wherever you are processing depth, it should use 640xx960 as frame size but with the pitch of 1280..  In this way, you dont need to run separate memory to memory component to separate these two components.

    Regards,

    Brijesh 

  • Hi Brijesh,

    Thanks for your support.

    Yes, for CSIRX, each frame size is 640*960 (since the resolution is 640*960), what do you think is the reason for 640*1920?

    Your statement is correct. When we use the 1280*480 method to expand the 640*960 interlaced frame, it is side by side.

    Since the upper layer requires directly separated frames, the splitting action needs to be completed before sending to the algorithm.

    What should we do when using DMA to handle splitting? Do you have any recommended methods?

    Looking forward to your reply

  • Hi Barry,

    what do you think is the reason for 640*1920?

    I was considering second diagram, where IR and depth are coming as a one frame, and they are line interleaved so the resolution becomes 640x(960x2).

    you would have to run DMA two times to separate the IR and depth data. Its simple operation, but there is not any exact example available in the SDK. You could refer to UDMA memcpy example and update it based on your requirement here.

    Again, if your algorithm can interpret this data using line offset, then it would be the best. You dont need to run additional DMA to separate them. 

    Regards,

    Brijesh

  • Hi Brijesh,

    Thanks for your support, we have solved it.

    However, the linear interlaced output here only contains 2 types of frames, IR: 640*480 D: 640*480

    So each interlaced combined frame: 640*960.

    Why do you always think it is 640*1920? What did we misunderstand?

  • Hi Barry,

    ok, i thought single frame of IR has 640x960 size.. but its not. 

    Regards,

    Brijesh