BUG: Auto brightness oscillates wildly
I'm using a Logitech
QuickCam Chat which doesn't have built-in auto brightness, so I'm trying to use auto brightness in Motion. However, with certain light levels it gets into a state where the brightness constantly oscillates between min and max gain levels on the camera and never seems to stabilize. I tried several frame rates and they all seem to do it. I also tried hacking the constants AUTOBRIGHT_HYSTERESIS from 10 to 20 and AUTOBRIGHT_DAMPER from 5 to as high as 30, without resolving the problem. The hysteresis didn't seem to do anything and the damper made it oscillate more slowly, but still just as much. It seems like the algorithm itself has a problem, maybe it's not allowing enough time for the change to take effect. Looks like the code doesn't keep any memory of what adjustments it has previously made, so if it just changed the brightness on the last frame and on the next frame it hasn't taken effect yet, it will make just as big an adjustment again, then finally when the changes take effect it will have overshot completely and go back in the other direction, etc.
Environment
Motion version: |
3.2.11 |
ffmpeg version: |
0.4.9 |
Shared libraries: |
ffmpeg |
Server OS: |
Fedora 10, kernel 2.6.29 |
--
RobertHancock - 25 Apr 2009
Follow up
Fix record