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.

Can 6437 vpbe support both yuv and RGB888 at the same time ?

Other Parts Discussed in Thread: TVP5146

hello everyone !

 my algorithm need  both RGB information and yuv information at the same time

,but what i have known is ,i can use YUV422 ,and convert it to yuv 420 by EDMA3.

but if i also need RGB information, i have two way 

one is i convert yuv420 to RGB888 by DSP 

the other is i also get the RGB888 by  VPBE directly,just like yuv422 

so

Can 6437 vpbe support both yuv and RGB888 at the same time ?

  • Junfeng Chen said:
    Can 6437 vpbe support both yuv and RGB888 at the same time ?

    The VPBE on the DM6437 can take in multiple video data formats from memory simultaneously for display using the OSD as described in section 4.3 of SPRU952.

    So the short answer to your question is yes, you can support both YUV and RGB888 inputs at the same time.

    Note that though the VPBE can take in multiple video data formats, it can only output one type at any given time, all the inputs from the OSD are converted within the VPBE to the selected output format.

  • To add to what Bernie is saying,

    VID0/VID1 only takes in YUV422 or RGB888 data

    OSD0/OSD1 only takes in RGB565 data or BMP indexed data.

    After data are blended, it doesn't get stored back into the memory, and gets converted to the disired output format in the VENC.

  • i'm sorry, i think i have not made my question clearly.

     

    in my project, i get the video data from  CMOS  sensor  through VPFE. CCDC and TVP5146 ,

     

    and i have two task , and the two task need to executed one by one.

    the one is H.264 encode,which need yuv420 video data that can be convered from yuv422 by EDMA3.

    for this issue,i used CCDC and VID0 , the latter is configured with YCBCR 422

    the other one is motion tracking. which need RGB information, 

    for this issue, am i need one more module such as VID1? , and then configure it with GRB888.?

     

    note that i do not need display any of them in LCD or another type of monitor,

    i just need to get them(both YUV422 and RGB888 at the same time) from DDR2 memory and used by my two task above 

     

  • i just read 

    spru977c-TMS320DM643x DMP Video Processing Front End (VPFE) User's Guide (Rev. C).pdf 

    spru952a-TMS320DM643x DMP Video Processing Back End (VPBE) User's Guide (Rev. A).pdf 

    again, and find  it can not .

    i have two point 

    1:   if i do not need display anything, i do not need VPBE.

          as it just read some proper video data from DDR memory and  display them by monitor.

         so ,in my project,

          i just need to use VPFE to get YUV422 data from cmos sensor ,through the use of TVP5146

    2: VPFE can only support  to write a given video format such as YUV422  to DDR2 Memory at a given time .

       it can not support to  write both YUV422 and RGB888 to DDR2 memory  at the same time .

       so ,in my project

       i  need to  use yuv data to do H.264 encode  first

       and then  convert YUV to RGB by DSP c64x+ core ,  to do motion tracking second

       though the process of prcessing YUV to RGB888 will cost some of DSP time additional ,but i don't have a better method.

     

     Is  my point above right ?


  • UP!!

    waitting for response

  • Junfeng Chen said:

    1:   if i do not need display anything, i do not need VPBE.

          as it just read some proper video data from DDR memory and  display them by monitor.

         so ,in my project,

          i just need to use VPFE to get YUV422 data from cmos sensor ,through the use of TVP5146

    This is right, the VPBE is effectively only for display purposes, the OSD is not able to write back to DDR2.

    Junfeng Chen said:

    2: VPFE can only support  to write a given video format such as YUV422  to DDR2 Memory at a given time .

       it can not support to  write both YUV422 and RGB888 to DDR2 memory  at the same time .

       so ,in my project

       i  need to  use yuv data to do H.264 encode  first

       and then  convert YUV to RGB by DSP c64x+ core ,  to do motion tracking second

       though the process of prcessing YUV to RGB888 will cost some of DSP time additional ,but i don't have a better method.

     

     Is  my point above right ?

    This is true, the front end (VPFE) only captures one format, only the back end (VPBE) has multiple simultaneous format support through the OSD, and then it is only for displaying, not for conversion in memory (i.e. the VPBE/OSD cannot perform the YUV->RGB conversion in RAM directly). This being said, if your object tracking code requires RGB888 you will have to perform a YUV->RGB conversion in software.