libcamera: software_isp: Set initial values of DebayerParams
Debayer parameters and processing are currently run asynchronously. This can lead to assertion errors in case the processing tries to use not yet computed debayer parameters. To prevent this situation, specify some default values for DebayerParams members. This doesn't make correct parameters but prevents crashes or other crazy behaviours at least. Note this patch is just a workaround. The mutually asynchronous parameters computation and processing can cause more problems, like using parameters computed for a different frame. But it is non-trivial to fix that; in the meantime, setting the default values solves the worst problem. Closes: https://gitlab.freedesktop.org/camera/libcamera/-/issues/311 Signed-off-by: Milan Zamazal <mzamazal@redhat.com> Reviewed-by: Hans de Goede <johannes.goede@oss.qualcomm.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
committed by
Kieran Bingham
parent
cc74afcdbd
commit
0d3e543b4d
@@ -18,11 +18,13 @@
|
||||
namespace libcamera {
|
||||
|
||||
struct DebayerParams {
|
||||
Matrix<float, 3, 3> combinedMatrix;
|
||||
RGB<float> blackLevel;
|
||||
float gamma;
|
||||
float contrastExp;
|
||||
RGB<float> gains;
|
||||
Matrix<float, 3, 3> combinedMatrix = { { 1.0, 0.0, 0.0,
|
||||
0.0, 1.0, 0.0,
|
||||
0.0, 0.0, 1.0 } };
|
||||
RGB<float> blackLevel = RGB<float>({ 0.0, 0.0, 0.0 });
|
||||
float gamma = 1.0;
|
||||
float contrastExp = 1.0;
|
||||
RGB<float> gains = RGB<float>({ 1.0, 1.0, 1.0 });
|
||||
};
|
||||
|
||||
} /* namespace libcamera */
|
||||
|
||||
Reference in New Issue
Block a user