Our custom application argus code for auto exposure region of interest worked on previous releases on TX2 4GB. Running it on L4T 32.2 and Argus Version: 0.97.3 seems to ignore the region of interest and expose for the whole frame.
I’ve replicated the issue in the eglImage Argus sample with this diff:
diff --git a/main.cpp b/main.cpp
--- a/main.cpp
+++ b/main.cpp
@@ -357,6 +357,16 @@ static bool execute(const EGLImageSampleOptions& options)
ORIGINATE_ERROR("Failed to get source settings request interface");
iSourceSettings->setSensorMode(sensorMode);
+ // Test Auto Exposure Region of Interest
+ IAutoControlSettings *iAutoControlSettings = interface_cast<IAutoControlSettings>(iRequest->getAutoControlSettings());
+ if (!iAutoControlSettings)
+ printf("Failed to get IAutoControlSettings interface\n");
+ std::vector<AcRegion> regions;
+ AcRegion testRegion(0, 0, 200, 200, 1.0);
+ regions.push_back(testRegion);
+ Argus::Status result = iAutoControlSettings->setAeRegions(regions);
+ printf("iAutoControlSettings->setAeRegions result = %d\n", result);
+
// Start the EGLImage rendering thread.
EGLImageRenderingThread renderingThread(outputStream.get(), options);
PROPAGATE_ERROR(renderingThread.initialize());
When the sensor is running with a well-lit scene, physically covering one corner with black should ramp up the exposure a lot, resulting in blown out whites. This does not happen.
Can anyone else confirm this? Is this a bug in Argus 0.97.3?