1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 2 3.. _v4l2-meta-fmt-vsp1-hgt: 4 5******************************* 6V4L2_META_FMT_VSP1_HGT ('VSPT') 7******************************* 8 9Renesas R-Car VSP1 2-D Histogram Data 10 11 12Description 13=========== 14 15This format describes histogram data generated by the Renesas R-Car VSP1 162-D Histogram (HGT) engine. 17 18The VSP1 HGT is a histogram computation engine that operates on HSV 19data. It operates on a possibly cropped and subsampled input image and 20computes the sum, maximum and minimum of the S component as well as a 21weighted frequency histogram based on the H and S components. 22 23The histogram is a matrix of 6 Hue and 32 Saturation buckets, 192 in 24total. Each HSV value is added to one or more buckets with a weight 25between 1 and 16 depending on the Hue areas configuration. Finding the 26corresponding buckets is done by inspecting the H and S value independently. 27 28The Saturation position **n** (0 - 31) of the bucket in the matrix is 29found by the expression: 30 31 n = S / 8 32 33The Hue position **m** (0 - 5) of the bucket in the matrix depends on 34how the HGT Hue areas are configured. There are 6 user configurable Hue 35Areas which can be configured to cover overlapping Hue values: 36 37.. raw:: latex 38 39 \small 40 41:: 42 43 Area 0 Area 1 Area 2 Area 3 Area 4 Area 5 44 ________ ________ ________ ________ ________ ________ 45 \ /| |\ /| |\ /| |\ /| |\ /| |\ /| |\ / 46 \ / | | \ / | | \ / | | \ / | | \ / | | \ / | | \ / 47 X | | X | | X | | X | | X | | X | | X 48 / \ | | / \ | | / \ | | / \ | | / \ | | / \ | | / \ 49 / \| |/ \| |/ \| |/ \| |/ \| |/ \| |/ \ 50 5U 0L 0U 1L 1U 2L 2U 3L 3U 4L 4U 5L 5U 0L 51 <0..............................Hue Value............................255> 52 53 54.. raw:: latex 55 56 \normalsize 57 58When two consecutive areas don't overlap (n+1L is equal to nU) the boundary 59value is considered as part of the lower area. 60 61Pixels with a hue value included in the centre of an area (between nL and nU 62included) are attributed to that single area and given a weight of 16. Pixels 63with a hue value included in the overlapping region between two areas (between 64n+1L and nU excluded) are attributed to both areas and given a weight for each 65of these areas proportional to their position along the diagonal lines 66(rounded down). 67 68The Hue area setup must match one of the following constrains: 69 70:: 71 72 0L <= 0U <= 1L <= 1U <= 2L <= 2U <= 3L <= 3U <= 4L <= 4U <= 5L <= 5U 73 74:: 75 76 0U <= 1L <= 1U <= 2L <= 2U <= 3L <= 3U <= 4L <= 4U <= 5L <= 5U <= 0L 77 78**Byte Order.** 79All data is stored in memory in little endian format. Each cell in the tables 80contains one byte. 81 82.. flat-table:: VSP1 HGT Data - (776 bytes) 83 :header-rows: 2 84 :stub-columns: 0 85 86 * - Offset 87 - :cspan:`4` Memory 88 * - 89 - [31:24] 90 - [23:16] 91 - [15:8] 92 - [7:0] 93 * - 0 94 - - 95 - S max [7:0] 96 - - 97 - S min [7:0] 98 * - 4 99 - :cspan:`4` S sum [31:0] 100 * - 8 101 - :cspan:`4` Histogram bucket (m=0, n=0) [31:0] 102 * - 12 103 - :cspan:`4` Histogram bucket (m=0, n=1) [31:0] 104 * - 105 - :cspan:`4` ... 106 * - 132 107 - :cspan:`4` Histogram bucket (m=0, n=31) [31:0] 108 * - 136 109 - :cspan:`4` Histogram bucket (m=1, n=0) [31:0] 110 * - 111 - :cspan:`4` ... 112 * - 264 113 - :cspan:`4` Histogram bucket (m=2, n=0) [31:0] 114 * - 115 - :cspan:`4` ... 116 * - 392 117 - :cspan:`4` Histogram bucket (m=3, n=0) [31:0] 118 * - 119 - :cspan:`4` ... 120 * - 520 121 - :cspan:`4` Histogram bucket (m=4, n=0) [31:0] 122 * - 123 - :cspan:`4` ... 124 * - 648 125 - :cspan:`4` Histogram bucket (m=5, n=0) [31:0] 126 * - 127 - :cspan:`4` ... 128 * - 772 129 - :cspan:`4` Histogram bucket (m=5, n=31) [31:0] 130