Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) ******************
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) Compressed Formats
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) ******************
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) .. _compressed-formats:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) .. flat-table:: Compressed Image Formats
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13)     :header-rows:  1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14)     :stub-columns: 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15)     :widths:       3 1 4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17)     * - Identifier
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18)       - Code
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19)       - Details
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20)     * .. _V4L2-PIX-FMT-JPEG:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22)       - ``V4L2_PIX_FMT_JPEG``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23)       - 'JPEG'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24)       - TBD. See also :ref:`VIDIOC_G_JPEGCOMP <VIDIOC_G_JPEGCOMP>`,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) 	:ref:`VIDIOC_S_JPEGCOMP <VIDIOC_G_JPEGCOMP>`.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26)     * .. _V4L2-PIX-FMT-MPEG:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28)       - ``V4L2_PIX_FMT_MPEG``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29)       - 'MPEG'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30)       - MPEG multiplexed stream. The actual format is determined by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) 	extended control ``V4L2_CID_MPEG_STREAM_TYPE``, see
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) 	:ref:`mpeg-control-id`.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33)     * .. _V4L2-PIX-FMT-H264:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35)       - ``V4L2_PIX_FMT_H264``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36)       - 'H264'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37)       - H264 Access Unit.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) 	The decoder expects one Access Unit per buffer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) 	The encoder generates one Access Unit per buffer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) 	If :ref:`VIDIOC_ENUM_FMT` reports ``V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 	then the decoder has no requirements since it can parse all the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) 	information from the raw bytestream.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43)     * .. _V4L2-PIX-FMT-H264-NO-SC:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45)       - ``V4L2_PIX_FMT_H264_NO_SC``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46)       - 'AVC1'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47)       - H264 video elementary stream without start codes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48)     * .. _V4L2-PIX-FMT-H264-MVC:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50)       - ``V4L2_PIX_FMT_H264_MVC``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51)       - 'M264'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52)       - H264 MVC video elementary stream.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53)     * .. _V4L2-PIX-FMT-H264-SLICE:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55)       - ``V4L2_PIX_FMT_H264_SLICE``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56)       - 'S264'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57)       - H264 parsed slice data, including slice headers, either with or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 	without the start code, as extracted from the H264 bitstream.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) 	This format is adapted for stateless video decoders that implement an
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 	H264 pipeline (using the :ref:`mem2mem` and :ref:`media-request-api`).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 	This pixelformat has two modifiers that must be set at least once
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) 	through the ``V4L2_CID_MPEG_VIDEO_H264_DECODE_MODE``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63)         and ``V4L2_CID_MPEG_VIDEO_H264_START_CODE`` controls.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 	In addition, metadata associated with the frame to decode are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) 	required to be passed through the ``V4L2_CID_MPEG_VIDEO_H264_SPS``,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 	``V4L2_CID_MPEG_VIDEO_H264_PPS``,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 	``V4L2_CID_MPEG_VIDEO_H264_SCALING_MATRIX``,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) 	``V4L2_CID_MPEG_VIDEO_H264_SLICE_PARAMS`` and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 	``V4L2_CID_MPEG_VIDEO_H264_DECODE_PARAMS`` controls.  See the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 	:ref:`associated Codec Control IDs <v4l2-mpeg-h264>`.  Exactly
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 	one output and one capture buffer must be provided for use
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 	with this pixel format. The output buffer must contain the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) 	appropriate number of macroblocks to decode a full
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 	corresponding frame to the matching capture buffer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) 	The syntax for this format is documented in :ref:`h264`, section
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) 	7.3.2.8 "Slice layer without partitioning RBSP syntax" and the following
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) 	sections.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) 	.. note::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) 	   This format is not yet part of the public kernel API and it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) 	   is expected to change.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85)     * .. _V4L2-PIX-FMT-H263:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87)       - ``V4L2_PIX_FMT_H263``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88)       - 'H263'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89)       - H263 video elementary stream.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90)     * .. _V4L2-PIX-FMT-MPEG1:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92)       - ``V4L2_PIX_FMT_MPEG1``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93)       - 'MPG1'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94)       - MPEG1 Picture. Each buffer starts with a Picture header, followed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 	by other headers as needed and ending with the Picture data.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 	If :ref:`VIDIOC_ENUM_FMT` reports ``V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 	then the decoder has no requirements since it can parse all the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) 	information from the raw bytestream.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99)     * .. _V4L2-PIX-FMT-MPEG2:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101)       - ``V4L2_PIX_FMT_MPEG2``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102)       - 'MPG2'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103)       - MPEG2 Picture. Each buffer starts with a Picture header, followed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) 	by other headers as needed and ending with the Picture data.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) 	If :ref:`VIDIOC_ENUM_FMT` reports ``V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) 	then the decoder has no requirements since it can parse all the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) 	information from the raw bytestream.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108)     * .. _V4L2-PIX-FMT-MPEG2-SLICE:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110)       - ``V4L2_PIX_FMT_MPEG2_SLICE``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111)       - 'MG2S'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112)       - MPEG-2 parsed slice data, as extracted from the MPEG-2 bitstream.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) 	This format is adapted for stateless video decoders that implement a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) 	MPEG-2 pipeline (using the :ref:`mem2mem` and :ref:`media-request-api`).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) 	Metadata associated with the frame to decode is required to be passed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) 	through the ``V4L2_CID_MPEG_VIDEO_MPEG2_SLICE_PARAMS`` control and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) 	quantization matrices can optionally be specified through the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) 	``V4L2_CID_MPEG_VIDEO_MPEG2_QUANTIZATION`` control.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) 	See the :ref:`associated Codec Control IDs <v4l2-mpeg-mpeg2>`.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) 	Exactly one output and one capture buffer must be provided for use with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) 	this pixel format. The output buffer must contain the appropriate number
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) 	of macroblocks to decode a full corresponding frame to the matching
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) 	capture buffer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124)     * .. _V4L2-PIX-FMT-MPEG4:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126)       - ``V4L2_PIX_FMT_MPEG4``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127)       - 'MPG4'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128)       - MPEG4 video elementary stream.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129)     * .. _V4L2-PIX-FMT-XVID:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131)       - ``V4L2_PIX_FMT_XVID``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132)       - 'XVID'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133)       - Xvid video elementary stream.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134)     * .. _V4L2-PIX-FMT-VC1-ANNEX-G:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136)       - ``V4L2_PIX_FMT_VC1_ANNEX_G``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137)       - 'VC1G'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138)       - VC1, SMPTE 421M Annex G compliant stream.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139)     * .. _V4L2-PIX-FMT-VC1-ANNEX-L:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141)       - ``V4L2_PIX_FMT_VC1_ANNEX_L``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142)       - 'VC1L'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143)       - VC1, SMPTE 421M Annex L compliant stream.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144)     * .. _V4L2-PIX-FMT-VP8:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146)       - ``V4L2_PIX_FMT_VP8``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147)       - 'VP80'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148)       - VP8 compressed video frame. The encoder generates one
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) 	compressed frame per buffer, and the decoder requires one
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) 	compressed frame per buffer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151)     * .. _V4L2-PIX-FMT-VP8-FRAME:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153)       - ``V4L2_PIX_FMT_VP8_FRAME``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154)       - 'VP8F'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155)       - VP8 parsed frame, as extracted from the container.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) 	This format is adapted for stateless video decoders that implement a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) 	VP8 pipeline (using the :ref:`mem2mem` and :ref:`media-request-api`).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) 	Metadata associated with the frame to decode is required to be passed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) 	through the ``V4L2_CID_MPEG_VIDEO_VP8_FRAME_HEADER`` control.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) 	See the :ref:`associated Codec Control IDs <v4l2-mpeg-vp8>`.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) 	Exactly one output and one capture buffer must be provided for use with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) 	this pixel format. The output buffer must contain the appropriate number
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) 	of macroblocks to decode a full corresponding frame to the matching
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) 	capture buffer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) 	.. note::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) 	   This format is not yet part of the public kernel API and it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) 	   is expected to change.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171)     * .. _V4L2-PIX-FMT-VP9:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173)       - ``V4L2_PIX_FMT_VP9``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174)       - 'VP90'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175)       - VP9 compressed video frame. The encoder generates one
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) 	compressed frame per buffer, and the decoder requires one
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) 	compressed frame per buffer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178)     * .. _V4L2-PIX-FMT-HEVC:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180)       - ``V4L2_PIX_FMT_HEVC``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181)       - 'HEVC'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182)       - HEVC/H.265 Access Unit.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) 	The decoder expects one Access Unit per buffer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) 	The encoder generates one Access Unit per buffer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) 	If :ref:`VIDIOC_ENUM_FMT` reports ``V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) 	then the decoder has no	requirements since it can parse all the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) 	information from the raw bytestream.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188)     * .. _V4L2-PIX-FMT-HEVC-SLICE:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190)       - ``V4L2_PIX_FMT_HEVC_SLICE``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191)       - 'S265'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192)       - HEVC parsed slice data, as extracted from the HEVC bitstream.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) 	This format is adapted for stateless video decoders that implement a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) 	HEVC pipeline (using the :ref:`mem2mem` and :ref:`media-request-api`).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) 	This pixelformat has two modifiers that must be set at least once
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) 	through the ``V4L2_CID_MPEG_VIDEO_HEVC_DECODE_MODE``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197)         and ``V4L2_CID_MPEG_VIDEO_HEVC_START_CODE`` controls.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) 	Metadata associated with the frame to decode is required to be passed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) 	through the following controls :
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200)         * ``V4L2_CID_MPEG_VIDEO_HEVC_SPS``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201)         * ``V4L2_CID_MPEG_VIDEO_HEVC_PPS``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202)         * ``V4L2_CID_MPEG_VIDEO_HEVC_SLICE_PARAMS``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) 	See the :ref:`associated Codec Control IDs <v4l2-mpeg-hevc>`.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) 	Buffers associated with this pixel format must contain the appropriate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) 	number of macroblocks to decode a full corresponding frame.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) 	.. note::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) 	   This format is not yet part of the public kernel API and it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) 	   is expected to change.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211)     * .. _V4L2-PIX-FMT-FWHT:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213)       - ``V4L2_PIX_FMT_FWHT``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214)       - 'FWHT'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215)       - Video elementary stream using a codec based on the Fast Walsh Hadamard
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216)         Transform. This codec is implemented by the vicodec ('Virtual Codec')
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) 	driver. See the codec-fwht.h header for more details.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) 	:ref:`VIDIOC_ENUM_FMT` reports ``V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) 	since the decoder can parse all the information from the raw bytestream.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220)     * .. _V4L2-PIX-FMT-FWHT-STATELESS:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222)       - ``V4L2_PIX_FMT_FWHT_STATELESS``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223)       - 'SFWH'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224)       - Same format as V4L2_PIX_FMT_FWHT but requires stateless codec implementation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) 	See the :ref:`associated Codec Control IDs <v4l2-mpeg-fwht>`.