Using DVI Output on DM365Leopard

From RidgeRun Developer Connection
Jump to: navigation, search

An accessory for the LeopardBoard 365 allows you to generate video in DVI format. Attach the LI-DVI1 module to J7, the Parallel RGB (PRGB) port, to add a DVI port to your LeopardBoard.

Dm365 leopard dvi module 2.JPG


DVI configuration is achieved after three basic steps, done using the RidgeRun's SDK configuration tool, which can be run using:

make config

1) Make sure that the dm365_generic_prgb_encoder is selected. This can be enabled at:

Kernel configuration -> Device Drivers -> Multimedia support -> Video capture adapters -> Generic PRGB Encoder support 
Dvi config 1.png

2) Set the video output to PRGB, then choose the max DVI resolution size that is required (480P, 720P, 1080I).

Architecture configurations -> Video Output (PRGB)
Architecture configurations -> Maximum Video Output Buffer Size    
Dvi config 2.png

3) Add an extra parameter to the kernel command line, which in the kernel configuration is called an extram kernel argument:

Kernel configuration -> Extra kernel arguments   
Dvi config 3.png

Add the PRGB parameter that will be used by the kernel to set the mode.

A couple examples of include:




Test pipelines

Test pipelines (works with dm365_generic_prgb_encoder.mode=1280x720MR-16@60)

Test Pipeline for videotestsrc to DVI output:

gst-launch videotestsrc ! TIDmaiVideoSink videoStd=PRGB

Test pipeline for 5Mp Camera to DVI output

gst-launch v4l2src chain-ipipe=true always-copy=false ! "video/x-raw-yuv,format=(fourcc)NV12, width=1280,height=720,framerate=(fraction)23/1" ! dmaiaccel ! TIDmaiVideoSink videoStd=PRGB sync=false enable-last-buffer=false

Pipeline reading mp4 file (720P)

Reserved memory from DVSDK: 0x4300000

Reserved memory for CMEM: 0x3500000

Modify pipeline location as needed

gst-launch -e -v filesrc location= /MEDIA/GRAlpha_Full.mp4 ! tee name=mp4_vid ! queue ! qtdemux ! 'video/x-h264, width=(int)1280, height=(int)720' ! tee name=h264_vid ! queue ! dmaidec_h264 numOutputBufs=22 ! 'video/x-raw-yuv, format=(fourcc)NV12, width=(int)1280, height=(int)720' ! queue ! dmaiperf print-arm-load=true ! TIDmaiVideoSink videoOutput=DVI videoStd=720P_60