diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2022-10-09 07:34:09 +0300 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2022-10-10 17:04:12 +0300 |
commit | 603a4d60f6ac4dbc2474700943dd1a0066ee1f23 (patch) | |
tree | bfa78f93fbb2981e7d6787ae2e9571481673c3f9 /src | |
parent | 4bf68fdbe1493e57118dad4e94c2a46c50a9c402 (diff) |
ipa: rkisp1: Drop use of utils::defopt
utils::defopt causes compilation issues on gcc 8.0.0 to gcc 8.3.0,
likely due to bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86521
that was fixed in gcc 8.4.0. gcc 8.3.0 may be considered old (libcamera
requires gcc-8 or newer), but it is shipped by Debian 10 that has LTS
support until mid-2024.
As no workaround has been found to fix compilation on gcc 8.3.0 while
still retaining the functionality of utils::defopt, stop using it in the
RkISP1 IPA module.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/ipa/rkisp1/algorithms/dpf.cpp | 6 | ||||
-rw-r--r-- | src/ipa/rkisp1/algorithms/gsl.cpp | 8 | ||||
-rw-r--r-- | src/ipa/rkisp1/algorithms/lsc.cpp | 4 |
3 files changed, 9 insertions, 9 deletions
diff --git a/src/ipa/rkisp1/algorithms/dpf.cpp b/src/ipa/rkisp1/algorithms/dpf.cpp index 82d4f7fe..5bd7e59f 100644 --- a/src/ipa/rkisp1/algorithms/dpf.cpp +++ b/src/ipa/rkisp1/algorithms/dpf.cpp @@ -70,7 +70,7 @@ int Dpf::init([[maybe_unused]] IPAContext &context, * +---------|--------> X * -4....-1 0 1 2 3 4 */ - values = dFObject["g"].getList<uint8_t>().value_or(utils::defopt); + values = dFObject["g"].getList<uint8_t>().value_or(std::vector<uint8_t>{}); if (values.size() != RKISP1_CIF_ISP_DPF_MAX_SPATIAL_COEFFS) { LOG(RkISP1Dpf, Error) << "Invalid 'DomainFilter:g': expected " @@ -106,7 +106,7 @@ int Dpf::init([[maybe_unused]] IPAContext &context, * For a 9x9 kernel, columns -6 and 6 are dropped, so coefficient * number 6 is not used. */ - values = dFObject["rb"].getList<uint8_t>().value_or(utils::defopt); + values = dFObject["rb"].getList<uint8_t>().value_or(std::vector<uint8_t>{}); if (values.size() != RKISP1_CIF_ISP_DPF_MAX_SPATIAL_COEFFS && values.size() != RKISP1_CIF_ISP_DPF_MAX_SPATIAL_COEFFS - 1) { LOG(RkISP1Dpf, Error) @@ -135,7 +135,7 @@ int Dpf::init([[maybe_unused]] IPAContext &context, const YamlObject &rFObject = tuningData["NoiseLevelFunction"]; std::vector<uint16_t> nllValues; - nllValues = rFObject["coeff"].getList<uint16_t>().value_or(utils::defopt); + nllValues = rFObject["coeff"].getList<uint16_t>().value_or(std::vector<uint16_t>{}); if (nllValues.size() != RKISP1_CIF_ISP_DPF_MAX_NLF_COEFFS) { LOG(RkISP1Dpf, Error) << "Invalid 'RangeFilter:coeff': expected " diff --git a/src/ipa/rkisp1/algorithms/gsl.cpp b/src/ipa/rkisp1/algorithms/gsl.cpp index a80fed58..b9f87912 100644 --- a/src/ipa/rkisp1/algorithms/gsl.cpp +++ b/src/ipa/rkisp1/algorithms/gsl.cpp @@ -59,7 +59,7 @@ int GammaSensorLinearization::init([[maybe_unused]] IPAContext &context, const YamlObject &tuningData) { std::vector<uint16_t> xIntervals = - tuningData["x-intervals"].getList<uint16_t>().value_or(utils::defopt); + tuningData["x-intervals"].getList<uint16_t>().value_or(std::vector<uint16_t>{}); if (xIntervals.size() != kDegammaXIntervals) { LOG(RkISP1Gsl, Error) << "Invalid 'x' coordinates: expected " @@ -83,7 +83,7 @@ int GammaSensorLinearization::init([[maybe_unused]] IPAContext &context, return -EINVAL; } - curveYr_ = yObject["red"].getList<uint16_t>().value_or(utils::defopt); + curveYr_ = yObject["red"].getList<uint16_t>().value_or(std::vector<uint16_t>{}); if (curveYr_.size() != RKISP1_CIF_ISP_DEGAMMA_CURVE_SIZE) { LOG(RkISP1Gsl, Error) << "Invalid 'y:red' coordinates: expected " @@ -92,7 +92,7 @@ int GammaSensorLinearization::init([[maybe_unused]] IPAContext &context, return -EINVAL; } - curveYg_ = yObject["green"].getList<uint16_t>().value_or(utils::defopt); + curveYg_ = yObject["green"].getList<uint16_t>().value_or(std::vector<uint16_t>{}); if (curveYg_.size() != RKISP1_CIF_ISP_DEGAMMA_CURVE_SIZE) { LOG(RkISP1Gsl, Error) << "Invalid 'y:green' coordinates: expected " @@ -101,7 +101,7 @@ int GammaSensorLinearization::init([[maybe_unused]] IPAContext &context, return -EINVAL; } - curveYb_ = yObject["blue"].getList<uint16_t>().value_or(utils::defopt); + curveYb_ = yObject["blue"].getList<uint16_t>().value_or(std::vector<uint16_t>{}); if (curveYb_.size() != RKISP1_CIF_ISP_DEGAMMA_CURVE_SIZE) { LOG(RkISP1Gsl, Error) << "Invalid 'y:blue' coordinates: expected " diff --git a/src/ipa/rkisp1/algorithms/lsc.cpp b/src/ipa/rkisp1/algorithms/lsc.cpp index 102535bd..de2de013 100644 --- a/src/ipa/rkisp1/algorithms/lsc.cpp +++ b/src/ipa/rkisp1/algorithms/lsc.cpp @@ -43,7 +43,7 @@ static std::vector<double> parseSizes(const YamlObject &tuningData, const char *prop) { std::vector<double> sizes = - tuningData[prop].getList<double>().value_or(utils::defopt); + tuningData[prop].getList<double>().value_or(std::vector<double>{}); if (sizes.size() != RKISP1_CIF_ISP_LSC_SECTORS_TBL_SIZE) { LOG(RkISP1Lsc, Error) << "Invalid '" << prop << "' values: expected " @@ -76,7 +76,7 @@ static std::vector<uint16_t> parseTable(const YamlObject &tuningData, RKISP1_CIF_ISP_LSC_SAMPLES_MAX * RKISP1_CIF_ISP_LSC_SAMPLES_MAX; std::vector<uint16_t> table = - tuningData[prop].getList<uint16_t>().value_or(utils::defopt); + tuningData[prop].getList<uint16_t>().value_or(std::vector<uint16_t>{}); if (table.size() != kLscNumSamples) { LOG(RkISP1Lsc, Error) << "Invalid '" << prop << "' values: expected " |