summaryrefslogtreecommitdiff
path: root/stats/ipa_ipu3_stats.h
diff options
context:
space:
mode:
Diffstat (limited to 'stats/ipa_ipu3_stats.h')
-rw-r--r--stats/ipa_ipu3_stats.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/stats/ipa_ipu3_stats.h b/stats/ipa_ipu3_stats.h
new file mode 100644
index 0000000..4320024
--- /dev/null
+++ b/stats/ipa_ipu3_stats.h
@@ -0,0 +1,45 @@
+/* SPDX-License-Identifier: Apache-2.0 */
+/*
+ * Copyright (C) 2017 Intel Corporation.
+ *
+ * IPAIPU3Stats.cpp: Generate statistics in IA AIQ consumable format.
+ */
+
+#include "aiq/aiq_results.h"
+
+#ifndef IPA_IPU3_STATS_H
+#define IPA_IPU3_STATS_H
+
+#include <ia_imaging/ia_aiq_types.h>
+#include <linux/intel-ipu3.h>
+
+#include "shared_item_pool.h"
+
+namespace libcamera::ipa::ipu3 {
+
+struct AiqResults;
+
+class IPAIPU3Stats
+{
+public:
+ IPAIPU3Stats();
+ ~IPAIPU3Stats();
+
+ ia_aiq_statistics_input_params *
+ getInputStatsParams(int frame,
+ aiq::AiqResults *results,
+ const ipu3_uapi_stats_3a *stats);
+
+private:
+ void freeStatBufferPools();
+ int allocateStatBufferPools(int numBufs);
+
+ ia_aiq_statistics_input_params aiqStatsInputParams_;
+ std::shared_ptr<SharedItemPool<ia_aiq_af_grid>> afFilterBuffPool_;
+ std::shared_ptr<SharedItemPool<ia_aiq_rgbs_grid>> rgbsGridBuffPool_;
+};
+
+} /* namespace libcamera::ipa::ipu3 */
+
+#endif /* IPA_IPU3_STATS_H */
+