summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Toth <stoth@kernellabs.com>2012-01-04 10:54:32 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-01-04 20:48:29 -0200
commit38e3d7ce41cff58bacebb2bcecf7d386c60b954b (patch)
treef77a6f0d4bfc42a5289aad5c2acf0bf070f43f16
parent182d29f307a1e99a05f05c155c8218b294d180ab (diff)
downloadlinux-38e3d7ce41cff58bacebb2bcecf7d386c60b954b.tar.bz2
[media] cx23885: Ensure the MPEG encoder height is configured from the norm
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>
-rw-r--r--drivers/media/video/cx23885/cx23885-417.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/media/video/cx23885/cx23885-417.c b/drivers/media/video/cx23885/cx23885-417.c
index c5ddcac96cb1..f65e38cfb1d9 100644
--- a/drivers/media/video/cx23885/cx23885-417.c
+++ b/drivers/media/video/cx23885/cx23885-417.c
@@ -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);