hi,
I have set tvp5158 1ch bt.656 ,and which can work under ccs.
But when i try to use linux to capture 1ch bt656,it dostn't work. The case is when i using VIDIOC_QBUF,it halt(like while(1)).{"PAL", 720, 576, 25, 0, 1, 280, 1440, 1, 23, 311, 313,
336, 624, 625, 0, 1, 0}
I set tvp5158 as Line-Interleaved Mode(2-ch),and i changed the driver for {"TVP5158_PAL_06", 728, 1250, 25, 1, 1, 248, 1448, 1, 2, 1252, 0, 0, 0, 1252, 0, 1, 0}, DM6467 can get buf.
I think the problem is vpif register setting.It cann't capture because sav ,eav, filed/frame,interlaced/progsive set error. But when i changed the VPIF_CH0_CTRL as same as i set under ccs(4b),it doesn't either.
My question is : How to set tvp5158.c(1ch bt656) for dm6467 ? May other decoder driver which can set dm6467 to capture bt656(1ch) ?
i changed tvp5158.c as follows,and comment i2c operation.
tvp5158_configuration[tvp5158_NUM_CHANNELS] = {
{
.no_of_inputs = tvp5158_MAX_NO_INPUTS,
.input[0] = {
.input_type = tvp5158_COMPOSITE_INPUT,
.lock_mask = 0x0E,
.input_info = {
.index = 0,
.name = "COMPOSITE",
.type = V4L2_INPUT_TYPE_CAMERA,
.std = V4L2_STD_tvp5158_ALL},
.no_of_standard = tvp5158_MAX_NO_STANDARDS,
.standard = (struct v4l2_standard *)tvp5158_standards,
.def_std = V4L2_STD_625_50,
.mode = (tvp5158_mode(*)[]) & tvp5158_modes,
.no_of_controls = tvp5158_MAX_NO_CONTROLS,
.controls = NULL},
.sliced_cap = {
.service_set = (V4L2_SLICED_CAPTION_525 |
V4L2_SLICED_WSS_625 |
V4L2_SLICED_CGMS_525),
},
.num_services = 0}
)
struct tvp5158_channel tvp5158_channel_info[tvp5158_NUM_CHANNELS] = {
{
.params.inputidx = 0,
.params.std =V4L2_STD_625_50,
.i2c_dev = {
.i2c_addr = (0xB0 >> 1),
.i2c_registration = 0},
.dec_device = NULL}
};
thanks.