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.

DM365 IPIPE and Resizer Data Flow

I've been reading through the documentation on the DM365 and I've been getting a little confused about the data flow through the IPIPE when the Resizer is enabled.  I am interfacing a 5 MP camera @ 10 fps to the DM365.  Our camera's resolution is 2456x2058.  I have a mode in which I care to use three copies of each frame: (1) full resolution original frame, (2) 1920x1080 downsampled frame, and (3) 720x480 downsampled frame.  From my understanding I can setup the IPIPE to output directly to the Resizer, Resizer A can downsample the image to 1920x1080, and Resizer B can simultaneously downsample to 720x480.  However, if the Resizer input is the IPIPE, what happens to the original image?  If I care to keep all three copies, do I first need to send the full resolution image from the IPIPE to DRAM and use DRAM as the input to the Resizer?

Thanks,

Bryan

  • Hi Bryan,

    There are a few things that you need to note when trying to implement your usecase.

    1. The line width limitation on IPIPE module is 2176 pixels per line. As you need 2456 pixels per line for your 5MP resolution, you cannot use IPIPE/RSZ in single pass. You would have to do vertical slicing of the frame and then do the imagepipe/resize operation on each vertical slice.

    2. RSZ can take input from DDR or directly from ISIF (parallel input port interface). But when directly taking input from ISIF, the RSZ runs on input pixel clock and this more is calleed continuous mode. In this mode, generally, it is not possible to break the resize operation during the vertical blanking duration.

    3. For your usecase, you need to run RSZ in DDR input mode as you need three different resolutions and you have only two resizer ports (RSZA and RSZB) to generate the YUV data.

    So my suggestion for your data flow is as follows:

    If input is bayer format

    5MP Sensor --> ISIF --> DDR (5MP bayer data)  --> IPIPE (vertical slice mode) --> RSZA --> DDR (5MP YUV)

                                                                                                                                                 | --> RSZB --> DDR (1080P YUV)

     DDR(1080P YUV) --> RSZA --> DDR (720x480 YUV)

    If input is YUV format

    5MP YUV sensor --> ISIF --> DDR (5MP YUV)  --> IPIPE (vertical slice mode) --> RSZA --> DDR (1080P YUV)

                                                                                                                                             | --> RSZB --> DDR (720x480 YUV)

    I hope you could get some idea of data flow with the above description.

    Regards,

    Anshuman

    PS: Please mark this post as verified, if you think it has answered your question. Thanks.

  • Anshuman,

     

    Thanks for your reply.  After reading your response the DM365's VPFE User's Guide is making more sense.  We're receiving the images from the camera in Bayer format, so we'll have to follow the first data flow.  We'll have to see if we can get the bandwidth on the DDR bus to have this much data flowing through.

    Thanks,

    Bryan