ipa: rkisp1: filter: Store per-frame information in frame context

Rework the algorithm's usage of the active state, to store the value of
controls for the last queued request in the queueRequest() function, and
store a copy of the values in the corresponding frame context. The
latter is used in the prepare() function to populate the ISP parameters
with values corresponding to the right frame.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
Laurent Pinchart
2022-09-08 00:39:53 +03:00
parent 3c3e0aa123
commit a90dc9bc5c
3 changed files with 51 additions and 23 deletions
+15 -3
View File
@@ -179,9 +179,6 @@ namespace libcamera::ipa::rkisp1 {
*
* \var IPAActiveState::filter.sharpness
* \brief Sharpness level
*
* \var IPAActiveState::filter.updateParams
* \brief Indicates if ISP parameters need to be updated
*/
/**
@@ -260,6 +257,21 @@ namespace libcamera::ipa::rkisp1 {
* compared to the previous frame
*/
/**
* \var IPAFrameContext::filter
* \brief Filter parameters for this frame
*
* \struct IPAFrameContext::filter.denoise
* \brief Denoising level
*
* \var IPAFrameContext::filter.sharpness
* \brief Sharpness level
*
* \var IPAFrameContext::filter.updateParams
* \brief Indicates if the filter parameters have been updated compared to the
* previous frame
*/
/**
* \var IPAFrameContext::sensor
* \brief Sensor configuration that used been used for this frame