Loading...
Searching...
No Matches
core_ipa_interface.h
Go to the documentation of this file.
/* SPDX-License-Identifier: LGPL-2.1-or-later */
/*
* Copyright (C) 2020, Google Inc.
*
* libcamera core definitions for Image Processing Algorithms
*
* This file is auto-generated. Do not edit.
*/
#pragma once
#include <string>
#include <type_traits>
#include <utility>
#include <vector>
#include <libcamera/controls.h>
#include <libcamera/framebuffer.h>
#include <libcamera/geometry.h>
#include <libcamera/ipa/ipa_interface.h>
namespace libcamera {
struct IPACameraSensorInfo
{
public:
#ifndef __DOXYGEN__
IPACameraSensorInfo() = default;
template<
typename T1 = std::string,
typename T2 = uint32_t,
typename T3 = uint32_t,
typename T4 = Size,
typename T5 = Rectangle,
typename T6 = Size,
typename T7 = uint64_t,
typename T8 = uint32_t,
typename T9 = uint32_t,
typename T10 = uint32_t,
typename T11 = uint32_t,
std::enable_if_t<std::is_convertible_v<T1&&, std::string>> * = nullptr,
std::enable_if_t<std::is_convertible_v<T2&&, uint32_t>> * = nullptr,
std::enable_if_t<std::is_convertible_v<T3&&, uint32_t>> * = nullptr,
std::enable_if_t<std::is_convertible_v<T4&&, Size>> * = nullptr,
std::enable_if_t<std::is_convertible_v<T5&&, Rectangle>> * = nullptr,
std::enable_if_t<std::is_convertible_v<T6&&, Size>> * = nullptr,
std::enable_if_t<std::is_convertible_v<T7&&, uint64_t>> * = nullptr,
std::enable_if_t<std::is_convertible_v<T8&&, uint32_t>> * = nullptr,
std::enable_if_t<std::is_convertible_v<T9&&, uint32_t>> * = nullptr,
std::enable_if_t<std::is_convertible_v<T10&&, uint32_t>> * = nullptr,
std::enable_if_t<std::is_convertible_v<T11&&, uint32_t>> * = nullptr
>
IPACameraSensorInfo(T1 &&_model, T2 &&_bitsPerPixel, T3 &&_cfaPattern, T4 &&_activeAreaSize, T5 &&_analogCrop, T6 &&_outputSize, T7 &&_pixelRate, T8 &&_minLineLength, T9 &&_maxLineLength, T10 &&_minFrameLength, T11 &&_maxFrameLength)
: model(std::forward<T1>(_model))
, bitsPerPixel(std::forward<T2>(_bitsPerPixel))
, cfaPattern(std::forward<T3>(_cfaPattern))
, activeAreaSize(std::forward<T4>(_activeAreaSize))
, analogCrop(std::forward<T5>(_analogCrop))
, outputSize(std::forward<T6>(_outputSize))
, pixelRate(std::forward<T7>(_pixelRate))
, minLineLength(std::forward<T8>(_minLineLength))
, maxLineLength(std::forward<T9>(_maxLineLength))
, minFrameLength(std::forward<T10>(_minFrameLength))
, maxFrameLength(std::forward<T11>(_maxFrameLength))
{
}
#endif
std::string model;
uint32_t bitsPerPixel{ 0 };
uint32_t cfaPattern{ 0 };
Size activeAreaSize;
Rectangle analogCrop;
Size outputSize;
uint64_t pixelRate{ 0 };
uint32_t minLineLength{ 0 };
uint32_t maxLineLength{ 0 };
uint32_t minFrameLength{ 0 };
uint32_t maxFrameLength{ 0 };
};
struct IPABuffer
{
public:
#ifndef __DOXYGEN__
IPABuffer() = default;
template<
typename T1 = uint32_t,
typename T2 = std::vector<FrameBuffer::Plane>,
std::enable_if_t<std::is_convertible_v<T1&&, uint32_t>> * = nullptr,
std::enable_if_t<std::is_convertible_v<T2&&, std::vector<FrameBuffer::Plane>>> * = nullptr
>
IPABuffer(T1 &&_id, T2 &&_planes)
: id(std::forward<T1>(_id))
, planes(std::forward<T2>(_planes))
{
}
#endif
uint32_t id{ 0 };
std::vector<FrameBuffer::Plane> planes;
};
struct IPASettings
{
public:
#ifndef __DOXYGEN__
IPASettings() = default;
template<
typename T1 = std::string,
typename T2 = std::string,
std::enable_if_t<std::is_convertible_v<T1&&, std::string>> * = nullptr,
std::enable_if_t<std::is_convertible_v<T2&&, std::string>> * = nullptr
>
IPASettings(T1 &&_configurationFile, T2 &&_sensorModel)
: configurationFile(std::forward<T1>(_configurationFile))
, sensorModel(std::forward<T2>(_sensorModel))
{
}
#endif
std::string configurationFile;
std::string sensorModel;
};
struct IPAStream
{
public:
#ifndef __DOXYGEN__
IPAStream() = default;
template<
typename T1 = uint32_t,
typename T2 = Size,
std::enable_if_t<std::is_convertible_v<T1&&, uint32_t>> * = nullptr,
std::enable_if_t<std::is_convertible_v<T2&&, Size>> * = nullptr
>
IPAStream(T1 &&_pixelFormat, T2 &&_size)
: pixelFormat(std::forward<T1>(_pixelFormat))
, size(std::forward<T2>(_size))
{
}
#endif
uint32_t pixelFormat{ 0 };
Size size;
};
} /* namespace libcamera */
libcamera::Rectangle
Describe a rectangle's position and dimensions.
Definition geometry.h:247
libcamera::Size
Describe a two-dimensional size.
Definition geometry.h:51
controls.h
Framework to manage controls related to an object.
framebuffer.h
Frame buffer handling.
geometry.h
Data structures related to geometric objects.
ipa_interface.h
Image Processing Algorithm interface.
libcamera
Top-level libcamera namespace.
Definition backtrace.h:17
libcamera::IPABuffer
Buffer information for the IPA interface.
Definition core_ipa_interface.h:91
libcamera::IPABuffer::planes
std::vector< FrameBuffer::Plane > planes
The buffer planes description.
Definition core_ipa_interface.h:111
libcamera::IPABuffer::id
uint32_t id
The buffer unique ID.
Definition core_ipa_interface.h:110
libcamera::IPACameraSensorInfo
Report the image sensor characteristics.
Definition core_ipa_interface.h:31
libcamera::IPACameraSensorInfo::pixelRate
uint64_t pixelRate
The number of pixels produced in a second.
Definition core_ipa_interface.h:83
libcamera::IPACameraSensorInfo::minLineLength
uint32_t minLineLength
The minimum line length in pixels.
Definition core_ipa_interface.h:84
libcamera::IPACameraSensorInfo::cfaPattern
uint32_t cfaPattern
The arrangement of colour filters on the image sensor.
Definition core_ipa_interface.h:79
libcamera::IPACameraSensorInfo::model
std::string model
The image sensor model name.
Definition core_ipa_interface.h:77
libcamera::IPACameraSensorInfo::bitsPerPixel
uint32_t bitsPerPixel
The number of bits per pixel of the image format produced by the image sensor.
Definition core_ipa_interface.h:78
libcamera::IPACameraSensorInfo::maxLineLength
uint32_t maxLineLength
The maximum line length in pixels.
Definition core_ipa_interface.h:85
libcamera::IPACameraSensorInfo::activeAreaSize
Size activeAreaSize
The size of the pixel array active area of the sensor.
Definition core_ipa_interface.h:80
libcamera::IPACameraSensorInfo::minFrameLength
uint32_t minFrameLength
The minimum allowable frame length in units of lines.
Definition core_ipa_interface.h:86
libcamera::IPACameraSensorInfo::analogCrop
Rectangle analogCrop
The portion of the pixel array active area which is read-out and processed.
Definition core_ipa_interface.h:81
libcamera::IPACameraSensorInfo::maxFrameLength
uint32_t maxFrameLength
The maximum allowable frame length in units of lines.
Definition core_ipa_interface.h:87
libcamera::IPACameraSensorInfo::outputSize
Size outputSize
The size of the images produced by the camera sensor.
Definition core_ipa_interface.h:82
libcamera::IPASettings
IPA interface initialization settings.
Definition core_ipa_interface.h:115
libcamera::IPASettings::sensorModel
std::string sensorModel
The sensor model name.
Definition core_ipa_interface.h:135
libcamera::IPASettings::configurationFile
std::string configurationFile
The name of the IPA configuration file.
Definition core_ipa_interface.h:134
libcamera::IPAStream
Stream configuration for the IPA interface.
Definition core_ipa_interface.h:139
libcamera::IPAStream::size
Size size
The stream size in pixels.
Definition core_ipa_interface.h:159
libcamera::IPAStream::pixelFormat
uint32_t pixelFormat
The stream pixel format.
Definition core_ipa_interface.h:158