I have some questions about auto exposure and AE lock. My use case is that besides Libargus, I have another process which sets the exposure time.
If I set the exposure time range to a specific value, let’s say 20ms, in Libargus, and the other process sets to a different value, will Libargus try to set the exposure time to 20ms?
What if I set AE lock to be true? If the other process sets the value to 30ms, will Libargus still try to set the exposure time back to 20ms? Or when AE lock is true, Libargus will not try to change the exposure time any more?
Yes. We have another application which can directly access the same image sensor driver to set the gain and exposure. But that application is only for controlling the image sensor but not for data handling.
may I have your confirmation…
are you going to stream your bayer sensor with Argus, and, toggling gain/exposure controls manually?
you may using argus_camera sample application, which has user-interface for sensor operations.
besides, it’s possible to stream with Argus (aelock), and alter gain/exposure controls via v4l2-ctl.
If I stream with Argus (aelock) and change gain/exposure via v4l2-ctl, will Argus try to set the gain and exposure values to the ones before aelock happens? Or if aelock is true, then Argus won’t control gain and exposure anymore no matter which values they have?
once you’ve enable AELock, only the later sensor operations take effects, Argus will not overwrite the settings.
you may give it a try, here given an example,
enable camera preview. $ gst-launch-1.0 nvarguscamerasrc aelock=1 ! 'video/x-raw(memory:NVMM),framerate=30/1,format=NV12' ! nvvidconv ! xvimagesink
control gain/exposure via v4l2 IOCTL. $ v4l2-ctl --set-ctrl gain=xxx
you may also running with --get-ctrl to review your settings.
If I just want to use Libargus API to change the gain and exposure when AELock is true, do I need to disable AELock and then change the value and then enable AELock again? Basically, which one in the following list is correct way to change the gain and exposure with AELock being enabled? (Let’s say the initial state is that AELock is enabled and the gain value is 10 dB. I want to change the gain to 15 dB and still keep AELock enabled.)
Set the gain range to [15 15].
Disable AELock → set the gain range to [15 15] → enable AELock
Set the gain range to [15 15] → disable AELock → enable AELock
I guess changing exposure will have the same steps as above example, right?