summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ipa/rkisp1/rkisp1.cpp23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp
index b881d42e..06fb9640 100644
--- a/src/ipa/rkisp1/rkisp1.cpp
+++ b/src/ipa/rkisp1/rkisp1.cpp
@@ -66,12 +66,31 @@ private:
uint32_t gain_;
uint32_t minGain_;
uint32_t maxGain_;
+
+ /* revision-specific data */
+ unsigned int hwAeMeanMax_;
+ unsigned int hwHistBinNMax_;
+ unsigned int hwGammaOutMaxSamples_;
+ unsigned int hwHistogramWeightGridsSize_;
};
int IPARkISP1::init(unsigned int hwRevision)
{
/* \todo Add support for other revisions */
- if (hwRevision != RKISP1_V10) {
+ switch (hwRevision) {
+ case RKISP1_V10:
+ hwAeMeanMax_ = RKISP1_CIF_ISP_AE_MEAN_MAX_V10;
+ hwHistBinNMax_ = RKISP1_CIF_ISP_HIST_BIN_N_MAX_V10;
+ hwGammaOutMaxSamples_ = RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES_V10;
+ hwHistogramWeightGridsSize_ = RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V10;
+ break;
+ case RKISP1_V12:
+ hwAeMeanMax_ = RKISP1_CIF_ISP_AE_MEAN_MAX_V12;
+ hwHistBinNMax_ = RKISP1_CIF_ISP_HIST_BIN_N_MAX_V12;
+ hwGammaOutMaxSamples_ = RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES_V12;
+ hwHistogramWeightGridsSize_ = RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V12;
+ break;
+ default:
LOG(IPARkISP1, Error)
<< "Hardware revision " << hwRevision
<< " is currently not supported";
@@ -236,7 +255,7 @@ void IPARkISP1::updateStatistics(unsigned int frame,
unsigned int value = 0;
unsigned int num = 0;
- for (int i = 0; i < RKISP1_CIF_ISP_AE_MEAN_MAX_V10; i++) {
+ for (unsigned int i = 0; i < hwAeMeanMax_; i++) {
if (ae->exp_mean[i] <= 15)
continue;