On 05/20/2015 06:39 PM, William Towle wrote: > When hardware reports interlaced input, correctly set field to > V4L_FIELD_INTERLACED ini adv76xx_fill_format. > > Signed-off-by: Rob Taylor <rob.taylor@xxxxxxxxxxxxxxx> > Reviewed-by: William Towle <william.towle@xxxxxxxxxxxxxxx> > --- > drivers/media/i2c/adv7604.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/drivers/media/i2c/adv7604.c b/drivers/media/i2c/adv7604.c > index 4bde3e1..d77ee1f 100644 > --- a/drivers/media/i2c/adv7604.c > +++ b/drivers/media/i2c/adv7604.c > @@ -1791,7 +1791,12 @@ static void adv76xx_fill_format(struct adv76xx_state *state, > > format->width = state->timings.bt.width; > format->height = state->timings.bt.height; > - format->field = V4L2_FIELD_NONE; > + > + if (state->timings.bt.interlaced) > + format->field= V4L2_FIELD_INTERLACED; No, this should be FIELD_ALTERNATE. FIELD_INTERLACED means that the two fields are interlaced into a single frame buffer, with FIELD_ALTERNATE each buffer contains one field. And when capturing v4l2_buffer should return which field (TOP/BOTTOM) the buffer contains. It also complicates cropping/composing: the crop rectangle is in frame coordinates, composing uses field coordinates. The vivid driver handles this correctly and can be used as a reference. Also, no space before the '='. Please add. You might be interested in this patch series as well: http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/90578 I'm thinking of doing some interlaced tests myself, possibly this weekend, using the adv7604. Regards, Hans > + else > + format->field= V4L2_FIELD_NONE; > + > format->colorspace = V4L2_COLORSPACE_SRGB; > > if (state->timings.bt.flags & V4L2_DV_FL_IS_CE_VIDEO) > -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html