[media] adv7180: Add cropcap operation
authorNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Sat, 2 Apr 2016 17:42:19 +0000 (14:42 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Wed, 20 Apr 2016 19:06:58 +0000 (16:06 -0300)
Add support to get the pixel aspect ratio depending on the current
standard (50 vs 60 Hz).

Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/i2c/adv7180.c

index d680d76..80ded70 100644 (file)
@@ -726,6 +726,21 @@ static int adv7180_g_mbus_config(struct v4l2_subdev *sd,
        return 0;
 }
 
+static int adv7180_cropcap(struct v4l2_subdev *sd, struct v4l2_cropcap *cropcap)
+{
+       struct adv7180_state *state = to_state(sd);
+
+       if (state->curr_norm & V4L2_STD_525_60) {
+               cropcap->pixelaspect.numerator = 11;
+               cropcap->pixelaspect.denominator = 10;
+       } else {
+               cropcap->pixelaspect.numerator = 54;
+               cropcap->pixelaspect.denominator = 59;
+       }
+
+       return 0;
+}
+
 static const struct v4l2_subdev_video_ops adv7180_video_ops = {
        .s_std = adv7180_s_std,
        .g_std = adv7180_g_std,
@@ -733,6 +748,7 @@ static const struct v4l2_subdev_video_ops adv7180_video_ops = {
        .g_input_status = adv7180_g_input_status,
        .s_routing = adv7180_s_routing,
        .g_mbus_config = adv7180_g_mbus_config,
+       .cropcap = adv7180_cropcap,
 };