|
libcamera v0.7.2+rpt20260817
Supporting cameras in Linux since 2019
|
Table based LSC algorithm implementation. More...


Public Member Functions | |
| int | parseLscData (const ValueNode &sets, const LscDescriptor &descriptor) override |
| Parse tabular LSC data. | |
| LscImplementation::ComponentsMap | sampleForCrop (const Rectangle &cropRectangle, std::vector< double > xPos, std::vector< double > yPos) override |
| Re-sample the LSC components for cropRectangle. | |
Public Member Functions inherited from libcamera::ipa::LscImplementation | |
| virtual | ~LscImplementation () |
| Virtual class destructor. | |
Additional Inherited Members | |
Public Types inherited from libcamera::ipa::LscImplementation | |
| using | Components = std::map< std::string, std::vector< float >, std::less<> > |
| Associate colour components with a list of gains in float format. | |
| using | ComponentsMap = std::map< unsigned int, Components > |
| Associate a colour temperature to a LSC table. | |
Table based LSC algorithm implementation.
Table based LSC algorithm implementation. The LSCTable class implements LSC support using tabular LSC data.
|
overridevirtual |
Parse tabular LSC data.
| [in] | sets | The tuning file content |
| [in] | descriptor | The LSC engine descriptor |
Parse the LSC data in tabular form from the sets tuning data.
Implements libcamera::ipa::LscImplementation.
|
inlineoverridevirtual |
Re-sample the LSC components for cropRectangle.
| [in] | cropRectangle | The sensor analogue crop rectangle |
| [in] | xPos | List of horizontal positions of the LSC grid nodes |
| [in] | yPos | List of vertical positions of the LSC grid nodes |
LSC tables have to be re-sampled every time a new sensor configuration is used, as each streaming session might use a different sensor crop rectangle cropRectangle.
cropRectangle represents the size of the frame on which the LSC tables have to be re-sampled on.
xPos and yPos represent the position of the grid nodes vertexes in the [0, 1] interval. For example an equally spaced grid of 16 nodes will have each segment of size 0.0625 and the list of nodes position will be [0, 0.0625, 0.125, 0.1875, ... , 1]. It is expected that the first position is 0 and the last position is 1.
LSC tables are expressed in two formats:
Table-based LSC tables are generated using an image at a fixed resolution and can't at the moment be re-sampled when a different resolution is used for a streaming session. Re-sampling a grid LSC table will return the same table as loaded from the tuning file.
Polynomial configurations are more flexible and can be re-sampled for a given sensor frame resolution using a list of horizontal and vertical nodes that define the LSC grid on which the polynomial is re-sampled on.
Implements libcamera::ipa::LscImplementation.