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