linux-zen-desktop/Documentation/userspace-api/media/v4l/metafmt-vsp1-hgo.rst

169 lines
4.0 KiB
ReStructuredText

.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
.. _v4l2-meta-fmt-vsp1-hgo:
*******************************
V4L2_META_FMT_VSP1_HGO ('VSPH')
*******************************
Renesas R-Car VSP1 1-D Histogram Data
Description
===========
This format describes histogram data generated by the Renesas R-Car VSP1 1-D
Histogram (HGO) engine.
The VSP1 HGO is a histogram computation engine that can operate on RGB, YCrCb
or HSV data. It operates on a possibly cropped and subsampled input image and
computes the minimum, maximum and sum of all pixels as well as per-channel
histograms.
The HGO can compute histograms independently per channel, on the maximum of the
three channels (RGB data only) or on the Y channel only (YCbCr only). It can
additionally output the histogram with 64 or 256 bins, resulting in four
possible modes of operation.
- In *64 bins normal mode*, the HGO operates on the three channels independently
to compute three 64-bins histograms. RGB, YCbCr and HSV image formats are
supported.
- In *64 bins maximum mode*, the HGO operates on the maximum of the (R, G, B)
channels to compute a single 64-bins histogram. Only the RGB image format is
supported.
- In *256 bins normal mode*, the HGO operates on the Y channel to compute a
single 256-bins histogram. Only the YCbCr image format is supported.
- In *256 bins maximum mode*, the HGO operates on the maximum of the (R, G, B)
channels to compute a single 256-bins histogram. Only the RGB image format is
supported.
**Byte Order.**
All data is stored in memory in little endian format. Each cell in the tables
contains one byte.
.. flat-table:: VSP1 HGO Data - 64 Bins, Normal Mode (792 bytes)
:header-rows: 2
:stub-columns: 0
* - Offset
- :cspan:`4` Memory
* -
- [31:24]
- [23:16]
- [15:8]
- [7:0]
* - 0
-
- R/Cr/H max [7:0]
-
- R/Cr/H min [7:0]
* - 4
-
- G/Y/S max [7:0]
-
- G/Y/S min [7:0]
* - 8
-
- B/Cb/V max [7:0]
-
- B/Cb/V min [7:0]
* - 12
- :cspan:`4` R/Cr/H sum [31:0]
* - 16
- :cspan:`4` G/Y/S sum [31:0]
* - 20
- :cspan:`4` B/Cb/V sum [31:0]
* - 24
- :cspan:`4` R/Cr/H bin 0 [31:0]
* -
- :cspan:`4` ...
* - 276
- :cspan:`4` R/Cr/H bin 63 [31:0]
* - 280
- :cspan:`4` G/Y/S bin 0 [31:0]
* -
- :cspan:`4` ...
* - 532
- :cspan:`4` G/Y/S bin 63 [31:0]
* - 536
- :cspan:`4` B/Cb/V bin 0 [31:0]
* -
- :cspan:`4` ...
* - 788
- :cspan:`4` B/Cb/V bin 63 [31:0]
.. flat-table:: VSP1 HGO Data - 64 Bins, Max Mode (264 bytes)
:header-rows: 2
:stub-columns: 0
* - Offset
- :cspan:`4` Memory
* -
- [31:24]
- [23:16]
- [15:8]
- [7:0]
* - 0
-
- max(R,G,B) max [7:0]
-
- max(R,G,B) min [7:0]
* - 4
- :cspan:`4` max(R,G,B) sum [31:0]
* - 8
- :cspan:`4` max(R,G,B) bin 0 [31:0]
* -
- :cspan:`4` ...
* - 260
- :cspan:`4` max(R,G,B) bin 63 [31:0]
.. flat-table:: VSP1 HGO Data - 256 Bins, Normal Mode (1032 bytes)
:header-rows: 2
:stub-columns: 0
* - Offset
- :cspan:`4` Memory
* -
- [31:24]
- [23:16]
- [15:8]
- [7:0]
* - 0
-
- Y max [7:0]
-
- Y min [7:0]
* - 4
- :cspan:`4` Y sum [31:0]
* - 8
- :cspan:`4` Y bin 0 [31:0]
* -
- :cspan:`4` ...
* - 1028
- :cspan:`4` Y bin 255 [31:0]
.. flat-table:: VSP1 HGO Data - 256 Bins, Max Mode (1032 bytes)
:header-rows: 2
:stub-columns: 0
* - Offset
- :cspan:`4` Memory
* -
- [31:24]
- [23:16]
- [15:8]
- [7:0]
* - 0
-
- max(R,G,B) max [7:0]
-
- max(R,G,B) min [7:0]
* - 4
- :cspan:`4` max(R,G,B) sum [31:0]
* - 8
- :cspan:`4` max(R,G,B) bin 0 [31:0]
* -
- :cspan:`4` ...
* - 1028
- :cspan:`4` max(R,G,B) bin 255 [31:0]