aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/em28xx/em28xx-core.c
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2009-08-08 02:14:55 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-08-13 19:39:09 -0400
commitc2a6b54a9cf08d4ffeb75d70603c4a5d03ac97ad (patch)
tree3f263afdb14fb8226b0d0f60b026f8e3fc29bf85 /drivers/media/video/em28xx/em28xx-core.c
parentd594317bdc716ccd8c8cf711e3827f9b6e0b766b (diff)
V4L/DVB (12406): em28xx: fix: don't do image interlacing on webcams
Due to historical reasons, em28xx driver gets two consecutive frames and fold them into an unique framing, doing interlacing. While this works fine for TV images, this produces two bad effects with webcams: 1) webcam images are progressive. Merging two consecutive images produce interlacing artifacts on the image; 2) since the driver needs to get two frames, it reduces the maximum frame rate by two. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/em28xx/em28xx-core.c')
-rw-r--r--drivers/media/video/em28xx/em28xx-core.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/media/video/em28xx/em28xx-core.c b/drivers/media/video/em28xx/em28xx-core.c
index 5b78e199abd1..339fffdf6bce 100644
--- a/drivers/media/video/em28xx/em28xx-core.c
+++ b/drivers/media/video/em28xx/em28xx-core.c
@@ -720,7 +720,10 @@ int em28xx_resolution_set(struct em28xx *dev)
720{ 720{
721 int width, height; 721 int width, height;
722 width = norm_maxw(dev); 722 width = norm_maxw(dev);
723 height = norm_maxh(dev) >> 1; 723 height = norm_maxh(dev);
724
725 if (!dev->progressive)
726 height >>= norm_maxh(dev);
724 727
725 em28xx_set_outfmt(dev); 728 em28xx_set_outfmt(dev);
726 729