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.

DM8148 simultaneous video in NTSC, RGB ( VID 0 ), and HDMI outputs

We have a requirement drive the same GUI out HDMI, RGB ("VGA" computer monitor), and composite (NTSC) simultaneously, but I'm having some trouble achieving this.  I can successfully display separate graphics on HDMI/composite or LCD/composite pairs, but not the same GUI on all outputs.

I'm currently trying to clone the EVM's display output (the graphics0 pipeline) to both the LCD and the Composite Video out, and could use some more information. Could you have someone at TI clarify what timing attributes and constraints they are referring to in this statement:
 "
One graphics pipeline can be connected to multiple video compositor as long as those VENCs associated with video compositor are in the same timing."

This is from the "
VPSS Library-graphics0/1/2: sysfs attributes" table on the below wiki page.
  http://processors.wiki.ti.com/index.php/DM814X_AM387X_VPSS_Video_Driver_User_Guide#VPSS_Library:_graphics0.2F1.2F2


Below is the procedure by which I attempted to display the default "Matrix" GUI on both the LCD and component video out. I see corrupt images on both outputs for a brief time, and then the VPSS seems to "crash." I assume this has something to do with the timing caveat mentioned above, but am uncertain as to what timing parameters are available for me to modify, and how to correctly modify them to clone the GUI to LCD + Composite video.  I see some timing parameters in /sys/devices/platform/vpss/displayX/timings, but obviously they can't be the same, as the displays are all different formats.

root@dm814x-evm:~# /etc/init.d/matrix-gui-e stop
Stopping Matrix GUI application.
root@dm814x-evm:~# echo 0 > /sys/devices/platform/vpss/graphics0/enabled
root@dm814x-evm:~# echo 0 > /sys/devices/platform/vpss/display0/enabled
root@dm814x-evm:~# echo 0 > /sys/devices/platform/vpss/display1/enabled
root@dm814x-evm:~# echo 0 > /sys/devices/platform/vpss/display2/enabled
root@dm814x-evm:~# echo 12 > /sys/devices/platform/vpss/system/tiedvencs
root@dm814x-evm:~# echo 2:sd,dvo2 > /sys/devices/platform/vpss/graphics0/nodes
root@dm814x-evm:~# echo 1 > /sys/devices/platform/vpss/graphics0/enabled
root@dm814x-evm:~# /etc/init.d/matrix-gui-e start
Removing stale PID file /var/run/matrix-gui-e.pid.
Starting Matrix GUI application.

# At this point the displays show corrupt images for a few seconds
# and then go black
root@dm814x-evm:~# echo 0 > /sys/devices/platform/vpss/graphics0/enabled
VPSS_FVID2: contrl event 0x6 timeout

Please let me know if my objective can be reached and how to do it if so,

Thanks,

Bryan Busacco

  • Bryan,

     

    The meaning of this one is you can conenct same grpx pipeline to both the VENC if they are both are displaying same mode. which i believe is not the case since you are driving VGA on HDMI output and NTSC on SD.  VGA is progressive and NTSC is interlaced mode. You will always see slight difference in display of SDVENC and VGa.

     

    Thanks,

    Brijesh Jadav

  • Byran,

    Does you LCD have the same resolution as composite Video out? composite video can support either NTSC or PAL only. so you LCD must be one of these format.

    Moreover, the clock of VENC connected with LCD does not come from the same source as clock of VENC connected with composite.

    i would suggest to use the GRPX scaler to scale the GUI to NTSC or PAL to display over the composite while keeping the original GUI on LCD.

    Regards,

    yihe

  • Here are some follow-up questions/comments.

    1) Does this imply that a single graphics pipeline can only ever be shared between the two HDVENC's, but never between an HDENC and an SDENC?

    2) We are using the onboard LCD touch screen on the EVM currently, so I am under the impression that changing the resolution to match NTSC is not even an option -- am I incorrect about this? Eventually we will need to be driving HDMI, an RGB computer screen, and Composite video all at their native resolutions (presumably with scaled versions of the GUI).

    The following seems to indicate to me that we can achieve the desired reqt., but I have some more questions:
    "i would suggest to use the GRPX scaler to scale the GUI to NTSC or PAL to display over the composite while keeping the original GUI on LCD."

     - In Figure 11-1 in the SPRUGZ8 (DM814X Tech Reference Manual), I see Scalers SC1-SC5, none of which appear to be connected to the GRPX0/1/2 pipelines. Which scalar can we use?
     - I'm having a bit of trouble locating the documentation on how I can access this scalar  -- is it available through the sysfs interface, driver ioctl()'s, or only though the OpenMax API?
     - Can TI provide a simple example of this, or indicate where such an example is already documented?

    Thanks,

     

    Bryan Busacco

  • Bryan,

    1. you can share between HDVENC and SDVENC, but they are coming from different clock souce, you may face sync issue. That's why we do not suggest to do this way.

    2. yes, you can configure LCD to the same resolution as SD, but as said the above, there is some risks

    3. there is a scaler inside of each GRPX module, which is not list in the diagram, but you should get such informatioin when looking into GRPX chapter.

    Please refer the attach sample code to as reference for the downscaling usage.

    Regards,

    yihe

     

  • Typically LCD is in progressive mode and SD display is in interlaced mode. so mode cannot be same typically.

     

    Thanks,

    Brijesh Jadav

     

  • Hi,

       I need to do something similar, I have a GUI created using qt and I need to display the same GUI and its changes in both, HDMI and SD at the same time, I also tried to tie both but the image get corrupted, is there some way to do this in the DM814x or DM816x?

    Thanks in advance,

    -David