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 VPSS(video processing subsystem) related problems

Other Parts Discussed in Thread: TVP5146, TVP7002

Hi ,

can anyone help me on the following issues related to DM365 , as I am new to it and i am going to start a project related to it,

1) how can I capture analog video i/p using VPSS in DM365 ?

2) how A/D can be used with this i/p video ?

3) if i want to process this A/D o/p with resizer, Is their any buffer  required in between or we can direct chain the A/D o/p with resizer ?

4)  what are the possible i/p methods for resizer module?

5) How can i enable some selected modules from VPFE , i am interested in resizer , ISIF...

my data flow is as,     Analog video signal -> A/D -> Resizer -> HDVICP, MJCP ->Gstreamer pipeline -> o/p sink

  • 1 and 2) DM365 itself does not have an analog video input interface, hence you need external parts to convert to digital formats which our DM365 can accept.  For example, our DM365 EVM uses either TVP5146 (D1 input) or TVP7002 ( HD input) to correspondignly convert composite or component analog input signals to their digital BT.656 or BT.1120 counterparts.

    3) our video pipeline is flexible; you can think of it as an assembly line where 1) one station can feed righ into the other, 2) where one station can process faster than another one (and hence you may want to buffer some data on RAM not to hold up the rest of the line), or 3) where certain stations can be bypassed altogether.  You decide.  CCD can feed right into resizer, or it can write data to RAM and let resizer get to it when it can at its own pace, or you can even bypass resizer altogether.

    4) resizer operated on YCbCr 4:2:2 data; therefore is you are inputting raw data from a CCD sensor, you must pass it thru preview block (assembly station) first before sending it to resizer (either directly or via RAM).  If you are inputting BT.656 data, pixel format is already in YCbCr 4:2:2 so you can bypass preview block.

    5) See VPFE User Guide http://focus.ti.com/general/docs/litabsmultiplefilelist.tsp?literatureNumber=sprufg8a

  • Thanks man..... Its really helpful info.

    let me tell you my data flow once again ,

    Analog video i/p->TVP5146->ISIF->IPIPE(resizer)->Encoder(MJCP/HDVICP)

    I have two task

    1) resize h.264 stream 480i to resized stream (128x96 or 128x72)

    2) resize JPEG(720x480) to JPEG(128x96 or 128x72) &

    encode respective resized o/p with (MJCP/HDVICP)

    now my questions are,

    1) There are two resizer in IPIPE (RZA & RZB ) ,i want to resize 720x480 frame to (128x96 or 128x72),How can i use these resizer?What is the difference between them & which one is best suited for my purpose?

    2) can i directly chain my resized JPEG (YCbCr 4:2:0) to JPEG encoder MJCP or i required any Synchronization between these two module ? If yes how can we do synchronization? similarly for chaining resized h.264 frame with HDVICP?

     

  • 1) I do not see any difference between RZA and RZB.  Look at the DMAI sample code included in the DVSDK for examples on how to use the resizers.

    2) MJCP is not part of IPIPE but separate hardware block; both IPIPE and MJCP have access to VPSS bus for fast easy access to memory buffers in DDR2.  When you make corresponding VIDXXX_process (VISA API) call, it is an synchronous call which will use MJCP to encode/decode as necessary without you even knowing about it.  Since the call is synchronous, it inherently will not come back until it is done... hence that helps with the synchronization.  Of course, in Linux, you are not stuck waiting, you can always start another thread to continue doing useful work while one thread wait on MJCP.