[v2] media: uapi: v4l: Intel metadata format update

Message ID e16ddf4fdb83f30899e575b218e524f6346a9f50.camel@intel.com (mailing list archive)
State Superseded
Headers
Series [v2] media: uapi: v4l: Intel metadata format update |

Commit Message

Dmitry Perchanov May 9, 2023, 8:24 a.m. UTC
Update metadata structure for Intel RealSense UVC/MIPI cameras.
Compliant to Intel Configuration version 3.

Signed-off-by: Dmitry Perchanov <dmitry.perchanov@intel.com>
---
 .../media/v4l/pixfmt-meta-d4xx.rst            | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)
  

Comments

Sakari Ailus May 9, 2023, 8:28 a.m. UTC | #1
Hi Dmitry,

Thanks for the patch.

No need to cc me to my @iki.fi address, I do read both. :-)

On Tue, May 09, 2023 at 11:24:53AM +0300, Dmitry Perchanov wrote:
> Update metadata structure for Intel RealSense UVC/MIPI cameras.
> Compliant to Intel Configuration version 3.
> 
> Signed-off-by: Dmitry Perchanov <dmitry.perchanov@intel.com>
> ---

Please detail here what changed between patch versions in future versions
of the patch.

>  .../media/v4l/pixfmt-meta-d4xx.rst            | 19 ++++++++++++++++---
>  1 file changed, 16 insertions(+), 3 deletions(-)
> 
> diff --git a/Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst b/Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst
> index 4e437ba97a0e..b5decde640c1 100644
> --- a/Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst
> +++ b/Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst
> @@ -12,7 +12,7 @@ Intel D4xx UVC Cameras Metadata
>  Description
>  ===========
>  
> -Intel D4xx (D435 and other) cameras include per-frame metadata in their UVC
> +Intel D4xx (D435, D455 and others) cameras include per-frame metadata in their UVC
>  payload headers, following the Microsoft(R) UVC extension proposal [1_]. That
>  means, that the private D4XX metadata, following the standard UVC header, is
>  organised in blocks. D4XX cameras implement several standard block types,
> @@ -26,6 +26,8 @@ V4L2_META_FMT_UVC with the only difference, that it also includes proprietary
>  payload header data. D4xx cameras use bulk transfers and only send one payload
>  per frame, therefore their headers cannot be larger than 255 bytes.
>  
> +This document implements Intel Configuration version 3.

Which version was described here before this patch?

Are there devices that use that presumably different version? Or does
this depend on e.g. firmware version?

> +
>  Below are proprietary Microsoft style metadata types, used by D4xx cameras,
>  where all fields are in little endian order:
>  
> @@ -43,7 +45,7 @@ where all fields are in little endian order:
>      * - __u32 ID
>        - 0x80000000
>      * - __u32 Size
> -      - Size in bytes (currently 56)
> +      - Size in bytes (currently 60)
>      * - __u32 Version
>        - Version of this structure. The documentation herein corresponds to
>          version xxx. The version number will be incremented when new fields are
> @@ -72,8 +74,11 @@ where all fields are in little endian order:
>        - Bottom border of the AE Region of Interest
>      * - __u32 Preset
>        - Preset selector value, default: 0, unless changed by the user
> -    * - __u32 Laser mode
> +    * - __u8 Emitter mode
>        - 0: off, 1: on
> +    * - __u8 RFU byte
> +    * - __u16 LED Power
> +      - Led power value 0-360 (F416 SKU)
>      * - :cspan:`1` *Capture Timing*
>      * - __u32 ID
>        - 0x80000001
> @@ -124,6 +129,14 @@ where all fields are in little endian order:
>        - Requested frame rate per second
>      * - __u16 Trigger
>        - Byte 0: bit 0: depth and RGB are synchronised, bit 1: external trigger
> +    * - __u16 Calibration count
> +    * - __u8 GPIO input data
> +      - GPIO readout
> +      - Supported from FW 5.12.7.0
> +    * - __u32 Sub-preset info
> +      - Sub-preset choice information
> +    * - __u8 reserved
> +      - RFU byte.
>  
>  .. _1:
>
  
kernel test robot May 12, 2023, 5:54 p.m. UTC | #2
Hi Dmitry,

kernel test robot noticed the following build warnings:

[auto build test WARNING on media-tree/master]
[also build test WARNING on sailus-media-tree/streams linus/master v6.4-rc1 next-20230512]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Dmitry-Perchanov/media-uapi-v4l-Intel-metadata-format-update/20230509-162624
base:   git://linuxtv.org/media_tree.git master
patch link:    https://lore.kernel.org/r/e16ddf4fdb83f30899e575b218e524f6346a9f50.camel%40intel.com
patch subject: [PATCH v2] media: uapi: v4l: Intel metadata format update
reproduce:
        # https://github.com/intel-lab-lkp/linux/commit/9380782b719cdcafc3d26c5166e52cdcbae8fca7
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Dmitry-Perchanov/media-uapi-v4l-Intel-metadata-format-update/20230509-162624
        git checkout 9380782b719cdcafc3d26c5166e52cdcbae8fca7
        make menuconfig
        # enable CONFIG_COMPILE_TEST, CONFIG_WARN_MISSING_DOCUMENTS, CONFIG_WARN_ABI_ERRORS
        make htmldocs

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202305130121.0QxAqCO3-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst:37: WARNING: "flat-table" widths do not match the number of columns in table (3).

vim +37 Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst

94fa831e3b359f2 Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Mauro Carvalho Chehab 2019-03-29   35  
94fa831e3b359f2 Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Mauro Carvalho Chehab 2019-03-29   36  
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  @37  .. flat-table:: D4xx metadata
94fa831e3b359f2 Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Mauro Carvalho Chehab 2019-03-29   38      :widths: 1 2
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   39      :header-rows:  1
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   40      :stub-columns: 0
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   41  
94fa831e3b359f2 Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Mauro Carvalho Chehab 2019-03-29   42      * - **Field**
94fa831e3b359f2 Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Mauro Carvalho Chehab 2019-03-29   43        - **Description**
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   44      * - :cspan:`1` *Depth Control*
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   45      * - __u32 ID
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   46        - 0x80000000
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   47      * - __u32 Size
9380782b719cdca Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst Dmitry Perchanov      2023-05-09   48        - Size in bytes (currently 60)
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   49      * - __u32 Version
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   50        - Version of this structure. The documentation herein corresponds to
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   51          version xxx. The version number will be incremented when new fields are
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   52          added.
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   53      * - __u32 Flags
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   54        - A bitmask of flags: see [2_] below
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   55      * - __u32 Gain
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   56        - Gain value in internal units, same as the V4L2_CID_GAIN control, used to
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   57  	capture the frame
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   58      * - __u32 Exposure
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   59        - Exposure time (in microseconds) used to capture the frame
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   60      * - __u32 Laser power
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   61        - Power of the laser LED 0-360, used for depth measurement
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   62      * - __u32 AE mode
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   63        - 0: manual; 1: automatic exposure
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   64      * - __u32 Exposure priority
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   65        - Exposure priority value: 0 - constant frame rate
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   66      * - __u32 AE ROI left
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   67        - Left border of the AE Region of Interest (all ROI values are in pixels
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   68  	and lie between 0 and maximum width or height respectively)
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   69      * - __u32 AE ROI right
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   70        - Right border of the AE Region of Interest
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   71      * - __u32 AE ROI top
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   72        - Top border of the AE Region of Interest
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   73      * - __u32 AE ROI bottom
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   74        - Bottom border of the AE Region of Interest
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   75      * - __u32 Preset
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   76        - Preset selector value, default: 0, unless changed by the user
9380782b719cdca Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst Dmitry Perchanov      2023-05-09   77      * - __u8 Emitter mode
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   78        - 0: off, 1: on
9380782b719cdca Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst Dmitry Perchanov      2023-05-09   79      * - __u8 RFU byte
9380782b719cdca Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst Dmitry Perchanov      2023-05-09   80      * - __u16 LED Power
9380782b719cdca Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst Dmitry Perchanov      2023-05-09   81        - Led power value 0-360 (F416 SKU)
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   82      * - :cspan:`1` *Capture Timing*
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   83      * - __u32 ID
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   84        - 0x80000001
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   85      * - __u32 Size
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   86        - Size in bytes (currently 40)
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   87      * - __u32 Version
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   88        - Version of this structure. The documentation herein corresponds to
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   89          version xxx. The version number will be incremented when new fields are
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   90          added.
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   91      * - __u32 Flags
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   92        - A bitmask of flags: see [3_] below
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   93      * - __u32 Frame counter
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   94        - Monotonically increasing counter
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   95      * - __u32 Optical time
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   96        - Time in microseconds from the beginning of a frame till its middle
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   97      * - __u32 Readout time
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   98        - Time, used to read out a frame in microseconds
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03   99      * - __u32 Exposure time
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  100        - Frame exposure time in microseconds
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  101      * - __u32 Frame interval
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  102        - In microseconds = 1000000 / framerate
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  103      * - __u32 Pipe latency
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  104        - Time in microseconds from start of frame to data in USB buffer
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  105      * - :cspan:`1` *Configuration*
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  106      * - __u32 ID
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  107        - 0x80000002
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  108      * - __u32 Size
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  109        - Size in bytes (currently 40)
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  110      * - __u32 Version
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  111        - Version of this structure. The documentation herein corresponds to
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  112          version xxx. The version number will be incremented when new fields are
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  113          added.
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  114      * - __u32 Flags
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  115        - A bitmask of flags: see [4_] below
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  116      * - __u8 Hardware type
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  117        - Camera hardware version [5_]
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  118      * - __u8 SKU ID
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  119        - Camera hardware configuration [6_]
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  120      * - __u32 Cookie
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  121        - Internal synchronisation
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  122      * - __u16 Format
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  123        - Image format code [7_]
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  124      * - __u16 Width
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  125        - Width in pixels
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  126      * - __u16 Height
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  127        - Height in pixels
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  128      * - __u16 Framerate
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  129        - Requested frame rate per second
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  130      * - __u16 Trigger
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  131        - Byte 0: bit 0: depth and RGB are synchronised, bit 1: external trigger
9380782b719cdca Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst Dmitry Perchanov      2023-05-09  132      * - __u16 Calibration count
9380782b719cdca Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst Dmitry Perchanov      2023-05-09  133      * - __u8 GPIO input data
9380782b719cdca Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst Dmitry Perchanov      2023-05-09  134        - GPIO readout
9380782b719cdca Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst Dmitry Perchanov      2023-05-09  135        - Supported from FW 5.12.7.0
9380782b719cdca Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst Dmitry Perchanov      2023-05-09  136      * - __u32 Sub-preset info
9380782b719cdca Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst Dmitry Perchanov      2023-05-09  137        - Sub-preset choice information
9380782b719cdca Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst Dmitry Perchanov      2023-05-09  138      * - __u8 reserved
9380782b719cdca Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst Dmitry Perchanov      2023-05-09  139        - RFU byte.
6ea0d588d35b55e Documentation/media/uapi/v4l/pixfmt-meta-d4xx.rst          Guennadi Liakhovetski 2018-08-03  140
  
Dmitry Perchanov May 16, 2023, 8:10 a.m. UTC | #3
On Tue, 2023-05-09 at 11:28 +0300, Sakari Ailus wrote:
> Hi Dmitry,
> 
> Thanks for the patch.
> 
> No need to cc me to my @iki.fi address, I do read both. :-)
Good.
> 
> On Tue, May 09, 2023 at 11:24:53AM +0300, Dmitry Perchanov wrote:
> > Update metadata structure for Intel RealSense UVC/MIPI cameras.
> > Compliant to Intel Configuration version 3.
> > 
> > Signed-off-by: Dmitry Perchanov <dmitry.perchanov@intel.com>
> > ---
> 
> Please detail here what changed between patch versions in future versions
> of the patch.
Intel Configuration:
version 2: gpioInputData added to md_configuration (with its flag)
version 3: sub_preset_info added to md_configuration (with its flag)
> 
> >  .../media/v4l/pixfmt-meta-d4xx.rst            | 19 ++++++++++++++++---
> >  1 file changed, 16 insertions(+), 3 deletions(-)
> > 
> > diff --git a/Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst b/Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst
> > index 4e437ba97a0e..b5decde640c1 100644
> > --- a/Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst
> > +++ b/Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst
> > @@ -12,7 +12,7 @@ Intel D4xx UVC Cameras Metadata
> >  Description
> >  ===========
> >  
> > -Intel D4xx (D435 and other) cameras include per-frame metadata in their UVC
> > +Intel D4xx (D435, D455 and others) cameras include per-frame metadata in their UVC
> >  payload headers, following the Microsoft(R) UVC extension proposal [1_]. That
> >  means, that the private D4XX metadata, following the standard UVC header, is
> >  organised in blocks. D4XX cameras implement several standard block types,
> > @@ -26,6 +26,8 @@ V4L2_META_FMT_UVC with the only difference, that it also includes proprietary
> >  payload header data. D4xx cameras use bulk transfers and only send one payload
> >  per frame, therefore their headers cannot be larger than 255 bytes.
> >  
> > +This document implements Intel Configuration version 3.
> 
> Which version was described here before this patch?
Before that patch it was "Intel Configuration version 1"
> 
> Are there devices that use that presumably different version? Or does
> this depend on e.g. firmware version?
These changes are extensions and backward compatible with old firmware.
Users are notified in case firmware too old and some features disabled.
> 
> > +
> >  Below are proprietary Microsoft style metadata types, used by D4xx cameras,
> >  where all fields are in little endian order:
> >  
> > @@ -43,7 +45,7 @@ where all fields are in little endian order:
> >      * - __u32 ID
> >        - 0x80000000
> >      * - __u32 Size
> > -      - Size in bytes (currently 56)
> > +      - Size in bytes (currently 60)
> >      * - __u32 Version
> >        - Version of this structure. The documentation herein corresponds to
> >          version xxx. The version number will be incremented when new fields are
> > @@ -72,8 +74,11 @@ where all fields are in little endian order:
> >        - Bottom border of the AE Region of Interest
> >      * - __u32 Preset
> >        - Preset selector value, default: 0, unless changed by the user
> > -    * - __u32 Laser mode
> > +    * - __u8 Emitter mode
> >        - 0: off, 1: on
> > +    * - __u8 RFU byte
> > +    * - __u16 LED Power
> > +      - Led power value 0-360 (F416 SKU)
> >      * - :cspan:`1` *Capture Timing*
> >      * - __u32 ID
> >        - 0x80000001
> > @@ -124,6 +129,14 @@ where all fields are in little endian order:
> >        - Requested frame rate per second
> >      * - __u16 Trigger
> >        - Byte 0: bit 0: depth and RGB are synchronised, bit 1: external trigger
> > +    * - __u16 Calibration count
> > +    * - __u8 GPIO input data
> > +      - GPIO readout
> > +      - Supported from FW 5.12.7.0
> > +    * - __u32 Sub-preset info
> > +      - Sub-preset choice information
> > +    * - __u8 reserved
> > +      - RFU byte.
> >  
> >  .. _1:
> >  

---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
  
Sakari Ailus May 16, 2023, 11:54 a.m. UTC | #4
Hi Dmitry,

On Tue, May 16, 2023 at 11:10:02AM +0300, Dmitry Perchanov wrote:
> On Tue, 2023-05-09 at 11:28 +0300, Sakari Ailus wrote:
> > Hi Dmitry,
> > 
> > Thanks for the patch.
> > 
> > No need to cc me to my @iki.fi address, I do read both. :-)
> Good.
> > 
> > On Tue, May 09, 2023 at 11:24:53AM +0300, Dmitry Perchanov wrote:
> > > Update metadata structure for Intel RealSense UVC/MIPI cameras.
> > > Compliant to Intel Configuration version 3.
> > > 
> > > Signed-off-by: Dmitry Perchanov <dmitry.perchanov@intel.com>
> > > ---
> > 
> > Please detail here what changed between patch versions in future versions
> > of the patch.
> Intel Configuration:
> version 2: gpioInputData added to md_configuration (with its flag)
> version 3: sub_preset_info added to md_configuration (with its flag)
> > 
> > >  .../media/v4l/pixfmt-meta-d4xx.rst            | 19 ++++++++++++++++---
> > >  1 file changed, 16 insertions(+), 3 deletions(-)
> > > 
> > > diff --git a/Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst b/Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst
> > > index 4e437ba97a0e..b5decde640c1 100644
> > > --- a/Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst
> > > +++ b/Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst
> > > @@ -12,7 +12,7 @@ Intel D4xx UVC Cameras Metadata
> > >  Description
> > >  ===========
> > >  
> > > -Intel D4xx (D435 and other) cameras include per-frame metadata in their UVC
> > > +Intel D4xx (D435, D455 and others) cameras include per-frame metadata in their UVC
> > >  payload headers, following the Microsoft(R) UVC extension proposal [1_]. That
> > >  means, that the private D4XX metadata, following the standard UVC header, is
> > >  organised in blocks. D4XX cameras implement several standard block types,
> > > @@ -26,6 +26,8 @@ V4L2_META_FMT_UVC with the only difference, that it also includes proprietary
> > >  payload header data. D4xx cameras use bulk transfers and only send one payload
> > >  per frame, therefore their headers cannot be larger than 255 bytes.
> > >  
> > > +This document implements Intel Configuration version 3.
> > 
> > Which version was described here before this patch?
> Before that patch it was "Intel Configuration version 1"
> > 
> > Are there devices that use that presumably different version? Or does
> > this depend on e.g. firmware version?
> These changes are extensions and backward compatible with old firmware.
> Users are notified in case firmware too old and some features disabled.

The "Laser mode" below is replaced by three different fields. Was this a
bug in the document or a change between versions 1 and 3? In the former
case there should be another patch to fix it, in the latter both versions
should continue to be described as they are supported.

> > 
> > > +
> > >  Below are proprietary Microsoft style metadata types, used by D4xx cameras,
> > >  where all fields are in little endian order:
> > >  
> > > @@ -43,7 +45,7 @@ where all fields are in little endian order:
> > >      * - __u32 ID
> > >        - 0x80000000
> > >      * - __u32 Size
> > > -      - Size in bytes (currently 56)
> > > +      - Size in bytes (currently 60)
> > >      * - __u32 Version
> > >        - Version of this structure. The documentation herein corresponds to
> > >          version xxx. The version number will be incremented when new fields are
> > > @@ -72,8 +74,11 @@ where all fields are in little endian order:
> > >        - Bottom border of the AE Region of Interest
> > >      * - __u32 Preset
> > >        - Preset selector value, default: 0, unless changed by the user
> > > -    * - __u32 Laser mode
> > > +    * - __u8 Emitter mode
> > >        - 0: off, 1: on
> > > +    * - __u8 RFU byte
> > > +    * - __u16 LED Power
> > > +      - Led power value 0-360 (F416 SKU)
> > >      * - :cspan:`1` *Capture Timing*
> > >      * - __u32 ID
> > >        - 0x80000001
> > > @@ -124,6 +129,14 @@ where all fields are in little endian order:
> > >        - Requested frame rate per second
> > >      * - __u16 Trigger
> > >        - Byte 0: bit 0: depth and RGB are synchronised, bit 1: external trigger
> > > +    * - __u16 Calibration count
> > > +    * - __u8 GPIO input data
> > > +      - GPIO readout
> > > +      - Supported from FW 5.12.7.0
> > > +    * - __u32 Sub-preset info
> > > +      - Sub-preset choice information
> > > +    * - __u8 reserved
> > > +      - RFU byte.

Could you add to the documentation of these fields they're only valid for
v3?

> > >  
> > >  .. _1:
> > >  
>
  
Dmitry Perchanov June 1, 2023, 2:22 p.m. UTC | #5
Fixed in v3.

On Tue, 2023-05-16 at 11:54 +0000, Sakari Ailus wrote:
> Hi Dmitry,
> 
> On Tue, May 16, 2023 at 11:10:02AM +0300, Dmitry Perchanov wrote:
> > On Tue, 2023-05-09 at 11:28 +0300, Sakari Ailus wrote:
> > > Hi Dmitry,
> > > 
> > > Thanks for the patch.
> > > 
> > > No need to cc me to my @iki.fi address, I do read both. :-)
> > Good.
> > > On Tue, May 09, 2023 at 11:24:53AM +0300, Dmitry Perchanov wrote:
> > > > Update metadata structure for Intel RealSense UVC/MIPI cameras.
> > > > Compliant to Intel Configuration version 3.
> > > > 
> > > > Signed-off-by: Dmitry Perchanov <dmitry.perchanov@intel.com>
> > > > ---
> > > 
> > > Please detail here what changed between patch versions in future versions
> > > of the patch.
> > Intel Configuration:
> > version 2: gpioInputData added to md_configuration (with its flag)
> > version 3: sub_preset_info added to md_configuration (with its flag)
> > > >  .../media/v4l/pixfmt-meta-d4xx.rst            | 19 ++++++++++++++++---
> > > >  1 file changed, 16 insertions(+), 3 deletions(-)
> > > > 
> > > > diff --git a/Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst b/Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst
> > > > index 4e437ba97a0e..b5decde640c1 100644
> > > > --- a/Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst
> > > > +++ b/Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst
> > > > @@ -12,7 +12,7 @@ Intel D4xx UVC Cameras Metadata
> > > >  Description
> > > >  ===========
> > > >  
> > > > -Intel D4xx (D435 and other) cameras include per-frame metadata in their UVC
> > > > +Intel D4xx (D435, D455 and others) cameras include per-frame metadata in their UVC
> > > >  payload headers, following the Microsoft(R) UVC extension proposal [1_]. That
> > > >  means, that the private D4XX metadata, following the standard UVC header, is
> > > >  organised in blocks. D4XX cameras implement several standard block types,
> > > > @@ -26,6 +26,8 @@ V4L2_META_FMT_UVC with the only difference, that it also includes proprietary
> > > >  payload header data. D4xx cameras use bulk transfers and only send one payload
> > > >  per frame, therefore their headers cannot be larger than 255 bytes.
> > > >  
> > > > +This document implements Intel Configuration version 3.
> > > 
> > > Which version was described here before this patch?
> > Before that patch it was "Intel Configuration version 1"
> > > Are there devices that use that presumably different version? Or does
> > > this depend on e.g. firmware version?
> > These changes are extensions and backward compatible with old firmware.
> > Users are notified in case firmware too old and some features disabled.
> 
> The "Laser mode" below is replaced by three different fields. Was this a
> bug in the document or a change between versions 1 and 3? In the former
> case there should be another patch to fix it, in the latter both versions
> should continue to be described as they are supported.
> 
> > > > +
> > > >  Below are proprietary Microsoft style metadata types, used by D4xx cameras,
> > > >  where all fields are in little endian order:
> > > >  
> > > > @@ -43,7 +45,7 @@ where all fields are in little endian order:
> > > >      * - __u32 ID
> > > >        - 0x80000000
> > > >      * - __u32 Size
> > > > -      - Size in bytes (currently 56)
> > > > +      - Size in bytes (currently 60)
> > > >      * - __u32 Version
> > > >        - Version of this structure. The documentation herein corresponds to
> > > >          version xxx. The version number will be incremented when new fields are
> > > > @@ -72,8 +74,11 @@ where all fields are in little endian order:
> > > >        - Bottom border of the AE Region of Interest
> > > >      * - __u32 Preset
> > > >        - Preset selector value, default: 0, unless changed by the user
> > > > -    * - __u32 Laser mode
> > > > +    * - __u8 Emitter mode
> > > >        - 0: off, 1: on
> > > > +    * - __u8 RFU byte
> > > > +    * - __u16 LED Power
> > > > +      - Led power value 0-360 (F416 SKU)
> > > >      * - :cspan:`1` *Capture Timing*
> > > >      * - __u32 ID
> > > >        - 0x80000001
> > > > @@ -124,6 +129,14 @@ where all fields are in little endian order:
> > > >        - Requested frame rate per second
> > > >      * - __u16 Trigger
> > > >        - Byte 0: bit 0: depth and RGB are synchronised, bit 1: external trigger
> > > > +    * - __u16 Calibration count
> > > > +    * - __u8 GPIO input data
> > > > +      - GPIO readout
> > > > +      - Supported from FW 5.12.7.0
> > > > +    * - __u32 Sub-preset info
> > > > +      - Sub-preset choice information
> > > > +    * - __u8 reserved
> > > > +      - RFU byte.
> 
> Could you add to the documentation of these fields they're only valid for
> v3?
> 
> > > >  
> > > >  .. _1:
> > > >  

---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
  
Sakari Ailus June 1, 2023, 2:30 p.m. UTC | #6
Hi Dmitry,

On Thu, Jun 01, 2023 at 05:22:15PM +0300, Dmitry Perchanov wrote:
> Fixed in v3.

Please avoid top-posting.

v3 does not

- differentiate metadata versions 1 and 3,
- elaborate laser mode vs. other fields (bug, change in format or
  otherwise) nor
- lists which fields are only available in v3.

As it appears that devices that use either of these formats continue to be
around, it would be appropriate to document both versions.

On top of this, it seems the document purports the change in size of the
data structure between the versions 1 and 3 to be 4 (60 - 56) but the patch
adds fields with total size of 8 bytes.

Is the firmware versioning the same for all uvc driver supported Realsense
devices?

> 
> On Tue, 2023-05-16 at 11:54 +0000, Sakari Ailus wrote:
> > Hi Dmitry,
> > 
> > On Tue, May 16, 2023 at 11:10:02AM +0300, Dmitry Perchanov wrote:
> > > On Tue, 2023-05-09 at 11:28 +0300, Sakari Ailus wrote:
> > > > Hi Dmitry,
> > > > 
> > > > Thanks for the patch.
> > > > 
> > > > No need to cc me to my @iki.fi address, I do read both. :-)
> > > Good.
> > > > On Tue, May 09, 2023 at 11:24:53AM +0300, Dmitry Perchanov wrote:
> > > > > Update metadata structure for Intel RealSense UVC/MIPI cameras.
> > > > > Compliant to Intel Configuration version 3.
> > > > > 
> > > > > Signed-off-by: Dmitry Perchanov <dmitry.perchanov@intel.com>
> > > > > ---
> > > > 
> > > > Please detail here what changed between patch versions in future versions
> > > > of the patch.
> > > Intel Configuration:
> > > version 2: gpioInputData added to md_configuration (with its flag)
> > > version 3: sub_preset_info added to md_configuration (with its flag)
> > > > >  .../media/v4l/pixfmt-meta-d4xx.rst            | 19 ++++++++++++++++---
> > > > >  1 file changed, 16 insertions(+), 3 deletions(-)
> > > > > 
> > > > > diff --git a/Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst b/Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst
> > > > > index 4e437ba97a0e..b5decde640c1 100644
> > > > > --- a/Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst
> > > > > +++ b/Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst
> > > > > @@ -12,7 +12,7 @@ Intel D4xx UVC Cameras Metadata
> > > > >  Description
> > > > >  ===========
> > > > >  
> > > > > -Intel D4xx (D435 and other) cameras include per-frame metadata in their UVC
> > > > > +Intel D4xx (D435, D455 and others) cameras include per-frame metadata in their UVC
> > > > >  payload headers, following the Microsoft(R) UVC extension proposal [1_]. That
> > > > >  means, that the private D4XX metadata, following the standard UVC header, is
> > > > >  organised in blocks. D4XX cameras implement several standard block types,
> > > > > @@ -26,6 +26,8 @@ V4L2_META_FMT_UVC with the only difference, that it also includes proprietary
> > > > >  payload header data. D4xx cameras use bulk transfers and only send one payload
> > > > >  per frame, therefore their headers cannot be larger than 255 bytes.
> > > > >  
> > > > > +This document implements Intel Configuration version 3.
> > > > 
> > > > Which version was described here before this patch?
> > > Before that patch it was "Intel Configuration version 1"
> > > > Are there devices that use that presumably different version? Or does
> > > > this depend on e.g. firmware version?
> > > These changes are extensions and backward compatible with old firmware.
> > > Users are notified in case firmware too old and some features disabled.
> > 
> > The "Laser mode" below is replaced by three different fields. Was this a
> > bug in the document or a change between versions 1 and 3? In the former
> > case there should be another patch to fix it, in the latter both versions
> > should continue to be described as they are supported.
> > 
> > > > > +
> > > > >  Below are proprietary Microsoft style metadata types, used by D4xx cameras,
> > > > >  where all fields are in little endian order:
> > > > >  
> > > > > @@ -43,7 +45,7 @@ where all fields are in little endian order:
> > > > >      * - __u32 ID
> > > > >        - 0x80000000
> > > > >      * - __u32 Size
> > > > > -      - Size in bytes (currently 56)
> > > > > +      - Size in bytes (currently 60)
> > > > >      * - __u32 Version
> > > > >        - Version of this structure. The documentation herein corresponds to
> > > > >          version xxx. The version number will be incremented when new fields are
> > > > > @@ -72,8 +74,11 @@ where all fields are in little endian order:
> > > > >        - Bottom border of the AE Region of Interest
> > > > >      * - __u32 Preset
> > > > >        - Preset selector value, default: 0, unless changed by the user
> > > > > -    * - __u32 Laser mode
> > > > > +    * - __u8 Emitter mode
> > > > >        - 0: off, 1: on
> > > > > +    * - __u8 RFU byte
> > > > > +    * - __u16 LED Power
> > > > > +      - Led power value 0-360 (F416 SKU)
> > > > >      * - :cspan:`1` *Capture Timing*
> > > > >      * - __u32 ID
> > > > >        - 0x80000001
> > > > > @@ -124,6 +129,14 @@ where all fields are in little endian order:
> > > > >        - Requested frame rate per second
> > > > >      * - __u16 Trigger
> > > > >        - Byte 0: bit 0: depth and RGB are synchronised, bit 1: external trigger
> > > > > +    * - __u16 Calibration count
> > > > > +    * - __u8 GPIO input data
> > > > > +      - GPIO readout
> > > > > +      - Supported from FW 5.12.7.0
> > > > > +    * - __u32 Sub-preset info
> > > > > +      - Sub-preset choice information
> > > > > +    * - __u8 reserved
> > > > > +      - RFU byte.
> > 
> > Could you add to the documentation of these fields they're only valid for
> > v3?
> > 
> > > > >  
> > > > >  .. _1:
> > > > >  
>
  

Patch

diff --git a/Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst b/Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst
index 4e437ba97a0e..b5decde640c1 100644
--- a/Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst
+++ b/Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst
@@ -12,7 +12,7 @@  Intel D4xx UVC Cameras Metadata
 Description
 ===========
 
-Intel D4xx (D435 and other) cameras include per-frame metadata in their UVC
+Intel D4xx (D435, D455 and others) cameras include per-frame metadata in their UVC
 payload headers, following the Microsoft(R) UVC extension proposal [1_]. That
 means, that the private D4XX metadata, following the standard UVC header, is
 organised in blocks. D4XX cameras implement several standard block types,
@@ -26,6 +26,8 @@  V4L2_META_FMT_UVC with the only difference, that it also includes proprietary
 payload header data. D4xx cameras use bulk transfers and only send one payload
 per frame, therefore their headers cannot be larger than 255 bytes.
 
+This document implements Intel Configuration version 3.
+
 Below are proprietary Microsoft style metadata types, used by D4xx cameras,
 where all fields are in little endian order:
 
@@ -43,7 +45,7 @@  where all fields are in little endian order:
     * - __u32 ID
       - 0x80000000
     * - __u32 Size
-      - Size in bytes (currently 56)
+      - Size in bytes (currently 60)
     * - __u32 Version
       - Version of this structure. The documentation herein corresponds to
         version xxx. The version number will be incremented when new fields are
@@ -72,8 +74,11 @@  where all fields are in little endian order:
       - Bottom border of the AE Region of Interest
     * - __u32 Preset
       - Preset selector value, default: 0, unless changed by the user
-    * - __u32 Laser mode
+    * - __u8 Emitter mode
       - 0: off, 1: on
+    * - __u8 RFU byte
+    * - __u16 LED Power
+      - Led power value 0-360 (F416 SKU)
     * - :cspan:`1` *Capture Timing*
     * - __u32 ID
       - 0x80000001
@@ -124,6 +129,14 @@  where all fields are in little endian order:
       - Requested frame rate per second
     * - __u16 Trigger
       - Byte 0: bit 0: depth and RGB are synchronised, bit 1: external trigger
+    * - __u16 Calibration count
+    * - __u8 GPIO input data
+      - GPIO readout
+      - Supported from FW 5.12.7.0
+    * - __u32 Sub-preset info
+      - Sub-preset choice information
+    * - __u8 reserved
+      - RFU byte.
 
 .. _1: