diff options
Diffstat (limited to 'stats/ipa_ipu3_stats.h')
-rw-r--r-- | stats/ipa_ipu3_stats.h | 45 |
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 */ + |