From 93fe24f188c3d5b2c3fef0723e067cc5781b7cef Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 27 Apr 2012 11:32:24 -0300 Subject: [PATCH] --- yaml --- r: 306211 b: refs/heads/master c: a648e310df9ff088d949befc8d1306264d970826 h: refs/heads/master i: 306209: c87591f54dfea0ab20eb64368790162b41cdcd82 306207: 1f82239cd13d0c7a495d509ba69501c4cee200c5 v: v3 --- [refs] | 2 +- trunk/drivers/media/video/gspca/autogain_functions.h | 6 +++++- trunk/drivers/media/video/gspca/nw80x.c | 2 ++ trunk/drivers/media/video/gspca/pac7302.c | 4 +--- trunk/drivers/media/video/gspca/sonixb.c | 2 ++ trunk/drivers/media/video/gspca/sonixj.c | 5 +---- trunk/drivers/media/video/gspca/topro.c | 6 ++---- 7 files changed, 14 insertions(+), 13 deletions(-) diff --git a/[refs] b/[refs] index fdbd49607020..b2466ad3fe65 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4fd466a13008823648cf2ec6f06a03d90e6412ab +refs/heads/master: a648e310df9ff088d949befc8d1306264d970826 diff --git a/trunk/drivers/media/video/gspca/autogain_functions.h b/trunk/drivers/media/video/gspca/autogain_functions.h index 46777eee678b..d625eafe63eb 100644 --- a/trunk/drivers/media/video/gspca/autogain_functions.h +++ b/trunk/drivers/media/video/gspca/autogain_functions.h @@ -18,6 +18,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#ifdef WANT_REGULAR_AUTOGAIN /* auto gain and exposure algorithm based on the knee algorithm described here: http://ytse.tricolour.net/docs/LowLightOptimization.html @@ -91,7 +92,9 @@ static inline int auto_gain_n_exposure( gain, exposure); return retval; } +#endif +#ifdef WANT_COARSE_EXPO_AUTOGAIN /* Autogain + exposure algorithm for cameras with a coarse exposure control (usually this means we can only control the clockdiv to change exposure) As changing the clockdiv so that the fps drops from 30 to 15 fps for @@ -103,7 +106,7 @@ static inline int auto_gain_n_exposure( which leads to oscilating as one exposure step is huge. Note this assumes that the sd struct for the cam in question has - exp_too_high_cnt and exp_too_high_cnt int members for use by this function. + exp_too_low_cnt and exp_too_high_cnt int members for use by this function. Returns 0 if no changes were made, 1 if the gain and or exposure settings where changed. */ @@ -177,3 +180,4 @@ static inline int coarse_grained_expo_autogain( gain, exposure); return retval; } +#endif diff --git a/trunk/drivers/media/video/gspca/nw80x.c b/trunk/drivers/media/video/gspca/nw80x.c index 7167cac7359c..42e021931e60 100644 --- a/trunk/drivers/media/video/gspca/nw80x.c +++ b/trunk/drivers/media/video/gspca/nw80x.c @@ -2001,6 +2001,8 @@ static int sd_setautogain(struct gspca_dev *gspca_dev, __s32 val) return gspca_dev->usb_err; } +#define WANT_REGULAR_AUTOGAIN +#define WANT_COARSE_EXPO_AUTOGAIN #include "autogain_functions.h" static void do_autogain(struct gspca_dev *gspca_dev) diff --git a/trunk/drivers/media/video/gspca/pac7302.c b/trunk/drivers/media/video/gspca/pac7302.c index 30662fccb0cf..856cdd987f42 100644 --- a/trunk/drivers/media/video/gspca/pac7302.c +++ b/trunk/drivers/media/video/gspca/pac7302.c @@ -729,9 +729,7 @@ static void sd_stop0(struct gspca_dev *gspca_dev) reg_w(gspca_dev, 0x78, 0x40); } -/* !! coarse_grained_expo_autogain is not used !! */ -#define exp_too_low_cnt flags -#define exp_too_high_cnt sof_read +#define WANT_REGULAR_AUTOGAIN #include "autogain_functions.h" static void do_autogain(struct gspca_dev *gspca_dev) diff --git a/trunk/drivers/media/video/gspca/sonixb.c b/trunk/drivers/media/video/gspca/sonixb.c index 6a1148d7fe92..e2bdf8f632f4 100644 --- a/trunk/drivers/media/video/gspca/sonixb.c +++ b/trunk/drivers/media/video/gspca/sonixb.c @@ -1000,6 +1000,8 @@ static void setfreq(struct gspca_dev *gspca_dev) } } +#define WANT_REGULAR_AUTOGAIN +#define WANT_COARSE_EXPO_AUTOGAIN #include "autogain_functions.h" static void do_autogain(struct gspca_dev *gspca_dev) diff --git a/trunk/drivers/media/video/gspca/sonixj.c b/trunk/drivers/media/video/gspca/sonixj.c index db8e5084df06..05c6d0c004d4 100644 --- a/trunk/drivers/media/video/gspca/sonixj.c +++ b/trunk/drivers/media/video/gspca/sonixj.c @@ -2800,10 +2800,7 @@ static void sd_stop0(struct gspca_dev *gspca_dev) } } -/* !! coarse_grained_expo_autogain is not used !! */ -#define exp_too_low_cnt bridge -#define exp_too_high_cnt sensor - +#define WANT_REGULAR_AUTOGAIN #include "autogain_functions.h" static void do_autogain(struct gspca_dev *gspca_dev) diff --git a/trunk/drivers/media/video/gspca/topro.c b/trunk/drivers/media/video/gspca/topro.c index 444d3c5b9079..c6326d177a3d 100644 --- a/trunk/drivers/media/video/gspca/topro.c +++ b/trunk/drivers/media/video/gspca/topro.c @@ -4675,11 +4675,9 @@ static void sd_pkt_scan(struct gspca_dev *gspca_dev, /* -- do autogain -- */ /* gain setting is done in setexposure() for tp6810 */ static void setgain(struct gspca_dev *gspca_dev) {} -/* !! coarse_grained_expo_autogain is not used !! */ -#define exp_too_low_cnt bridge -#define exp_too_high_cnt sensor - +#define WANT_REGULAR_AUTOGAIN #include "autogain_functions.h" + static void sd_dq_callback(struct gspca_dev *gspca_dev) { struct sd *sd = (struct sd *) gspca_dev;