Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 4445

Graphics, sound and multimedia • ADV7280M disabling I2P

$
0
0
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.

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             :
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

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



Viewing all articles
Browse latest Browse all 4445

Trending Articles