summaryrefslogtreecommitdiff
path: root/include/gs101/histogram/histogram.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/gs101/histogram/histogram.h')
-rw-r--r--include/gs101/histogram/histogram.h91
1 files changed, 0 insertions, 91 deletions
diff --git a/include/gs101/histogram/histogram.h b/include/gs101/histogram/histogram.h
deleted file mode 100644
index 07a1de1..0000000
--- a/include/gs101/histogram/histogram.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef HISTOGRAM_H_
-#define HISTOGRAM_H_
-
-typedef enum {
- HISTOGRAM_CONTROL_INVALID = 0,
- HISTOGRAM_CONTROL_REQUEST = 1,
- HISTOGRAM_CONTROL_CANCEL = 2,
-} hidl_histogram_control_t;
-
-namespace gs101 {
-
-class HistogramInfo {
-public:
- enum Histogram_Type { HISTOGRAM_SAMPLING, HISTOGRAM_HIDL, HISTOGRAM_TYPE_NUM };
- /// Histogram ROI information, same definition as in uapi
- struct HistogramROI {
- uint16_t start_x;
- uint16_t start_y;
- uint16_t hsize;
- uint16_t vsize;
- };
- /// Histogram Weights information, same definition as in uapi
- struct HistogramWeights {
- uint16_t weight_r;
- uint16_t weight_g;
- uint16_t weight_b;
- };
-
- void setHistogramROI(uint16_t x, uint16_t y, uint16_t h, uint16_t v) {
- mHistogramROI.start_x = x;
- mHistogramROI.start_y = y;
- mHistogramROI.hsize = h;
- mHistogramROI.vsize = v;
- };
- const struct HistogramROI& getHistogramROI() { return mHistogramROI; }
-
- void setHistogramWeights(uint16_t r, uint16_t g, uint16_t b) {
- mHistogramWeights.weight_r = r;
- mHistogramWeights.weight_g = g;
- mHistogramWeights.weight_b = b;
- };
- const struct HistogramWeights& getHistogramWeights() { return mHistogramWeights; }
-
- void setHistogramThreshold(uint32_t t) { mHistogramThreshold = t; }
- uint32_t getHistogramThreshold() { return mHistogramThreshold; }
-
- Histogram_Type getHistogramType() { return mHistogramType; }
-
- HistogramInfo(Histogram_Type type) { mHistogramType = type; }
- virtual ~HistogramInfo() {}
-
-private:
- Histogram_Type mHistogramType = HISTOGRAM_TYPE_NUM;
- struct HistogramROI mHistogramROI;
- struct HistogramWeights mHistogramWeights;
- uint32_t mHistogramThreshold = 0;
-};
-
-class SamplingHistogram : public HistogramInfo {
-public:
- SamplingHistogram() : HistogramInfo(HISTOGRAM_SAMPLING) {}
- virtual ~SamplingHistogram() {}
-};
-
-class HIDLHistogram : public HistogramInfo {
-public:
- HIDLHistogram() : HistogramInfo(HISTOGRAM_HIDL) {}
- virtual ~HIDLHistogram() {}
-
- virtual void CallbackHistogram(void* bin) = 0;
-};
-
-} // namespace gs101
-
-#endif // HISTOGRAM_H_