@@ -65,6 +65,8 @@ public:
Transform transform;
+ float modeSensitivity;
+
protected:
CameraConfiguration();
@@ -154,7 +154,7 @@ LOG_DECLARE_CATEGORY(Camera)
* \brief Create an empty camera configuration
*/
CameraConfiguration::CameraConfiguration()
- : transform(Transform::Identity), config_({})
+ : transform(Transform::Identity), modeSensitivity(1.0), config_({})
{
}
@@ -325,6 +325,20 @@ std::size_t CameraConfiguration::size() const
* may adjust this field at its discretion if the selection is not supported.
*/
+/**
+ * \var CameraConfiguration::modeSensitivity
+ * \brief The relative sensitivity of the chosen sensor mode
+ *
+ * Some sensors have readout modes with different sensitivities. For example,
+ * a binned camera mode might, with the same exposure and gains, produce
+ * twice the signal level of the full resolution readout. This would be
+ * signalled by the binned mode, when it is chosen, indicating a value here
+ * that is twice that of the full resolution mode.
+ *
+ * This value should only be read, and not set, by the user. It will be
+ * valid after the configure method has reteurned successfully.
+ */
+
/**
* \var CameraConfiguration::config_
* \brief The vector of stream configurations
The modeSensitivity field is a number that describes how sensitive the selected sensor mode is compared to other readout modes of the same sensor. For example, a binned mode might have twice the sensitivity of the full resolution mode, meaning you would get double the signal level for the same exposure and gains. Signed-off-by: David Plowman <david.plowman@raspberrypi.com> --- include/libcamera/camera.h | 2 ++ src/libcamera/camera.cpp | 16 +++++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-)