GNU Linux-libre 4.14.295-gnu1
[releases.git] / Documentation / media / uapi / v4l / pixfmt-meta-vsp1-hgo.rst
1 .. -*- coding: utf-8; mode: rst -*-
2
3 .. _v4l2-meta-fmt-vsp1-hgo:
4
5 *******************************
6 V4L2_META_FMT_VSP1_HGO ('VSPH')
7 *******************************
8
9 Renesas R-Car VSP1 1-D Histogram Data
10
11
12 Description
13 ===========
14
15 This format describes histogram data generated by the Renesas R-Car VSP1 1-D
16 Histogram (HGO) engine.
17
18 The VSP1 HGO is a histogram computation engine that can operate on RGB, YCrCb
19 or HSV data. It operates on a possibly cropped and subsampled input image and
20 computes the minimum, maximum and sum of all pixels as well as per-channel
21 histograms.
22
23 The HGO can compute histograms independently per channel, on the maximum of the
24 three channels (RGB data only) or on the Y channel only (YCbCr only). It can
25 additionally output the histogram with 64 or 256 bins, resulting in four
26 possible modes of operation.
27
28 - In *64 bins normal mode*, the HGO operates on the three channels independently
29   to compute three 64-bins histograms. RGB, YCbCr and HSV image formats are
30   supported.
31 - In *64 bins maximum mode*, the HGO operates on the maximum of the (R, G, B)
32   channels to compute a single 64-bins histogram. Only the RGB image format is
33   supported.
34 - In *256 bins normal mode*, the HGO operates on the Y channel to compute a
35   single 256-bins histogram. Only the YCbCr image format is supported.
36 - In *256 bins maximum mode*, the HGO operates on the maximum of the (R, G, B)
37   channels to compute a single 256-bins histogram. Only the RGB image format is
38   supported.
39
40 **Byte Order.**
41 All data is stored in memory in little endian format. Each cell in the tables
42 contains one byte.
43
44 .. flat-table:: VSP1 HGO Data - 64 Bins, Normal Mode (792 bytes)
45     :header-rows:  2
46     :stub-columns: 0
47
48     * - Offset
49       - :cspan:`4` Memory
50     * -
51       - [31:24]
52       - [23:16]
53       - [15:8]
54       - [7:0]
55     * - 0
56       -
57       - R/Cr/H max [7:0]
58       -
59       - R/Cr/H min [7:0]
60     * - 4
61       -
62       - G/Y/S max [7:0]
63       -
64       - G/Y/S min [7:0]
65     * - 8
66       -
67       - B/Cb/V max [7:0]
68       -
69       - B/Cb/V min [7:0]
70     * - 12
71       - :cspan:`4` R/Cr/H sum [31:0]
72     * - 16
73       - :cspan:`4` G/Y/S sum [31:0]
74     * - 20
75       - :cspan:`4` B/Cb/V sum [31:0]
76     * - 24
77       - :cspan:`4` R/Cr/H bin 0 [31:0]
78     * -
79       - :cspan:`4` ...
80     * - 276
81       - :cspan:`4` R/Cr/H bin 63 [31:0]
82     * - 280
83       - :cspan:`4` G/Y/S bin 0 [31:0]
84     * -
85       - :cspan:`4` ...
86     * - 532
87       - :cspan:`4` G/Y/S bin 63 [31:0]
88     * - 536
89       - :cspan:`4` B/Cb/V bin 0 [31:0]
90     * -
91       - :cspan:`4` ...
92     * - 788
93       - :cspan:`4` B/Cb/V bin 63 [31:0]
94
95 .. flat-table:: VSP1 HGO Data - 64 Bins, Max Mode (264 bytes)
96     :header-rows:  2
97     :stub-columns: 0
98
99     * - Offset
100       - :cspan:`4` Memory
101     * -
102       - [31:24]
103       - [23:16]
104       - [15:8]
105       - [7:0]
106     * - 0
107       -
108       - max(R,G,B) max [7:0]
109       -
110       - max(R,G,B) min [7:0]
111     * - 4
112       - :cspan:`4` max(R,G,B) sum [31:0]
113     * - 8
114       - :cspan:`4` max(R,G,B) bin 0 [31:0]
115     * -
116       - :cspan:`4` ...
117     * - 260
118       - :cspan:`4` max(R,G,B) bin 63 [31:0]
119
120 .. flat-table:: VSP1 HGO Data - 256 Bins, Normal Mode (1032 bytes)
121     :header-rows:  2
122     :stub-columns: 0
123
124     * - Offset
125       - :cspan:`4` Memory
126     * -
127       - [31:24]
128       - [23:16]
129       - [15:8]
130       - [7:0]
131     * - 0
132       -
133       - Y max [7:0]
134       -
135       - Y min [7:0]
136     * - 4
137       - :cspan:`4` Y sum [31:0]
138     * - 8
139       - :cspan:`4` Y bin 0 [31:0]
140     * -
141       - :cspan:`4` ...
142     * - 1028
143       - :cspan:`4` Y bin 255 [31:0]
144
145 .. flat-table:: VSP1 HGO Data - 256 Bins, Max Mode (1032 bytes)
146     :header-rows:  2
147     :stub-columns: 0
148
149     * - Offset
150       - :cspan:`4` Memory
151     * -
152       - [31:24]
153       - [23:16]
154       - [15:8]
155       - [7:0]
156     * - 0
157       -
158       - max(R,G,B) max [7:0]
159       -
160       - max(R,G,B) min [7:0]
161     * - 4
162       - :cspan:`4` max(R,G,B) sum [31:0]
163     * - 8
164       - :cspan:`4` max(R,G,B) bin 0 [31:0]
165     * -
166       - :cspan:`4` ...
167     * - 1028
168       - :cspan:`4` max(R,G,B) bin 255 [31:0]