|
libcamera v0.7.0+1-4ceceb68
Supporting cameras in Linux since 2019
|
Helper class that represent an ISP configuration buffer. More...
Public Member Functions | |
| V4L2Params (Span< uint8_t > data, unsigned int version) | |
| Construct an instance of V4L2Params. | |
| size_t | bytesused () const |
| Retrieve the used size of the parameters buffer (in bytes) | |
| template<typename Traits::id_type Id> | |
| auto | block () |
| Retrieve the location of an ISP configuration block a return it. | |
Protected Member Functions | |
| Span< uint8_t > | block (typename Traits::id_type type, unsigned int blockType, size_t blockSize) |
| Populate an ISP configuration block a returns a reference to its memory. | |
Helper class that represent an ISP configuration buffer.
This class represents an ISP configuration buffer. It is constructed with a reference to the memory mapped buffer that will be queued to the ISP driver.
This class is templated with the type of the enumeration of ISP blocks that each IPA module is expected to support. IPA modules are expected to derive this class by providing a 'param_traits' type that helps the class associate a block type with the actual memory area that represents the ISP configuration block.
Users of this class can then easily access an ISP configuration block as a V4L2ParamsBlock instance.
|
inline |
Construct an instance of V4L2Params.
| [in] | data | Reference to the v4l2-buffer memory mapped area |
| [in] | version | The ISP parameters version the implementation supports |
|
inline |
Retrieve the location of an ISP configuration block a return it.
|
inlineprotected |
Populate an ISP configuration block a returns a reference to its memory.
| [in] | type | The ISP block identifier enumerated by the IPA module |
| [in] | blockType | The kernel-defined ISP block identifier, used to populate the block header |
| [in] | blockSize | The ISP block size, used to populate the block header |
Initialize the block header with blockType and blockSize and returns a reference to the memory used to store an ISP configuration block.
IPA modules that derive the V4L2Params class shall use this function to retrieve the memory area that will be used to construct a V4L2ParamsBlock<T> before returning it to the caller.
|
inline |
Retrieve the used size of the parameters buffer (in bytes)
The parameters buffer size is mostly used to populate the v4l2_buffer bytesused field before queueing the buffer to the ISP.