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.

Davinci VPFE & VPBE performance



We want to handle a video stream: 682*512, 50fps, raw data

If we using DM365 or DM6446:

1, How long does the davinci need when capture one frame and send to TV output?
   1us or 10us or 1ms ?
   We want to evaluate the video delay.

2, If pre-process have 60 frame  progressive, how do the DM TV output module process it?
   We need TV output the first field output the first frame's odd field,and the second filed output the second frame's even filed, and the third field output the third frams's odd field etc.
  
3, If the video source is 60fps , how do the TV output ?

  • Jack said:


    1, How long does the davinci need when capture one frame and send to TV output?
       1us or 10us or 1ms ?
       We want to evaluate the video delay.

    mmm, I have never measured this but if you are not doind any video processing (e.g. encoding, or decoding) it should be pretty quick and limited to a large extent by the external clock source you design into your EVM.  For DM365, the video ports support a maximum pixel clock of 120 MHz, therefore it should be able to capture your required frame rate and resolution with no problem.

       682 x 512 x (2 bytes per pixel) x (50 fps  ) = 33.3 MHz..  (which is less than the 120 MHz max supported, so you are good here).

    As far as delay thru the system from input to output, this will depend to a large extent on how you design your system.  Do you want to capture two or three (double or tripple buffering) frames before displaying to avoid potential tearing effects?  If so, at 50 Hz fps, you would be looking at 20 msec per frame delay.  On the other hand, if you wanted to display as soon as you captured, then the most efficient way would be to use the same buffer pointer for both capture and display and start displaying as quickly as possible (e.g. as soon as there is data to display); the theoretical quickest way is to capture 32 bytes of data (minimum data burst) before starting to display.  How fast can we capture this first 32 bytes (or 16 pixels)?  Again, this would depend on pixel clock, assuming we have a 33.3 Mhz pixel clock (not the max) which means it takes 20 msec (1/50fps) to capture an entire frame, the time to capture 16 pixels is

            (16 / 682 x 512) * 20 msec = .91 usec or close to 1 usec. 

    that is the time to get 32 bytes of data via capture port into DDR2, the time to read 32 bytes of data from DDR2 to display port will be similar, hence you are looking at a theoretical delay of 2 usec for lowest possible delay from capture thru display.  Of course, it is much more common to buffer a capture frame or two before starting display, which would mean closer to 20 msec for one frame or 40 msec for two (at you chosen 50 fps requirement, the part can actually do it faster if max pixel clock of 120 MHz is used).

  • If we using DM335 to do video pre-process: AWB, AE, AF, Gamma,
    Could you please evaluate the delay ?

    Do you have any idea for this question ?
    2, If pre-process have 60 frame  progressive, how do the DM TV output module process it?
       We need TV output the first field output the first frame's odd field,and the second filed output the second frame's even filed, and the third field output the third frams's odd field etc.

    Thanks.