cos / third_party / kernel / af7099bad49591675a9b14bb48437bc6b53b4435 / . / Documentation / media / uapi / v4l / pixfmt-meta-vsp1-hgt.rst

.. Permission is granted to copy, distribute and/or modify this | |

.. document under the terms of the GNU Free Documentation License, | |

.. Version 1.1 or any later version published by the Free Software | |

.. Foundation, with no Invariant Sections, no Front-Cover Texts | |

.. and no Back-Cover Texts. A copy of the license is included at | |

.. Documentation/media/uapi/fdl-appendix.rst. | |

.. | |

.. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections | |

.. _v4l2-meta-fmt-vsp1-hgt: | |

******************************* | |

V4L2_META_FMT_VSP1_HGT ('VSPT') | |

******************************* | |

Renesas R-Car VSP1 2-D Histogram Data | |

Description | |

=========== | |

This format describes histogram data generated by the Renesas R-Car VSP1 | |

2-D Histogram (HGT) engine. | |

The VSP1 HGT is a histogram computation engine that operates on HSV | |

data. It operates on a possibly cropped and subsampled input image and | |

computes the sum, maximum and minimum of the S component as well as a | |

weighted frequency histogram based on the H and S components. | |

The histogram is a matrix of 6 Hue and 32 Saturation buckets, 192 in | |

total. Each HSV value is added to one or more buckets with a weight | |

between 1 and 16 depending on the Hue areas configuration. Finding the | |

corresponding buckets is done by inspecting the H and S value independently. | |

The Saturation position **n** (0 - 31) of the bucket in the matrix is | |

found by the expression: | |

n = S / 8 | |

The Hue position **m** (0 - 5) of the bucket in the matrix depends on | |

how the HGT Hue areas are configured. There are 6 user configurable Hue | |

Areas which can be configured to cover overlapping Hue values: | |

.. raw:: latex | |

\small | |

:: | |

Area 0 Area 1 Area 2 Area 3 Area 4 Area 5 | |

________ ________ ________ ________ ________ ________ | |

\ /| |\ /| |\ /| |\ /| |\ /| |\ /| |\ / | |

\ / | | \ / | | \ / | | \ / | | \ / | | \ / | | \ / | |

X | | X | | X | | X | | X | | X | | X | |

/ \ | | / \ | | / \ | | / \ | | / \ | | / \ | | / \ | |

/ \| |/ \| |/ \| |/ \| |/ \| |/ \| |/ \ | |

5U 0L 0U 1L 1U 2L 2U 3L 3U 4L 4U 5L 5U 0L | |

<0..............................Hue Value............................255> | |

.. raw:: latex | |

\normalsize | |

When two consecutive areas don't overlap (n+1L is equal to nU) the boundary | |

value is considered as part of the lower area. | |

Pixels with a hue value included in the centre of an area (between nL and nU | |

included) are attributed to that single area and given a weight of 16. Pixels | |

with a hue value included in the overlapping region between two areas (between | |

n+1L and nU excluded) are attributed to both areas and given a weight for each | |

of these areas proportional to their position along the diagonal lines | |

(rounded down). | |

The Hue area setup must match one of the following constrains: | |

:: | |

0L <= 0U <= 1L <= 1U <= 2L <= 2U <= 3L <= 3U <= 4L <= 4U <= 5L <= 5U | |

:: | |

0U <= 1L <= 1U <= 2L <= 2U <= 3L <= 3U <= 4L <= 4U <= 5L <= 5U <= 0L | |

**Byte Order.** | |

All data is stored in memory in little endian format. Each cell in the tables | |

contains one byte. | |

.. flat-table:: VSP1 HGT Data - (776 bytes) | |

:header-rows: 2 | |

:stub-columns: 0 | |

* - Offset | |

- :cspan:`4` Memory | |

* - | |

- [31:24] | |

- [23:16] | |

- [15:8] | |

- [7:0] | |

* - 0 | |

- - | |

- S max [7:0] | |

- - | |

- S min [7:0] | |

* - 4 | |

- :cspan:`4` S sum [31:0] | |

* - 8 | |

- :cspan:`4` Histogram bucket (m=0, n=0) [31:0] | |

* - 12 | |

- :cspan:`4` Histogram bucket (m=0, n=1) [31:0] | |

* - | |

- :cspan:`4` ... | |

* - 132 | |

- :cspan:`4` Histogram bucket (m=0, n=31) [31:0] | |

* - 136 | |

- :cspan:`4` Histogram bucket (m=1, n=0) [31:0] | |

* - | |

- :cspan:`4` ... | |

* - 264 | |

- :cspan:`4` Histogram bucket (m=2, n=0) [31:0] | |

* - | |

- :cspan:`4` ... | |

* - 392 | |

- :cspan:`4` Histogram bucket (m=3, n=0) [31:0] | |

* - | |

- :cspan:`4` ... | |

* - 520 | |

- :cspan:`4` Histogram bucket (m=4, n=0) [31:0] | |

* - | |

- :cspan:`4` ... | |

* - 648 | |

- :cspan:`4` Histogram bucket (m=5, n=0) [31:0] | |

* - | |

- :cspan:`4` ... | |

* - 772 | |

- :cspan:`4` Histogram bucket (m=5, n=31) [31:0] |