commit: http://blackfin.uclinux.org/git/?p=linux-kernel;a=commitdiff;h=bb41d3c4e53b90ec26f74d8aa6364a9372227cb0 branch: http://blackfin.uclinux.org/git/?p=linux-kernel;a=shortlog;h=refs/heads/trunk
Ffmpeg needs this ioctl. Signed-off-by: Scott Jiang <[email protected]> --- drivers/media/video/adv7183.c | 22 ++++++++++++++++++++++ 1 files changed, 22 insertions(+), 0 deletions(-) diff --git a/drivers/media/video/adv7183.c b/drivers/media/video/adv7183.c index e1d4c89..2b10e2a 100644 --- a/drivers/media/video/adv7183.c +++ b/drivers/media/video/adv7183.c @@ -469,6 +469,26 @@ static int adv7183_g_mbus_fmt(struct v4l2_subdev *sd, return 0; } +static int adv7183_g_parm(struct v4l2_subdev *sd, struct v4l2_streamparm *parms) +{ + struct adv7183 *decoder = to_adv7183(sd); + struct v4l2_captureparm *cp = &parms->parm.capture; + + if (parms->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) + return -EINVAL; + + memset(cp, 0, sizeof(*cp)); + cp->capability = V4L2_CAP_TIMEPERFRAME; + if (decoder->std & V4L2_STD_525_60) { + cp->timeperframe.numerator = 1; + cp->timeperframe.denominator = 30; + } else { + cp->timeperframe.numerator = 1; + cp->timeperframe.denominator = 25; + } + return 0; +} + static int adv7183_s_stream(struct v4l2_subdev *sd, int enable) { struct adv7183 *decoder = to_adv7183(sd); @@ -544,6 +564,8 @@ static const struct v4l2_subdev_video_ops adv7183_video_ops = { .try_mbus_fmt = adv7183_try_mbus_fmt, .s_mbus_fmt = adv7183_s_mbus_fmt, .g_mbus_fmt = adv7183_g_mbus_fmt, + .g_parm = adv7183_g_parm, + .s_parm = adv7183_g_parm, .s_stream = adv7183_s_stream, };
_______________________________________________ Linux-kernel-commits mailing list [email protected] https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits
