ipa: rkisp1: Add GammaOutCorrection algorithm

Add a gamma algorithm for the rkisp1. It defaults to a gamma of 2.2 which
closely resembles sRGB.  No seperate sRGB mode was implemented because the pwl
that models the gamma curve is so coarse that there is basically no difference
between srgb and gamma=2.2. The default can be overridden within the tuning
file or set at runtime using the gamma control.

The gamma algorithm is not enabled by default. This will be done in future
tuning file updates.

Signed-off-by: Stefan Klug <stefan.klug@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
This commit is contained in:
Stefan Klug
2024-05-16 08:22:20 +02:00
parent acfd602767
commit eb41f63694
5 changed files with 225 additions and 0 deletions
+20
View File
@@ -217,6 +217,14 @@ namespace libcamera::ipa::rkisp1 {
* \brief Sharpness level
*/
/**
* \var IPAActiveState::goc
* \brief State for the goc algorithm
*
* \var IPAActiveState::goc.gamma
* \brief Gamma value applied as 1.0/gamma
*/
/**
* \struct IPAFrameContext
* \brief Per-frame context for algorithms
@@ -333,6 +341,18 @@ namespace libcamera::ipa::rkisp1 {
* previous frame
*/
/**
* \var IPAFrameContext::goc
* \brief Gamma out correction parameters for this frame
*
* \var IPAFrameContext::goc.gamma
* \brief Gamma value applied as 1.0/gamma
*
* \var IPAFrameContext::goc.update
* \brief Indicates if the goc parameters have been updated compared to the
* previous frame
*/
/**
* \var IPAFrameContext::sensor
* \brief Sensor configuration that used been used for this frame