Hi,
I'm using the ADV7280M, both the development board and a custom circuit and I'm trying to disable the I2P processing in order to get the half-height 50 or 60 fields per second to deinterlace myself. I'd like to avoid patching the kernel module which I understand it's not necessary:
I've followed the very productive conversation here viewtopic.php?t=326011 and I've seen the patch for V4L2_FIELD_ALTERNATE has been integrated in mainline kernel, thanks for that.
Now, I'm trying to configure the field mode to V4L2_FIELD_ALTERNATE using v4l2-ctl but the change is not applied, or it's simply not persistent.
I've checked the adv718.c kernel module sources (6.11y) and the code for that IOCTL seems there, am I missing something? any help appreciated
I'm using the ADV7280M, both the development board and a custom circuit and I'm trying to disable the I2P processing in order to get the half-height 50 or 60 fields per second to deinterlace myself. I'd like to avoid patching the kernel module which I understand it's not necessary:
I've followed the very productive conversation here viewtopic.php?t=326011 and I've seen the patch for V4L2_FIELD_ALTERNATE has been integrated in mainline kernel, thanks for that.
Now, I'm trying to configure the field mode to V4L2_FIELD_ALTERNATE using v4l2-ctl but the change is not applied, or it's simply not persistent.
Code:
raspberrypi2w:~ $ v4l2-ctl -d /dev/video0 --get-fmt-videoFormat Video Capture: Width/Height : 720/480 Pixel Format : 'UYVY' (UYVY 4:2:2) Field : None Bytes per Line : 1440 Size Image : 691200 Colorspace : SMPTE 170M Transfer Function : Default (maps to Rec. 709) YCbCr/HSV Encoding: Default (maps to ITU-R 601) Quantization : Default (maps to Limited Range) Flags :raspberrypi2w:~ $ v4l2-ctl -d /dev/video0 --set-fmt-video field=alternateraspberrypi2w:~ $ v4l2-ctl -d /dev/video0 --get-fmt-videoFormat Video Capture: Width/Height : 720/480 Pixel Format : 'UYVY' (UYVY 4:2:2) Field : None Bytes per Line : 1440 Size Image : 691200 Colorspace : SMPTE 170M Transfer Function : Default (maps to Rec. 709) YCbCr/HSV Encoding: Default (maps to ITU-R 601) Quantization : Default (maps to Limited Range) Flags :
Code:
static int adv7180_set_pad_format(struct v4l2_subdev *sd, struct v4l2_subdev_state *sd_state, struct v4l2_subdev_format *format){struct adv7180_state *state = to_state(sd);struct v4l2_mbus_framefmt *framefmt;int ret;switch (format->format.field) {case V4L2_FIELD_NONE:if (state->chip_info->flags & ADV7180_FLAG_I2P)break;fallthrough;default:format->format.field = V4L2_FIELD_ALTERNATE;break;}
Code:
static const struct v4l2_subdev_pad_ops adv7180_pad_ops = {.init_cfg = adv7180_init_cfg,.enum_mbus_code = adv7180_enum_mbus_code,.set_fmt = adv7180_set_pad_format,.get_fmt = adv7180_get_pad_format,.get_mbus_config = adv7180_get_mbus_config,};
Statistics: Posted by platux — Sat Oct 12, 2024 9:34 pm — Replies 0 — Views 31