[media] cx23885: Ensure the MPEG encoder height is configured from the norm
authorSteven Toth <stoth@kernellabs.com>
Wed, 4 Jan 2012 13:54:32 +0000 (10:54 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 4 Jan 2012 22:48:29 +0000 (20:48 -0200)
Bugfix: The height was not always correctly configured if switching between
different video standards. Change the encode height based on the standard.

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/cx23885/cx23885-417.c

index c5ddcac96cb177555bcd28e0afb8bc7efbbf3bf0..f65e38cfb1d9704e5f58e8f6c1f9f03834213ccf 100644 (file)
@@ -1023,6 +1023,12 @@ static void cx23885_codec_settings(struct cx23885_dev *dev)
 {
        dprintk(1, "%s()\n", __func__);
 
+       /* Dynamically change the height based on video standard */
+       if (dev->encodernorm.id & V4L2_STD_525_60)
+               dev->ts1.height = 480;
+       else
+               dev->ts1.height = 576;
+
        /* assign frame size */
        cx23885_api_cmd(dev, CX2341X_ENC_SET_FRAME_SIZE, 2, 0,
                                dev->ts1.height, dev->ts1.width);