libcamera: libcamera::ipa::V4L2ParamsBase Class Reference

libcamera v0.7.2 Supporting cameras in Linux since 2019

Loading...
Searching...
No Matches
libcamera::ipa::V4L2ParamsBase Class Reference

Base class for V4L2Params. More...

Inheritance diagram for libcamera::ipa::V4L2ParamsBase:
[legend]

## Public Member Functions
size_t | bytesused () const
| Retrieve the used size of the parameters buffer (in bytes).

## Protected Member Functions
| V4L2ParamsBase (Span< uint8_t > data, unsigned int version)
| Construct an instance of V4L2ParamsBase.
Span< uint8_t > | block (uint16_t type, unsigned int blockType, size_t blockSize)
| Populate an ISP configuration block a returns a reference to its memory.

## Protected Attributes
Span< uint8_t > | data_
| The ISP parameters buffer memory.
size_t | used_
| The number of bytes used in the parameters buffer.
std::map< uint16_t, Span< uint8_t > > | blocks_
| Cache of ISP configuration blocks.

## Detailed Description

Base class for V4L2Params.

The V4L2ParamsBase is an integral part of V4L2Params. It serves as a container for all code that does not depend on the V4L2Params template arguments, to avoid duplicate copies of inline code.

## Constructor & Destructor Documentation

## ◆ V4L2ParamsBase()

libcamera::ipa::V4L2ParamsBase::V4L2ParamsBase | ( | Span< uint8_t > | data,
|  | unsigned int | version )
| protected

Construct an instance of V4L2ParamsBase.

Parameters

  [in] | data | Reference to the v4l2-buffer memory mapped area
  [in] | version | The ISP parameters version the implementation supports

## Member Function Documentation

## ◆ block()

Span< uint8_t > libcamera::ipa::V4L2ParamsBase::block | ( | uint16_t | type,
|  | unsigned int | blockType,
|  | size_t | blockSize )
| protected

Populate an ISP configuration block a returns a reference to its memory.

Parameters

  [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.

## ◆ bytesused()

size_t libcamera::ipa::V4L2ParamsBase::bytesused | ( |  | ) | const
| 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.

Returns
  The number of bytes occupied by the ISP configuration parameters

The documentation for this class was generated from the following files:

- src/ipa/libipa/v4l2_params.h
- src/ipa/libipa/v4l2_params.cpp