diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-08-08 02:14:55 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-08-13 19:39:09 -0400 |
commit | c2a6b54a9cf08d4ffeb75d70603c4a5d03ac97ad (patch) | |
tree | 3f263afdb14fb8226b0d0f60b026f8e3fc29bf85 /drivers/media/video/em28xx/em28xx-cards.c | |
parent | d594317bdc716ccd8c8cf711e3827f9b6e0b766b (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-cards.c')
-rw-r--r-- | drivers/media/video/em28xx/em28xx-cards.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c index c9e420e8a614..9011a498e5b3 100644 --- a/drivers/media/video/em28xx/em28xx-cards.c +++ b/drivers/media/video/em28xx/em28xx-cards.c | |||
@@ -2502,6 +2502,10 @@ static int em28xx_init_dev(struct em28xx **devhandle, struct usb_device *udev, | |||
2502 | if (em28xx_hint_sensor(dev) < 0) | 2502 | if (em28xx_hint_sensor(dev) < 0) |
2503 | dev->board.is_webcam = 0; | 2503 | dev->board.is_webcam = 0; |
2504 | 2504 | ||
2505 | /* It makes no sense to use de-interlacing mode on webcams */ | ||
2506 | if (dev->board.is_webcam) | ||
2507 | dev->progressive = 1; | ||
2508 | |||
2505 | /* Do board specific init and eeprom reading */ | 2509 | /* Do board specific init and eeprom reading */ |
2506 | em28xx_card_setup(dev); | 2510 | em28xx_card_setup(dev); |
2507 | 2511 | ||