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