]> git.baikalelectronics.ru Git - kernel.git/commit
V4L/DVB: gscpa_sonixb: Differentiate between sensors with a coarse and fine expo...
authorHans de Goede <hdegoede@redhat.com>
Mon, 1 Feb 2010 16:18:37 +0000 (13:18 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Fri, 26 Feb 2010 18:11:08 +0000 (15:11 -0300)
commit2661fd539a2b99c3856d6c6f6a7c4e8d78566800
treeffcb10b2cac77eb4951ad1c3d1f7ddf3b6ed74bb
parentcdcaa4feb6d62387ccd37f81d3d9e54d0d9114ee
V4L/DVB: gscpa_sonixb: Differentiate between sensors with a coarse and fine expo ctrl

Some sensors only allow controlling the exposure by changing the clockdiv,
which means that exposure takes pretty large jumps (for example when going
from a div of 1 to 2, the exposure doubles). Use 2 different entries in
the controls array for these 2 different types of exposure (always
disabling one), and;

Add a new autogain algorithm for the coarse exposure case, which normally
changes the gain setting, only touching the exposure setting if the desired
luminance cannot be reached with gain, and after an exposure change once more
first tries gain, etc. Thus avoiding exposure changes, and the resulting
oscilation because of the huge steps these exposure controls take.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/gspca/coarse_expo_autogain.h [new file with mode: 0644]
drivers/media/video/gspca/gspca.c
drivers/media/video/gspca/sonixb.c