I am using TX2+argus library+2 Leopard IMX577 cameras to capture images. I am running L4T 32.5. argus library version: 0.97.3.
I have a question to set aeantibanding mode. I use the following function to set AE antibanding mode for the camera:
Hi @JeremyHo ,
After setting it to CAPTURE_INTENT_MANUAL, the flicker state goes to AE_ANTIBANDING_MODE_OFF.
I also did some experiment, I found that except manual intent, other capture intents seem to keep anti-banding running in the background. And thus, even if I set AE_ANTIBANDING_MODE_OFF, the flicker mode will still has values as such AE_FLICKER_60HZ. Please confirm if i am correct on this point.
Hi, thanks for you reply, it makes sense! Thank you.
I have some another questions. The reason I ask the following questions is because we changed the CAPTURE INTENT from PREVIEW to MANUAL which disables AE, I need to know what will be affected when we doing the image streaming and image capture.
when we talked about AE(auto exposure), what is it exactly? From my understanding, it is a set of algorithm running in the TX2 background (maybe in ISP??) that controls certain camera settings. Please confirm.
Further, what is “AE is active” and what is “AE is in inactive state”?
Our product currently cares about the following settings:
If we turn off AE, which of the above settings will be affected? Some of the settings such as white balance for example, has automatic mode. If we use CAPTURE_INTENT_MANUAL, will this automatic mode still working? will white balance be adjusted automatically?
From argus library header file include/Argus/Settings.h, are all the settings in IAutoControlSettings class related to AE? Is any other settings in other classes in Settings.h related to AE as well?
Today, we did some more tests and have some new findings.
Modify the argus_camera source code to show the flicker_state. This is in bool EventThread::threadExecute() function in EventThread.cpp.
Position the Leopard IMX577 cameras to a place to have roughly half natural light and half artificial light. This will make the camera image stream constantly flickering if using anti-banding AUTO mode.
Use argus_camera utility provided from the multimedia_api source code to check the camera streams.
Please see the screen capture for the argus_camera settings:
Currently, the argus_camera is running in “Capture” mode and its intent is PREVIEW from the source code. The anti-banding mode is auto. What I see from the screen is that the camera stream is flickering. This makes sense, since we created a half natural light and half artificial light environment.
Then I change the anti-banding setting to OFF. I see that the camera stream stops flickering. However, the argus_camera standard output shows me that the flicker_state is AE_FLICKER_50HZ.
Please see the video for test:
So that means the anti-banding is able to be turned off. It is just the flicker state did not show the correct value? Or I have some misunderstandings of what AE_FLICKER_STATE should show me? Can you explain the behaviour? (If possible, please explain AE_FLICKER_STATE and AE_STATE together)
Here are the list of files I modified and added, please find the files in the attachement.
./argus/apps/camera/modules/helper_debug.cpp (add the file)
./argus/apps/camera/modules/helper_debug.h (add the file)
So that means the anti-banding is able to be turned off. It is just the flicker state did not show the correct value? Or I have some misunderstandings of what AE_FLICKER_STATE should show me? Can you explain the behaviour?
AE OFF case (manual):
AE Antibanding Algorithm off. We still compute flicker state. But do not apply the Antibanding effect as algorithm is off.
AE ON case (preview or others)
i. setting AE_ANTIBANDING_MODE_OFF:
AE Antibanding Algorithm off. We still compute flicker state. But do not apply the Antibanding effect as the algorithm is off.
ii. setting AE_ANTIBANDING_MODE_AUTO:
AE Antibanding Algorithm on. We apply antibanding effect by using the computed flicker state results.
iii. setting AE_ANTIBANDING_MODE_50HZ/60HZ:
You can take this as anitbanding manual mode. Manually use 50Hz or 60Hz. Also, we still compute flicker state. But apply the Antibanding effect with 50HZ or 60HZ