I modified the video inputs to the DVEVM6446 to accept component video inputs. I'm getting the message "VIDIOC_QUERYSTD failed on /dev/video0 Video Input connected?" I'm running the encoded (debug) application by entering the command > ./encoded -v video.264 -s audio.g711 -l -xn -t 20 I modified main.c in order to expand the -x argument to accept component video input.
The ./drivers/media/video/davinci/ tvp5146.c code in LSP 1.30.1.41it checks for the Color subcarrier, (see code below) Vertical and Horizontal sync lock signals in the Status 1 Register (3Ah). Do these lock signals apply for component video or are they only for composite and SVideo input signals? What lock signals should be checked for component video?
Mike
----------------------------------------------------------------code snippet-----------------------------------------
/*
* ======== gettvp5146std ========
*/
/* This function returns detected TVP5146 input standard */
static int gettvp5146std(tvp5146_mode * mode)
{
int ret = 0;
u8 output1;
u8 std;
u8 lock_status;
dev_dbg(tvp5146_i2c_dev, "\nStarting of gettvp5146std...");
ret |= i2c_read_reg(&tvp5146_i2c_client, 0x2, &std);
std &= 0x7;
if (std == TVP5146_MODE_AUTO) {
ret |= i2c_read_reg(&tvp5146_i2c_client, 0x3F, &std);
}
std &= 0x7;
ret |= i2c_read_reg(&tvp5146_i2c_client, 0x33, &output1);
*mode = std | ((output1 & 0x80) >> 4); /* square pixel status */
ret |= i2c_read_reg(&tvp5146_i2c_client, 0x3A, &lock_status);
if ((lock_status & 0xe) != 0xe) {
/* not quite locked */
ret = -EAGAIN;
}
dev_dbg(tvp5146_i2c_dev, "\nEnd of gettvp5146std...");
return ret;
}