18c2ecf20Sopenharmony_ci.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ci.. _v4l2-meta-fmt-vsp1-hgo:
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci*******************************
68c2ecf20Sopenharmony_ciV4L2_META_FMT_VSP1_HGO ('VSPH')
78c2ecf20Sopenharmony_ci*******************************
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ciRenesas R-Car VSP1 1-D Histogram Data
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciDescription
138c2ecf20Sopenharmony_ci===========
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ciThis format describes histogram data generated by the Renesas R-Car VSP1 1-D
168c2ecf20Sopenharmony_ciHistogram (HGO) engine.
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciThe VSP1 HGO is a histogram computation engine that can operate on RGB, YCrCb
198c2ecf20Sopenharmony_cior HSV data. It operates on a possibly cropped and subsampled input image and
208c2ecf20Sopenharmony_cicomputes the minimum, maximum and sum of all pixels as well as per-channel
218c2ecf20Sopenharmony_cihistograms.
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ciThe HGO can compute histograms independently per channel, on the maximum of the
248c2ecf20Sopenharmony_cithree channels (RGB data only) or on the Y channel only (YCbCr only). It can
258c2ecf20Sopenharmony_ciadditionally output the histogram with 64 or 256 bins, resulting in four
268c2ecf20Sopenharmony_cipossible modes of operation.
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci- In *64 bins normal mode*, the HGO operates on the three channels independently
298c2ecf20Sopenharmony_ci  to compute three 64-bins histograms. RGB, YCbCr and HSV image formats are
308c2ecf20Sopenharmony_ci  supported.
318c2ecf20Sopenharmony_ci- In *64 bins maximum mode*, the HGO operates on the maximum of the (R, G, B)
328c2ecf20Sopenharmony_ci  channels to compute a single 64-bins histogram. Only the RGB image format is
338c2ecf20Sopenharmony_ci  supported.
348c2ecf20Sopenharmony_ci- In *256 bins normal mode*, the HGO operates on the Y channel to compute a
358c2ecf20Sopenharmony_ci  single 256-bins histogram. Only the YCbCr image format is supported.
368c2ecf20Sopenharmony_ci- In *256 bins maximum mode*, the HGO operates on the maximum of the (R, G, B)
378c2ecf20Sopenharmony_ci  channels to compute a single 256-bins histogram. Only the RGB image format is
388c2ecf20Sopenharmony_ci  supported.
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci**Byte Order.**
418c2ecf20Sopenharmony_ciAll data is stored in memory in little endian format. Each cell in the tables
428c2ecf20Sopenharmony_cicontains one byte.
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ci.. flat-table:: VSP1 HGO Data - 64 Bins, Normal Mode (792 bytes)
458c2ecf20Sopenharmony_ci    :header-rows:  2
468c2ecf20Sopenharmony_ci    :stub-columns: 0
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci    * - Offset
498c2ecf20Sopenharmony_ci      - :cspan:`4` Memory
508c2ecf20Sopenharmony_ci    * -
518c2ecf20Sopenharmony_ci      - [31:24]
528c2ecf20Sopenharmony_ci      - [23:16]
538c2ecf20Sopenharmony_ci      - [15:8]
548c2ecf20Sopenharmony_ci      - [7:0]
558c2ecf20Sopenharmony_ci    * - 0
568c2ecf20Sopenharmony_ci      -
578c2ecf20Sopenharmony_ci      - R/Cr/H max [7:0]
588c2ecf20Sopenharmony_ci      -
598c2ecf20Sopenharmony_ci      - R/Cr/H min [7:0]
608c2ecf20Sopenharmony_ci    * - 4
618c2ecf20Sopenharmony_ci      -
628c2ecf20Sopenharmony_ci      - G/Y/S max [7:0]
638c2ecf20Sopenharmony_ci      -
648c2ecf20Sopenharmony_ci      - G/Y/S min [7:0]
658c2ecf20Sopenharmony_ci    * - 8
668c2ecf20Sopenharmony_ci      -
678c2ecf20Sopenharmony_ci      - B/Cb/V max [7:0]
688c2ecf20Sopenharmony_ci      -
698c2ecf20Sopenharmony_ci      - B/Cb/V min [7:0]
708c2ecf20Sopenharmony_ci    * - 12
718c2ecf20Sopenharmony_ci      - :cspan:`4` R/Cr/H sum [31:0]
728c2ecf20Sopenharmony_ci    * - 16
738c2ecf20Sopenharmony_ci      - :cspan:`4` G/Y/S sum [31:0]
748c2ecf20Sopenharmony_ci    * - 20
758c2ecf20Sopenharmony_ci      - :cspan:`4` B/Cb/V sum [31:0]
768c2ecf20Sopenharmony_ci    * - 24
778c2ecf20Sopenharmony_ci      - :cspan:`4` R/Cr/H bin 0 [31:0]
788c2ecf20Sopenharmony_ci    * -
798c2ecf20Sopenharmony_ci      - :cspan:`4` ...
808c2ecf20Sopenharmony_ci    * - 276
818c2ecf20Sopenharmony_ci      - :cspan:`4` R/Cr/H bin 63 [31:0]
828c2ecf20Sopenharmony_ci    * - 280
838c2ecf20Sopenharmony_ci      - :cspan:`4` G/Y/S bin 0 [31:0]
848c2ecf20Sopenharmony_ci    * -
858c2ecf20Sopenharmony_ci      - :cspan:`4` ...
868c2ecf20Sopenharmony_ci    * - 532
878c2ecf20Sopenharmony_ci      - :cspan:`4` G/Y/S bin 63 [31:0]
888c2ecf20Sopenharmony_ci    * - 536
898c2ecf20Sopenharmony_ci      - :cspan:`4` B/Cb/V bin 0 [31:0]
908c2ecf20Sopenharmony_ci    * -
918c2ecf20Sopenharmony_ci      - :cspan:`4` ...
928c2ecf20Sopenharmony_ci    * - 788
938c2ecf20Sopenharmony_ci      - :cspan:`4` B/Cb/V bin 63 [31:0]
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ci.. flat-table:: VSP1 HGO Data - 64 Bins, Max Mode (264 bytes)
968c2ecf20Sopenharmony_ci    :header-rows:  2
978c2ecf20Sopenharmony_ci    :stub-columns: 0
988c2ecf20Sopenharmony_ci
998c2ecf20Sopenharmony_ci    * - Offset
1008c2ecf20Sopenharmony_ci      - :cspan:`4` Memory
1018c2ecf20Sopenharmony_ci    * -
1028c2ecf20Sopenharmony_ci      - [31:24]
1038c2ecf20Sopenharmony_ci      - [23:16]
1048c2ecf20Sopenharmony_ci      - [15:8]
1058c2ecf20Sopenharmony_ci      - [7:0]
1068c2ecf20Sopenharmony_ci    * - 0
1078c2ecf20Sopenharmony_ci      -
1088c2ecf20Sopenharmony_ci      - max(R,G,B) max [7:0]
1098c2ecf20Sopenharmony_ci      -
1108c2ecf20Sopenharmony_ci      - max(R,G,B) min [7:0]
1118c2ecf20Sopenharmony_ci    * - 4
1128c2ecf20Sopenharmony_ci      - :cspan:`4` max(R,G,B) sum [31:0]
1138c2ecf20Sopenharmony_ci    * - 8
1148c2ecf20Sopenharmony_ci      - :cspan:`4` max(R,G,B) bin 0 [31:0]
1158c2ecf20Sopenharmony_ci    * -
1168c2ecf20Sopenharmony_ci      - :cspan:`4` ...
1178c2ecf20Sopenharmony_ci    * - 260
1188c2ecf20Sopenharmony_ci      - :cspan:`4` max(R,G,B) bin 63 [31:0]
1198c2ecf20Sopenharmony_ci
1208c2ecf20Sopenharmony_ci.. flat-table:: VSP1 HGO Data - 256 Bins, Normal Mode (1032 bytes)
1218c2ecf20Sopenharmony_ci    :header-rows:  2
1228c2ecf20Sopenharmony_ci    :stub-columns: 0
1238c2ecf20Sopenharmony_ci
1248c2ecf20Sopenharmony_ci    * - Offset
1258c2ecf20Sopenharmony_ci      - :cspan:`4` Memory
1268c2ecf20Sopenharmony_ci    * -
1278c2ecf20Sopenharmony_ci      - [31:24]
1288c2ecf20Sopenharmony_ci      - [23:16]
1298c2ecf20Sopenharmony_ci      - [15:8]
1308c2ecf20Sopenharmony_ci      - [7:0]
1318c2ecf20Sopenharmony_ci    * - 0
1328c2ecf20Sopenharmony_ci      -
1338c2ecf20Sopenharmony_ci      - Y max [7:0]
1348c2ecf20Sopenharmony_ci      -
1358c2ecf20Sopenharmony_ci      - Y min [7:0]
1368c2ecf20Sopenharmony_ci    * - 4
1378c2ecf20Sopenharmony_ci      - :cspan:`4` Y sum [31:0]
1388c2ecf20Sopenharmony_ci    * - 8
1398c2ecf20Sopenharmony_ci      - :cspan:`4` Y bin 0 [31:0]
1408c2ecf20Sopenharmony_ci    * -
1418c2ecf20Sopenharmony_ci      - :cspan:`4` ...
1428c2ecf20Sopenharmony_ci    * - 1028
1438c2ecf20Sopenharmony_ci      - :cspan:`4` Y bin 255 [31:0]
1448c2ecf20Sopenharmony_ci
1458c2ecf20Sopenharmony_ci.. flat-table:: VSP1 HGO Data - 256 Bins, Max Mode (1032 bytes)
1468c2ecf20Sopenharmony_ci    :header-rows:  2
1478c2ecf20Sopenharmony_ci    :stub-columns: 0
1488c2ecf20Sopenharmony_ci
1498c2ecf20Sopenharmony_ci    * - Offset
1508c2ecf20Sopenharmony_ci      - :cspan:`4` Memory
1518c2ecf20Sopenharmony_ci    * -
1528c2ecf20Sopenharmony_ci      - [31:24]
1538c2ecf20Sopenharmony_ci      - [23:16]
1548c2ecf20Sopenharmony_ci      - [15:8]
1558c2ecf20Sopenharmony_ci      - [7:0]
1568c2ecf20Sopenharmony_ci    * - 0
1578c2ecf20Sopenharmony_ci      -
1588c2ecf20Sopenharmony_ci      - max(R,G,B) max [7:0]
1598c2ecf20Sopenharmony_ci      -
1608c2ecf20Sopenharmony_ci      - max(R,G,B) min [7:0]
1618c2ecf20Sopenharmony_ci    * - 4
1628c2ecf20Sopenharmony_ci      - :cspan:`4` max(R,G,B) sum [31:0]
1638c2ecf20Sopenharmony_ci    * - 8
1648c2ecf20Sopenharmony_ci      - :cspan:`4` max(R,G,B) bin 0 [31:0]
1658c2ecf20Sopenharmony_ci    * -
1668c2ecf20Sopenharmony_ci      - :cspan:`4` ...
1678c2ecf20Sopenharmony_ci    * - 1028
1688c2ecf20Sopenharmony_ci      - :cspan:`4` max(R,G,B) bin 255 [31:0]
169