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.

Composite Camera with dm368

Other Parts Discussed in Thread: TVP5146

I have been working a dm365 EVM using a composite NTSC camera and a VGA monitor.  I have been using the following uboot profile:

baudrate=115200
ethaddr=00:0e:99:02:ca:0b
bootdelay=10
filesize=1F7640
netmask=255.255.0.0
board=dm365
bootfile=uImage-dm365-evm.bin
rootpath=/home/doug/targetfs_dm365
fileaddr=0x80700000
serverip=192.168.1.2
nfshost=192.168.1.2
ipaddr=192.168.1.4
bootcmd=tftpboot ${fileaddr} ${bootfile}; bootm ${fileaddr}
bootargs=console=ttyS0,115200n8 noinitrd rw ip=192.168.1.4 root=/dev/nfs nfsroot=192.168.1.2:/home/doug/targetfs_dm365,nolock mem=48M video=davincifb:vid0=OFF:vid1=OFF:osd0=720x576x16,4050K dm365_imp.oper_mode=0 davinci_capture.device_type=4
stdin=serial
stdout=serial
stderr=serial
ver=U-Boot 1.3.4 (Mar  2 2009 - 11:50:39)

Environment size: 633/262140 bytes


I have been able to run the following gstreamer pipeline to capture video with the camera and display it on the monitor.


gst-launch -v v4l2src always-copy=FALSE input-src=Composite ! video/x-raw-yuv, width=720, height=480 ! queue ! tidisplaysink2 video-standard=480p display-output=component

I was recently upgraded to a dm368 EVM.  I tried using a similar uboot profile:


baudrate=115200
board=dm368
bootargs=console=ttyS0,115200n8 noinitrd rw ip=192.168.1.4 root=/dev/nfs nfsroot=192.168.1.2:/home/doug/targetfs_dm368,nolock mem=48M video=davincifb:vid0=OFF:vid1=OFF:osd0=720x576x16,4050K dm365_imp.oper_mode=0 davinci_capture.device_type=4
bootcmd=tftpboot ${fileaddr} ${bootfile}; bootm ${fileaddr}
bootdelay=3
bootfile=uImage-dm368-evm.bin
ethact=DaVinci-EMAC
ethaddr=00:0e:99:03:50:a0
fileaddr=0x80700000
filesize=20C728
ipaddr=192.168.1.4
nfshost=192.168.1.2
rootpath=/home/doug/targetfs_dm368
serverip=192.168.1.2
stderr=serial
stdin=serial
stdout=serial
ver=U-Boot 2010.12-rc2 (Mar 24 2011 - 16:49:26)

Environment size: 675/262140 bytes

I tried to run the same gstreamer command, but got an error with the following output:

root@dm368-evm:~# gst-launch -v v4l2src always-copy=FALSE input-src=Composite !
video/x-raw-yuv, width=720, height=480 ! queue ! tidisplaysink2 video-standard=4
80p display-output=component
Setting pipeline to PAUSED ...
davinci_resizer davinci_resizer.2: RSZ_G_CONFIG:0:1:124
davinci_previewer davinci_previewer.2: ipipe_set_preview_config
vpfe-capture vpfe-capture: IPIPE Chained
vpfe-capture vpfe-capture: Resizer present
tvp514x 1-005d: invalid control id -2147483648
EVM: switch to tvp5146 SD video input
tvp514x 1-005d: tvp5146 (Version - 0x03) found at 0xba (DaVinci I2C adapter)
tvp514x 1-005d: invalid control id 9963780
tvp514x 1-005d: invalid control id 9963781
tvp514x 1-005d: invalid control id 9963782
tvp514x 1-005d: invalid control id 9963783
tvp514x 1-005d: invalid control id 9963784
tvp514x 1-005d: invalid control id 9963785
tvp514x 1-005d: invalid control id 9963786
tvp514x 1-005d: invalid control id 9963787
tvp514x 1-005d: invalid control id 9963788
tvp514x 1-005d: invalid control id 9963789
tvp514x 1-005d: invalid control id 9963790
tvp514x 1-005d: invalid control id 9963791
tvp514x 1-005d: invalid control id 9963792
tvp514x 1-005d: invalid control id 9963793
tvp514x 1-005d: invalid control id 9963795
tvp514x 1-005d: invalid control id 9963796
tvp514x 1-005d: invalid control id 9963797
tvp514x 1-005d: invalid control id 9963798
tvp514x 1-005d: invalid control id 9963799
tvp514x 1-005d: invalid control id 9963800
tvp514x 1-005d: invalid control id 9963801
tvp514x 1-005d: invalid control id 9963802
tvp514x 1-005d: invalid control id 9963803
tvp514x 1-005d: invalid control id 9963804
tvp514x 1-005d: invalid control id 9963805
tvp514x 1-005d: invalid control id 9963806
tvp514x 1-005d: invalid control id 9963807
tvp514x 1-005d: invalid control id 9963808
tvp514x 1-005d: invalid control id 9963809
vpfe-capture vpfe-capture: width = 1, height = 1, bpp = 2
vpfe-capture vpfe-capture: adjusted width = 16, height = 2, bpp = 2, bytesperline = 32, sizeimage = 64
vpfe-capture vpfe-capture: width = 32768, height = 32768, bpp = 2
vpfe-capture vpfe-capture: adjusted width = 2176, height = 1536, bpp = 2, bytesperline = 4352, sizeimage = 6684672
vpfe-capture vpfe-capture: width = 1, height = 1, bpp = 1
vpfe-capture vpfe-capture: adjusted width = 32, height = 2, bpp = 1, bytesperline = 32, sizeimage = 96
vpfe-capture vpfe-capture: width = 32768, height = 32768, bpp = 1
vpfe-capture vpfe-capture: adjusted width = 2176, height = 1536, bpp = 1, bytesperline = 2176, sizeimage = 5013504
vpfe-capture vpfe-capture: width = 1, height = 1, bpp = 2
vpfe-capture vpfe-capture: adjusted width = 16, height = 2, bpp = 2, bytesperline = 32, sizeimage = 64
vpfe-capture vpfe-capture: width = 8, height = 2, bpp = 2
vpfe-capture vpfe-capture: adjusted width = 16, height = 2, bpp = 2, bytesperline = 32, sizeimage = 64
vpfe-capture vpfe-capture: width = 32768, height = 32768, bpp = 2
vpfe-capture vpfe-capture: adjusted width = 2176, height = 1536, bpp = 2, bytesperline = 4352, sizeimage = 6684672
vpfe-capture vpfe-capture: width = 32775, height = 32769, bpp = 2
vpfe-capture vpfe-capture: adjusted width = 2176, height = 1536, bpp = 2, bytesperline = 4352, sizeimage = 6684672
vpfe-capture vpfe-capture: width = 1, height = 1, bpp = 2
vpfe-capture vpfe-capture: adjusted width = 16, height = 2, bpp = 2, bytesperline = 32, sizeimage = 64
vpfe-capture vpfe-capture: width = 8, height = 2, bpp = 2
vpfe-capture vpfe-capture: adjusted width = 16, height = 2, bpp = 2, bytesperline = 32, sizeimage = 64
vpfe-capture vpfe-capture: width = 32768, height = 32768, bpp = 2
vpfe-capture vpfe-capture: adjusted width = 2176, height = 1536, bpp = 2, bytesperline = 4352, sizeimage = 6684672
vpfe-capture vpfe-capture: width = 32775, height = 32769, bpp = 2
vpfe-capture vpfe-capture: adjusted width = 2176, height = 1536, bpp = 2, bytesperline = 4352, sizeimage = 6684672
vpfe-capture vpfe-capture: width = 1, height = 1, bpp = 2
vpfe-capture vpfe-capture: adjusted width = 16, height = 2, bpp = 2, bytesperline = 32, sizeimage = 64
vpfe-capture vpfe-capture: width = 8, height = 2, bpp = 2
vpfe-capture vpfe-capture: adjusted width = 16, height = 2, bpp = 2, bytesperline = 32, sizeimage = 64
vpfe-capture vpfe-capture: width = 32768, height = 32768, bpp = 2
vpfe-capture vpfe-capture: adjusted width = 2176, height = 1536, bpp = 2, bytesperline = 4352, sizeimage = 6684672
vpfe-capture vpfe-capture: width = 32775, height = 32769, bpp = 2
vpfe-capture vpfe-capture: adjusted width = 2176, height = 1536, bpp = 2, bytesperline = 4352, sizeimage = 6684672
vpfe-capture vpfe-capture: width = 1, height = 1, bpp = 2
vpfe-capture vpfe-capture: adjusted width = 16, height = 2, bpp = 2, bytesperline = 32, sizeimage = 64
vpfe-capture vpfe-capture: width = 8, height = 2, bpp = 2
vpfe-capture vpfe-capture: adjusted width = 16, height = 2, bpp = 2, bytesperline = 32, sizeimage = 64
vpfe-capture vpfe-capture: width = 32768, height = 32768, bpp = 2
vpfe-capture vpfe-capture: adjusted width = 2176, height = 1536, bpp = 2, bytesperline = 4352, sizeimage = 6684672
vpfe-capture vpfe-capture: width = 32775, height = 32769, bpp = 2
vpfe-capture vpfe-capture: adjusted width = 2176, height = 1536, bpp = 2, bytesperline = 4352, sizeimage = 6684672
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0: queue-size = 3
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw-yuv, format=(fourcc)UYVY, framerate=(fraction)30000/1001, width=(int)720, height=(int)480
Pipeline is live and does not need PREROLL ...
WARNING: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Video input device did not accept new frame rate setting.
Additional debug info:
v4l2src_calls.c(342): gst_v4l2src_set_capture (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
system error: Invalid argument
Setting pipeline to PLAYING ...
New clock: GstSystemClock

I think I need to set something different in my bootargs.  If found that by adding "vpfe_capture.interface=1 davinci_enc_mngr.ch0_output=LCD davinci_enc_mngr.ch0_mode=720x576 rootwait" to my bootargs I was able to use the camera that came with the EVM in the encodedecode sample program, but I need to be able to use a composite camera.

Any ideas?

  • I found the solution to my own problem on the wiki at http://processors.wiki.ti.com/index.php/UG:_DaVinci_PSP_Installation_on_DM36x_EVM.  I needed to set vpfe_capture.interface and vpfe_capture.bufsize appropriately.  As far as interface goes, the wiki suggests using a value of 2, but a comment in the file vpfe_capture.c says to use 0.  A value of 0 works better for me than a value of 2.

     

     

  • hi linhardt,

           I bought the DM368 EVM from TI,Linux:2.6.32.17,DVSDK:dvsdk_dm368_4_02_00_06.

           I want  to capture image from the camera,and execute this command:

           gst-launch -e v4l2src always-copy=false num-buffers=1 input-sr
    c=camera ! video/x-raw-yuv,format=\(fourcc\)UYVY, width=640, height=480 ! jpegen
    c -e ! filesink location=VGA_jpeg_file03.jpg

         The Jpeg file is empty,and display the error like this :

    mt9p031 1-005d: control id -2147483648 not supported
    vpfe-capture vpfe-capture: input information not found for the subdev
    mt9p031 1-005d: control id 9963776 not supported
    mt9p031 1-005d: control id 9963777 not supported
    mt9p031 1-005d: control id 9963778 not supported
    mt9p031 1-005d: control id 9963779 not supported
    mt9p031 1-005d: control id 9963780 not supported

           my uboot like this:

     bootargs=console=ttyS0,115200n8 rw dm365_imp.oper_mode=0    video=davincifb:vid0=OFF:vid1=OFF:osd0=480x272x16,4050K mem=60MB vpfe_capture.interface=1 davinci_enc_mngr.ch0_output=LCD davinci_enc_mngr.ch0_mode=480x272 root=/dev/nfs nfsroot=10.22.74.211:/root/targetfs ip=10.22.74.212:10.22.74.211:10.22.74.211:255.255.255.192

    Thank you very much