Hi,
I amworking on a video integration project using a DM365 eval board. As part of this I have been working on a test application to grab via from /dev/video0 via the Video4Linux API which
I am very familiar with. Doing a v4l-info on the video device gives the
following for the first four inputs (plus component not shown)
inputs
VIDIOC_ENUMINPUT(0)
index : 0
name : "RAW"
type : CAMERA
audioset : 0
tuner : 0
std : 0x7fff000000000
[(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)]
status : 0x0 []
VIDIOC_ENUMINPUT(1)
index : 1
name : "RAW-1"
type : CAMERA
audioset : 0
tuner : 0
std : 0x3ffff000000000
[(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)]
status : 0x0 []
VIDIOC_ENUMINPUT(2)
index : 2
name : "COMPOSITE"
type : CAMERA
audioset : 1342178450
tuner : 1083360777
std : 0xf00ffffff
[PAL_B,PAL_B1,PAL_G,PAL_H,PAL_I,PAL_D,PAL_D1,PAL_K,PAL_M,PAL_N,PAL_Nc,PAL_60,NTSC_M,NTSC_M_JP,?,?,SECAM_B,SECAM_D,SECAM_G,SECAM_H,SECAM_K,SECAM_K1,SECAM_L,?ATSC_8_VSB,(null),(null),(null),(null)]
status : 0x8c2a4211 [NO_POWER,?,COLOR_KILL,?,NO_EQU,?,?,VTR,?,?]
VIDIOC_ENUMINPUT(3)
index : 3
name : "SVIDEO"
type : CAMERA
audioset : 3205186932
tuner : 3235533332
std : 0xf00ffffff
[PAL_B,PAL_B1,PAL_G,PAL_H,PAL_I,PAL_D,PAL_D1,PAL_K,PAL_M,PAL_N,PAL_Nc,PAL_60,NTSC_M,NTSC_M_JP,?,?,SECAM_B,SECAM_D,SECAM_G,SECAM_H,SECAM_K,SECAM_K1,SECAM_L,?ATSC_8_VSB,(null),(null),(null),(null)]
status : 0xbf79b657
[NO_POWER,NO_SIGNAL,NO_COLOR,?,?,COLOR_KILL,?,?,?,?,NO_SYNC,?,?,?,?,MACROVISION,NO_ACCESS,VTR,?,?,?,?]
The composite and s-video inputs I can understand but I am unsure what
the RAW and RAW-1 inputs represent. Also using v4l2 ioctls I am unable
to select inputs 0 and 1, getting an 'invalid argument' response. So
even if I knew what they were it does not look like I would be able to
access them. The camera device we are using includes digital video and I was was wondering
if this was how the DV was presented but cannot find any documentation
on this side of things (most of the tech notes etc regarding v4l2 seem
to relate to output rather than capture). If anyone can give me any pointers on this it would also be very helpful.
I have found a boot parameter which is a module argument to the davinci capture driver and might be related to this. This is davinci_capture.device_type. I have been unable to find any comprehensive documentation about what are permissible values other than 1 relates to TVP5146 and 2 is MT9T031. The previous setting (and that recommended in the startup guide) is 4 but I cannot find out what device that relates to. Changing it 1 allows V4L2 input switching to channel 2 so my application and ffmpeg were both able then to access the analog s-video input and I could create ffmpeg streams from it. Other than that using 1 or 4 seems to make little difference, and values of 0, 2 or 3 don't work at all. If someone knows anything else about this parameter I would be interested as I am a little in the dark about what it is doing.
Regards
Philip Coombes