Hi,
I am trying to rapidly change sensor settings in order to correctly expose a scene under programmed lighting changes.
I am capturing a sequence of 10 frames. The frames 5, 9 and 10 are marked "GI" (Global Illumination). For those I am trying to set a different analogue gain and exposure time than the other ("OLAT") frames.
To my understanding calling from the application layer or below adds a request to the queue which gets applied after the requests in front of it have been processed. The length of the queue is not accessible to the user, it seems. (Does it make sense to track it via a counter?)
I suspect the queue directly maps to the amount of buffers defined - Is that so? I experimented with a couple of buffer count settings and settled on a buffer count of 4 for now, as it requires the least memory while still enabling high frame rates.
the frames are scheduled to produce the following resultwith 4 buffers and applying the settings 4 frames ahead of time the results are: Trying to apply the settings with any (arbitrary) number of leading frames either yields no alternating settings (all O) or the same pattern [ X O O O] shifted left or right, but never matching the desired frames.
Changing the amount of buffers only changes the pattern length (f.e., /but never consecutive X).
Does anybody have a tip, what I may be misunderstanding?
I am trying to rapidly change sensor settings in order to correctly expose a scene under programmed lighting changes.
I am capturing a sequence of 10 frames. The frames 5, 9 and 10 are marked "GI" (Global Illumination). For those I am trying to set a different analogue gain and exposure time than the other ("OLAT") frames.
To my understanding calling
Code:
app.setControls(libcamera::ControlList)
Code:
controls_.set()
I suspect the queue directly maps to the amount of buffers defined - Is that so? I experimented with a couple of buffer count settings and settled on a buffer count of 4 for now, as it requires the least memory while still enabling high frame rates.
the frames are scheduled to produce the following result
Code:
1 2 3 4 5 6 7 8 9 10O O O O X O O O X X
Code:
1 2 3 4 5 6 7 8 9 10O X O O O X O O O X
Changing the amount of buffers only changes the pattern length (f.e.
Code:
[X O O]
Code:
[X O O O O]
Does anybody have a tip, what I may be misunderstanding?
Statistics: Posted by steve1000 — Thu Jul 11, 2024 10:48 am