18c2ecf20Sopenharmony_ci.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ci.. _mpeg-controls:
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci***********************
68c2ecf20Sopenharmony_ciCodec Control Reference
78c2ecf20Sopenharmony_ci***********************
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ciBelow all controls within the Codec control class are described. First
108c2ecf20Sopenharmony_cithe generic controls, then controls specific for certain hardware.
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci.. note::
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci   These controls are applicable to all codecs and not just MPEG. The
158c2ecf20Sopenharmony_ci   defines are prefixed with V4L2_CID_MPEG/V4L2_MPEG as the controls
168c2ecf20Sopenharmony_ci   were originally made for MPEG codecs and later extended to cover all
178c2ecf20Sopenharmony_ci   encoding formats.
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciGeneric Codec Controls
218c2ecf20Sopenharmony_ci======================
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci.. _mpeg-control-id:
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ciCodec Control IDs
278c2ecf20Sopenharmony_ci-----------------
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_CLASS (class)``
308c2ecf20Sopenharmony_ci    The Codec class descriptor. Calling
318c2ecf20Sopenharmony_ci    :ref:`VIDIOC_QUERYCTRL` for this control will
328c2ecf20Sopenharmony_ci    return a description of this control class. This description can be
338c2ecf20Sopenharmony_ci    used as the caption of a Tab page in a GUI, for example.
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci.. _v4l2-mpeg-stream-type:
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_STREAM_TYPE``
388c2ecf20Sopenharmony_ci    (enum)
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_cienum v4l2_mpeg_stream_type -
418c2ecf20Sopenharmony_ci    The MPEG-1, -2 or -4 output stream type. One cannot assume anything
428c2ecf20Sopenharmony_ci    here. Each hardware MPEG encoder tends to support different subsets
438c2ecf20Sopenharmony_ci    of the available MPEG stream types. This control is specific to
448c2ecf20Sopenharmony_ci    multiplexed MPEG streams. The currently defined stream types are:
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci.. flat-table::
498c2ecf20Sopenharmony_ci    :header-rows:  0
508c2ecf20Sopenharmony_ci    :stub-columns: 0
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_STREAM_TYPE_MPEG2_PS``
538c2ecf20Sopenharmony_ci      - MPEG-2 program stream
548c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_STREAM_TYPE_MPEG2_TS``
558c2ecf20Sopenharmony_ci      - MPEG-2 transport stream
568c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_STREAM_TYPE_MPEG1_SS``
578c2ecf20Sopenharmony_ci      - MPEG-1 system stream
588c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_STREAM_TYPE_MPEG2_DVD``
598c2ecf20Sopenharmony_ci      - MPEG-2 DVD-compatible stream
608c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_STREAM_TYPE_MPEG1_VCD``
618c2ecf20Sopenharmony_ci      - MPEG-1 VCD-compatible stream
628c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD``
638c2ecf20Sopenharmony_ci      - MPEG-2 SVCD-compatible stream
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_STREAM_PID_PMT (integer)``
688c2ecf20Sopenharmony_ci    Program Map Table Packet ID for the MPEG transport stream (default
698c2ecf20Sopenharmony_ci    16)
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_STREAM_PID_AUDIO (integer)``
728c2ecf20Sopenharmony_ci    Audio Packet ID for the MPEG transport stream (default 256)
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_STREAM_PID_VIDEO (integer)``
758c2ecf20Sopenharmony_ci    Video Packet ID for the MPEG transport stream (default 260)
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_STREAM_PID_PCR (integer)``
788c2ecf20Sopenharmony_ci    Packet ID for the MPEG transport stream carrying PCR fields (default
798c2ecf20Sopenharmony_ci    259)
808c2ecf20Sopenharmony_ci
818c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_STREAM_PES_ID_AUDIO (integer)``
828c2ecf20Sopenharmony_ci    Audio ID for MPEG PES
838c2ecf20Sopenharmony_ci
848c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_STREAM_PES_ID_VIDEO (integer)``
858c2ecf20Sopenharmony_ci    Video ID for MPEG PES
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ci.. _v4l2-mpeg-stream-vbi-fmt:
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_STREAM_VBI_FMT``
908c2ecf20Sopenharmony_ci    (enum)
918c2ecf20Sopenharmony_ci
928c2ecf20Sopenharmony_cienum v4l2_mpeg_stream_vbi_fmt -
938c2ecf20Sopenharmony_ci    Some cards can embed VBI data (e. g. Closed Caption, Teletext) into
948c2ecf20Sopenharmony_ci    the MPEG stream. This control selects whether VBI data should be
958c2ecf20Sopenharmony_ci    embedded, and if so, what embedding method should be used. The list
968c2ecf20Sopenharmony_ci    of possible VBI formats depends on the driver. The currently defined
978c2ecf20Sopenharmony_ci    VBI format types are:
988c2ecf20Sopenharmony_ci
998c2ecf20Sopenharmony_ci
1008c2ecf20Sopenharmony_ci
1018c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{6.6 cm}|p{10.9cm}|
1028c2ecf20Sopenharmony_ci
1038c2ecf20Sopenharmony_ci.. flat-table::
1048c2ecf20Sopenharmony_ci    :header-rows:  0
1058c2ecf20Sopenharmony_ci    :stub-columns: 0
1068c2ecf20Sopenharmony_ci
1078c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_STREAM_VBI_FMT_NONE``
1088c2ecf20Sopenharmony_ci      - No VBI in the MPEG stream
1098c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_STREAM_VBI_FMT_IVTV``
1108c2ecf20Sopenharmony_ci      - VBI in private packets, IVTV format (documented in the kernel
1118c2ecf20Sopenharmony_ci	sources in the file
1128c2ecf20Sopenharmony_ci	``Documentation/userspace-api/media/drivers/cx2341x-uapi.rst``)
1138c2ecf20Sopenharmony_ci
1148c2ecf20Sopenharmony_ci
1158c2ecf20Sopenharmony_ci
1168c2ecf20Sopenharmony_ci.. _v4l2-mpeg-audio-sampling-freq:
1178c2ecf20Sopenharmony_ci
1188c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ``
1198c2ecf20Sopenharmony_ci    (enum)
1208c2ecf20Sopenharmony_ci
1218c2ecf20Sopenharmony_cienum v4l2_mpeg_audio_sampling_freq -
1228c2ecf20Sopenharmony_ci    MPEG Audio sampling frequency. Possible values are:
1238c2ecf20Sopenharmony_ci
1248c2ecf20Sopenharmony_ci
1258c2ecf20Sopenharmony_ci
1268c2ecf20Sopenharmony_ci.. flat-table::
1278c2ecf20Sopenharmony_ci    :header-rows:  0
1288c2ecf20Sopenharmony_ci    :stub-columns: 0
1298c2ecf20Sopenharmony_ci
1308c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100``
1318c2ecf20Sopenharmony_ci      - 44.1 kHz
1328c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000``
1338c2ecf20Sopenharmony_ci      - 48 kHz
1348c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000``
1358c2ecf20Sopenharmony_ci      - 32 kHz
1368c2ecf20Sopenharmony_ci
1378c2ecf20Sopenharmony_ci
1388c2ecf20Sopenharmony_ci
1398c2ecf20Sopenharmony_ci.. _v4l2-mpeg-audio-encoding:
1408c2ecf20Sopenharmony_ci
1418c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_AUDIO_ENCODING``
1428c2ecf20Sopenharmony_ci    (enum)
1438c2ecf20Sopenharmony_ci
1448c2ecf20Sopenharmony_cienum v4l2_mpeg_audio_encoding -
1458c2ecf20Sopenharmony_ci    MPEG Audio encoding. This control is specific to multiplexed MPEG
1468c2ecf20Sopenharmony_ci    streams. Possible values are:
1478c2ecf20Sopenharmony_ci
1488c2ecf20Sopenharmony_ci
1498c2ecf20Sopenharmony_ci
1508c2ecf20Sopenharmony_ci.. flat-table::
1518c2ecf20Sopenharmony_ci    :header-rows:  0
1528c2ecf20Sopenharmony_ci    :stub-columns: 0
1538c2ecf20Sopenharmony_ci
1548c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_ENCODING_LAYER_1``
1558c2ecf20Sopenharmony_ci      - MPEG-1/2 Layer I encoding
1568c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_ENCODING_LAYER_2``
1578c2ecf20Sopenharmony_ci      - MPEG-1/2 Layer II encoding
1588c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_ENCODING_LAYER_3``
1598c2ecf20Sopenharmony_ci      - MPEG-1/2 Layer III encoding
1608c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_ENCODING_AAC``
1618c2ecf20Sopenharmony_ci      - MPEG-2/4 AAC (Advanced Audio Coding)
1628c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_ENCODING_AC3``
1638c2ecf20Sopenharmony_ci      - AC-3 aka ATSC A/52 encoding
1648c2ecf20Sopenharmony_ci
1658c2ecf20Sopenharmony_ci
1668c2ecf20Sopenharmony_ci
1678c2ecf20Sopenharmony_ci.. _v4l2-mpeg-audio-l1-bitrate:
1688c2ecf20Sopenharmony_ci
1698c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_AUDIO_L1_BITRATE``
1708c2ecf20Sopenharmony_ci    (enum)
1718c2ecf20Sopenharmony_ci
1728c2ecf20Sopenharmony_cienum v4l2_mpeg_audio_l1_bitrate -
1738c2ecf20Sopenharmony_ci    MPEG-1/2 Layer I bitrate. Possible values are:
1748c2ecf20Sopenharmony_ci
1758c2ecf20Sopenharmony_ci
1768c2ecf20Sopenharmony_ci
1778c2ecf20Sopenharmony_ci.. flat-table::
1788c2ecf20Sopenharmony_ci    :header-rows:  0
1798c2ecf20Sopenharmony_ci    :stub-columns: 0
1808c2ecf20Sopenharmony_ci
1818c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L1_BITRATE_32K``
1828c2ecf20Sopenharmony_ci      - 32 kbit/s
1838c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L1_BITRATE_64K``
1848c2ecf20Sopenharmony_ci      - 64 kbit/s
1858c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L1_BITRATE_96K``
1868c2ecf20Sopenharmony_ci      - 96 kbit/s
1878c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L1_BITRATE_128K``
1888c2ecf20Sopenharmony_ci      - 128 kbit/s
1898c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L1_BITRATE_160K``
1908c2ecf20Sopenharmony_ci      - 160 kbit/s
1918c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L1_BITRATE_192K``
1928c2ecf20Sopenharmony_ci      - 192 kbit/s
1938c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L1_BITRATE_224K``
1948c2ecf20Sopenharmony_ci      - 224 kbit/s
1958c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L1_BITRATE_256K``
1968c2ecf20Sopenharmony_ci      - 256 kbit/s
1978c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L1_BITRATE_288K``
1988c2ecf20Sopenharmony_ci      - 288 kbit/s
1998c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L1_BITRATE_320K``
2008c2ecf20Sopenharmony_ci      - 320 kbit/s
2018c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L1_BITRATE_352K``
2028c2ecf20Sopenharmony_ci      - 352 kbit/s
2038c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L1_BITRATE_384K``
2048c2ecf20Sopenharmony_ci      - 384 kbit/s
2058c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L1_BITRATE_416K``
2068c2ecf20Sopenharmony_ci      - 416 kbit/s
2078c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L1_BITRATE_448K``
2088c2ecf20Sopenharmony_ci      - 448 kbit/s
2098c2ecf20Sopenharmony_ci
2108c2ecf20Sopenharmony_ci
2118c2ecf20Sopenharmony_ci
2128c2ecf20Sopenharmony_ci.. _v4l2-mpeg-audio-l2-bitrate:
2138c2ecf20Sopenharmony_ci
2148c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_AUDIO_L2_BITRATE``
2158c2ecf20Sopenharmony_ci    (enum)
2168c2ecf20Sopenharmony_ci
2178c2ecf20Sopenharmony_cienum v4l2_mpeg_audio_l2_bitrate -
2188c2ecf20Sopenharmony_ci    MPEG-1/2 Layer II bitrate. Possible values are:
2198c2ecf20Sopenharmony_ci
2208c2ecf20Sopenharmony_ci
2218c2ecf20Sopenharmony_ci
2228c2ecf20Sopenharmony_ci.. flat-table::
2238c2ecf20Sopenharmony_ci    :header-rows:  0
2248c2ecf20Sopenharmony_ci    :stub-columns: 0
2258c2ecf20Sopenharmony_ci
2268c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L2_BITRATE_32K``
2278c2ecf20Sopenharmony_ci      - 32 kbit/s
2288c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L2_BITRATE_48K``
2298c2ecf20Sopenharmony_ci      - 48 kbit/s
2308c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L2_BITRATE_56K``
2318c2ecf20Sopenharmony_ci      - 56 kbit/s
2328c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L2_BITRATE_64K``
2338c2ecf20Sopenharmony_ci      - 64 kbit/s
2348c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L2_BITRATE_80K``
2358c2ecf20Sopenharmony_ci      - 80 kbit/s
2368c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L2_BITRATE_96K``
2378c2ecf20Sopenharmony_ci      - 96 kbit/s
2388c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L2_BITRATE_112K``
2398c2ecf20Sopenharmony_ci      - 112 kbit/s
2408c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L2_BITRATE_128K``
2418c2ecf20Sopenharmony_ci      - 128 kbit/s
2428c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L2_BITRATE_160K``
2438c2ecf20Sopenharmony_ci      - 160 kbit/s
2448c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L2_BITRATE_192K``
2458c2ecf20Sopenharmony_ci      - 192 kbit/s
2468c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L2_BITRATE_224K``
2478c2ecf20Sopenharmony_ci      - 224 kbit/s
2488c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L2_BITRATE_256K``
2498c2ecf20Sopenharmony_ci      - 256 kbit/s
2508c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L2_BITRATE_320K``
2518c2ecf20Sopenharmony_ci      - 320 kbit/s
2528c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L2_BITRATE_384K``
2538c2ecf20Sopenharmony_ci      - 384 kbit/s
2548c2ecf20Sopenharmony_ci
2558c2ecf20Sopenharmony_ci
2568c2ecf20Sopenharmony_ci
2578c2ecf20Sopenharmony_ci.. _v4l2-mpeg-audio-l3-bitrate:
2588c2ecf20Sopenharmony_ci
2598c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_AUDIO_L3_BITRATE``
2608c2ecf20Sopenharmony_ci    (enum)
2618c2ecf20Sopenharmony_ci
2628c2ecf20Sopenharmony_cienum v4l2_mpeg_audio_l3_bitrate -
2638c2ecf20Sopenharmony_ci    MPEG-1/2 Layer III bitrate. Possible values are:
2648c2ecf20Sopenharmony_ci
2658c2ecf20Sopenharmony_ci
2668c2ecf20Sopenharmony_ci
2678c2ecf20Sopenharmony_ci.. flat-table::
2688c2ecf20Sopenharmony_ci    :header-rows:  0
2698c2ecf20Sopenharmony_ci    :stub-columns: 0
2708c2ecf20Sopenharmony_ci
2718c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L3_BITRATE_32K``
2728c2ecf20Sopenharmony_ci      - 32 kbit/s
2738c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L3_BITRATE_40K``
2748c2ecf20Sopenharmony_ci      - 40 kbit/s
2758c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L3_BITRATE_48K``
2768c2ecf20Sopenharmony_ci      - 48 kbit/s
2778c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L3_BITRATE_56K``
2788c2ecf20Sopenharmony_ci      - 56 kbit/s
2798c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L3_BITRATE_64K``
2808c2ecf20Sopenharmony_ci      - 64 kbit/s
2818c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L3_BITRATE_80K``
2828c2ecf20Sopenharmony_ci      - 80 kbit/s
2838c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L3_BITRATE_96K``
2848c2ecf20Sopenharmony_ci      - 96 kbit/s
2858c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L3_BITRATE_112K``
2868c2ecf20Sopenharmony_ci      - 112 kbit/s
2878c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L3_BITRATE_128K``
2888c2ecf20Sopenharmony_ci      - 128 kbit/s
2898c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L3_BITRATE_160K``
2908c2ecf20Sopenharmony_ci      - 160 kbit/s
2918c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L3_BITRATE_192K``
2928c2ecf20Sopenharmony_ci      - 192 kbit/s
2938c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L3_BITRATE_224K``
2948c2ecf20Sopenharmony_ci      - 224 kbit/s
2958c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L3_BITRATE_256K``
2968c2ecf20Sopenharmony_ci      - 256 kbit/s
2978c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L3_BITRATE_320K``
2988c2ecf20Sopenharmony_ci      - 320 kbit/s
2998c2ecf20Sopenharmony_ci
3008c2ecf20Sopenharmony_ci
3018c2ecf20Sopenharmony_ci
3028c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_AUDIO_AAC_BITRATE (integer)``
3038c2ecf20Sopenharmony_ci    AAC bitrate in bits per second.
3048c2ecf20Sopenharmony_ci
3058c2ecf20Sopenharmony_ci.. _v4l2-mpeg-audio-ac3-bitrate:
3068c2ecf20Sopenharmony_ci
3078c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_AUDIO_AC3_BITRATE``
3088c2ecf20Sopenharmony_ci    (enum)
3098c2ecf20Sopenharmony_ci
3108c2ecf20Sopenharmony_cienum v4l2_mpeg_audio_ac3_bitrate -
3118c2ecf20Sopenharmony_ci    AC-3 bitrate. Possible values are:
3128c2ecf20Sopenharmony_ci
3138c2ecf20Sopenharmony_ci
3148c2ecf20Sopenharmony_ci
3158c2ecf20Sopenharmony_ci.. flat-table::
3168c2ecf20Sopenharmony_ci    :header-rows:  0
3178c2ecf20Sopenharmony_ci    :stub-columns: 0
3188c2ecf20Sopenharmony_ci
3198c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_32K``
3208c2ecf20Sopenharmony_ci      - 32 kbit/s
3218c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_40K``
3228c2ecf20Sopenharmony_ci      - 40 kbit/s
3238c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_48K``
3248c2ecf20Sopenharmony_ci      - 48 kbit/s
3258c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_56K``
3268c2ecf20Sopenharmony_ci      - 56 kbit/s
3278c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_64K``
3288c2ecf20Sopenharmony_ci      - 64 kbit/s
3298c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_80K``
3308c2ecf20Sopenharmony_ci      - 80 kbit/s
3318c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_96K``
3328c2ecf20Sopenharmony_ci      - 96 kbit/s
3338c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_112K``
3348c2ecf20Sopenharmony_ci      - 112 kbit/s
3358c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_128K``
3368c2ecf20Sopenharmony_ci      - 128 kbit/s
3378c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_160K``
3388c2ecf20Sopenharmony_ci      - 160 kbit/s
3398c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_192K``
3408c2ecf20Sopenharmony_ci      - 192 kbit/s
3418c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_224K``
3428c2ecf20Sopenharmony_ci      - 224 kbit/s
3438c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_256K``
3448c2ecf20Sopenharmony_ci      - 256 kbit/s
3458c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_320K``
3468c2ecf20Sopenharmony_ci      - 320 kbit/s
3478c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_384K``
3488c2ecf20Sopenharmony_ci      - 384 kbit/s
3498c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_448K``
3508c2ecf20Sopenharmony_ci      - 448 kbit/s
3518c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_512K``
3528c2ecf20Sopenharmony_ci      - 512 kbit/s
3538c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_576K``
3548c2ecf20Sopenharmony_ci      - 576 kbit/s
3558c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_640K``
3568c2ecf20Sopenharmony_ci      - 640 kbit/s
3578c2ecf20Sopenharmony_ci
3588c2ecf20Sopenharmony_ci
3598c2ecf20Sopenharmony_ci
3608c2ecf20Sopenharmony_ci.. _v4l2-mpeg-audio-mode:
3618c2ecf20Sopenharmony_ci
3628c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_AUDIO_MODE``
3638c2ecf20Sopenharmony_ci    (enum)
3648c2ecf20Sopenharmony_ci
3658c2ecf20Sopenharmony_cienum v4l2_mpeg_audio_mode -
3668c2ecf20Sopenharmony_ci    MPEG Audio mode. Possible values are:
3678c2ecf20Sopenharmony_ci
3688c2ecf20Sopenharmony_ci
3698c2ecf20Sopenharmony_ci
3708c2ecf20Sopenharmony_ci.. flat-table::
3718c2ecf20Sopenharmony_ci    :header-rows:  0
3728c2ecf20Sopenharmony_ci    :stub-columns: 0
3738c2ecf20Sopenharmony_ci
3748c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_MODE_STEREO``
3758c2ecf20Sopenharmony_ci      - Stereo
3768c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_MODE_JOINT_STEREO``
3778c2ecf20Sopenharmony_ci      - Joint Stereo
3788c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_MODE_DUAL``
3798c2ecf20Sopenharmony_ci      - Bilingual
3808c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_MODE_MONO``
3818c2ecf20Sopenharmony_ci      - Mono
3828c2ecf20Sopenharmony_ci
3838c2ecf20Sopenharmony_ci
3848c2ecf20Sopenharmony_ci
3858c2ecf20Sopenharmony_ci.. _v4l2-mpeg-audio-mode-extension:
3868c2ecf20Sopenharmony_ci
3878c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_AUDIO_MODE_EXTENSION``
3888c2ecf20Sopenharmony_ci    (enum)
3898c2ecf20Sopenharmony_ci
3908c2ecf20Sopenharmony_cienum v4l2_mpeg_audio_mode_extension -
3918c2ecf20Sopenharmony_ci    Joint Stereo audio mode extension. In Layer I and II they indicate
3928c2ecf20Sopenharmony_ci    which subbands are in intensity stereo. All other subbands are coded
3938c2ecf20Sopenharmony_ci    in stereo. Layer III is not (yet) supported. Possible values are:
3948c2ecf20Sopenharmony_ci
3958c2ecf20Sopenharmony_ci
3968c2ecf20Sopenharmony_ci
3978c2ecf20Sopenharmony_ci.. flat-table::
3988c2ecf20Sopenharmony_ci    :header-rows:  0
3998c2ecf20Sopenharmony_ci    :stub-columns: 0
4008c2ecf20Sopenharmony_ci
4018c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4``
4028c2ecf20Sopenharmony_ci      - Subbands 4-31 in intensity stereo
4038c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8``
4048c2ecf20Sopenharmony_ci      - Subbands 8-31 in intensity stereo
4058c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12``
4068c2ecf20Sopenharmony_ci      - Subbands 12-31 in intensity stereo
4078c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16``
4088c2ecf20Sopenharmony_ci      - Subbands 16-31 in intensity stereo
4098c2ecf20Sopenharmony_ci
4108c2ecf20Sopenharmony_ci
4118c2ecf20Sopenharmony_ci
4128c2ecf20Sopenharmony_ci.. _v4l2-mpeg-audio-emphasis:
4138c2ecf20Sopenharmony_ci
4148c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_AUDIO_EMPHASIS``
4158c2ecf20Sopenharmony_ci    (enum)
4168c2ecf20Sopenharmony_ci
4178c2ecf20Sopenharmony_cienum v4l2_mpeg_audio_emphasis -
4188c2ecf20Sopenharmony_ci    Audio Emphasis. Possible values are:
4198c2ecf20Sopenharmony_ci
4208c2ecf20Sopenharmony_ci
4218c2ecf20Sopenharmony_ci
4228c2ecf20Sopenharmony_ci.. flat-table::
4238c2ecf20Sopenharmony_ci    :header-rows:  0
4248c2ecf20Sopenharmony_ci    :stub-columns: 0
4258c2ecf20Sopenharmony_ci
4268c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_EMPHASIS_NONE``
4278c2ecf20Sopenharmony_ci      - None
4288c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_EMPHASIS_50_DIV_15_uS``
4298c2ecf20Sopenharmony_ci      - 50/15 microsecond emphasis
4308c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17``
4318c2ecf20Sopenharmony_ci      - CCITT J.17
4328c2ecf20Sopenharmony_ci
4338c2ecf20Sopenharmony_ci
4348c2ecf20Sopenharmony_ci
4358c2ecf20Sopenharmony_ci.. _v4l2-mpeg-audio-crc:
4368c2ecf20Sopenharmony_ci
4378c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_AUDIO_CRC``
4388c2ecf20Sopenharmony_ci    (enum)
4398c2ecf20Sopenharmony_ci
4408c2ecf20Sopenharmony_cienum v4l2_mpeg_audio_crc -
4418c2ecf20Sopenharmony_ci    CRC method. Possible values are:
4428c2ecf20Sopenharmony_ci
4438c2ecf20Sopenharmony_ci
4448c2ecf20Sopenharmony_ci
4458c2ecf20Sopenharmony_ci.. flat-table::
4468c2ecf20Sopenharmony_ci    :header-rows:  0
4478c2ecf20Sopenharmony_ci    :stub-columns: 0
4488c2ecf20Sopenharmony_ci
4498c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_CRC_NONE``
4508c2ecf20Sopenharmony_ci      - None
4518c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_CRC_CRC16``
4528c2ecf20Sopenharmony_ci      - 16 bit parity check
4538c2ecf20Sopenharmony_ci
4548c2ecf20Sopenharmony_ci
4558c2ecf20Sopenharmony_ci
4568c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_AUDIO_MUTE (boolean)``
4578c2ecf20Sopenharmony_ci    Mutes the audio when capturing. This is not done by muting audio
4588c2ecf20Sopenharmony_ci    hardware, which can still produce a slight hiss, but in the encoder
4598c2ecf20Sopenharmony_ci    itself, guaranteeing a fixed and reproducible audio bitstream. 0 =
4608c2ecf20Sopenharmony_ci    unmuted, 1 = muted.
4618c2ecf20Sopenharmony_ci
4628c2ecf20Sopenharmony_ci.. _v4l2-mpeg-audio-dec-playback:
4638c2ecf20Sopenharmony_ci
4648c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK``
4658c2ecf20Sopenharmony_ci    (enum)
4668c2ecf20Sopenharmony_ci
4678c2ecf20Sopenharmony_cienum v4l2_mpeg_audio_dec_playback -
4688c2ecf20Sopenharmony_ci    Determines how monolingual audio should be played back. Possible
4698c2ecf20Sopenharmony_ci    values are:
4708c2ecf20Sopenharmony_ci
4718c2ecf20Sopenharmony_ci
4728c2ecf20Sopenharmony_ci
4738c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{9.8cm}|p{7.7cm}|
4748c2ecf20Sopenharmony_ci
4758c2ecf20Sopenharmony_ci.. flat-table::
4768c2ecf20Sopenharmony_ci    :header-rows:  0
4778c2ecf20Sopenharmony_ci    :stub-columns: 0
4788c2ecf20Sopenharmony_ci
4798c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_AUTO``
4808c2ecf20Sopenharmony_ci      - Automatically determines the best playback mode.
4818c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_STEREO``
4828c2ecf20Sopenharmony_ci      - Stereo playback.
4838c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_LEFT``
4848c2ecf20Sopenharmony_ci      - Left channel playback.
4858c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_RIGHT``
4868c2ecf20Sopenharmony_ci      - Right channel playback.
4878c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_MONO``
4888c2ecf20Sopenharmony_ci      - Mono playback.
4898c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_SWAPPED_STEREO``
4908c2ecf20Sopenharmony_ci      - Stereo playback with swapped left and right channels.
4918c2ecf20Sopenharmony_ci
4928c2ecf20Sopenharmony_ci
4938c2ecf20Sopenharmony_ci
4948c2ecf20Sopenharmony_ci.. _v4l2-mpeg-audio-dec-multilingual-playback:
4958c2ecf20Sopenharmony_ci
4968c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK``
4978c2ecf20Sopenharmony_ci    (enum)
4988c2ecf20Sopenharmony_ci
4998c2ecf20Sopenharmony_cienum v4l2_mpeg_audio_dec_playback -
5008c2ecf20Sopenharmony_ci    Determines how multilingual audio should be played back.
5018c2ecf20Sopenharmony_ci
5028c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-encoding:
5038c2ecf20Sopenharmony_ci
5048c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_ENCODING``
5058c2ecf20Sopenharmony_ci    (enum)
5068c2ecf20Sopenharmony_ci
5078c2ecf20Sopenharmony_cienum v4l2_mpeg_video_encoding -
5088c2ecf20Sopenharmony_ci    MPEG Video encoding method. This control is specific to multiplexed
5098c2ecf20Sopenharmony_ci    MPEG streams. Possible values are:
5108c2ecf20Sopenharmony_ci
5118c2ecf20Sopenharmony_ci
5128c2ecf20Sopenharmony_ci
5138c2ecf20Sopenharmony_ci.. flat-table::
5148c2ecf20Sopenharmony_ci    :header-rows:  0
5158c2ecf20Sopenharmony_ci    :stub-columns: 0
5168c2ecf20Sopenharmony_ci
5178c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_ENCODING_MPEG_1``
5188c2ecf20Sopenharmony_ci      - MPEG-1 Video encoding
5198c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_ENCODING_MPEG_2``
5208c2ecf20Sopenharmony_ci      - MPEG-2 Video encoding
5218c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC``
5228c2ecf20Sopenharmony_ci      - MPEG-4 AVC (H.264) Video encoding
5238c2ecf20Sopenharmony_ci
5248c2ecf20Sopenharmony_ci
5258c2ecf20Sopenharmony_ci
5268c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-aspect:
5278c2ecf20Sopenharmony_ci
5288c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_ASPECT``
5298c2ecf20Sopenharmony_ci    (enum)
5308c2ecf20Sopenharmony_ci
5318c2ecf20Sopenharmony_cienum v4l2_mpeg_video_aspect -
5328c2ecf20Sopenharmony_ci    Video aspect. Possible values are:
5338c2ecf20Sopenharmony_ci
5348c2ecf20Sopenharmony_ci
5358c2ecf20Sopenharmony_ci
5368c2ecf20Sopenharmony_ci.. flat-table::
5378c2ecf20Sopenharmony_ci    :header-rows:  0
5388c2ecf20Sopenharmony_ci    :stub-columns: 0
5398c2ecf20Sopenharmony_ci
5408c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_ASPECT_1x1``
5418c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_ASPECT_4x3``
5428c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_ASPECT_16x9``
5438c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_ASPECT_221x100``
5448c2ecf20Sopenharmony_ci
5458c2ecf20Sopenharmony_ci
5468c2ecf20Sopenharmony_ci
5478c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_B_FRAMES (integer)``
5488c2ecf20Sopenharmony_ci    Number of B-Frames (default 2)
5498c2ecf20Sopenharmony_ci
5508c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_GOP_SIZE (integer)``
5518c2ecf20Sopenharmony_ci    GOP size (default 12)
5528c2ecf20Sopenharmony_ci
5538c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_GOP_CLOSURE (boolean)``
5548c2ecf20Sopenharmony_ci    GOP closure (default 1)
5558c2ecf20Sopenharmony_ci
5568c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_PULLDOWN (boolean)``
5578c2ecf20Sopenharmony_ci    Enable 3:2 pulldown (default 0)
5588c2ecf20Sopenharmony_ci
5598c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-bitrate-mode:
5608c2ecf20Sopenharmony_ci
5618c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_BITRATE_MODE``
5628c2ecf20Sopenharmony_ci    (enum)
5638c2ecf20Sopenharmony_ci
5648c2ecf20Sopenharmony_cienum v4l2_mpeg_video_bitrate_mode -
5658c2ecf20Sopenharmony_ci    Video bitrate mode. Possible values are:
5668c2ecf20Sopenharmony_ci
5678c2ecf20Sopenharmony_ci
5688c2ecf20Sopenharmony_ci
5698c2ecf20Sopenharmony_ci.. flat-table::
5708c2ecf20Sopenharmony_ci    :header-rows:  0
5718c2ecf20Sopenharmony_ci    :stub-columns: 0
5728c2ecf20Sopenharmony_ci
5738c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_BITRATE_MODE_VBR``
5748c2ecf20Sopenharmony_ci      - Variable bitrate
5758c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_BITRATE_MODE_CBR``
5768c2ecf20Sopenharmony_ci      - Constant bitrate
5778c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_BITRATE_MODE_CQ``
5788c2ecf20Sopenharmony_ci      - Constant quality
5798c2ecf20Sopenharmony_ci
5808c2ecf20Sopenharmony_ci
5818c2ecf20Sopenharmony_ci
5828c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_BITRATE (integer)``
5838c2ecf20Sopenharmony_ci    Video bitrate in bits per second.
5848c2ecf20Sopenharmony_ci
5858c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_BITRATE_PEAK (integer)``
5868c2ecf20Sopenharmony_ci    Peak video bitrate in bits per second. Must be larger or equal to
5878c2ecf20Sopenharmony_ci    the average video bitrate. It is ignored if the video bitrate mode
5888c2ecf20Sopenharmony_ci    is set to constant bitrate.
5898c2ecf20Sopenharmony_ci
5908c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY (integer)``
5918c2ecf20Sopenharmony_ci    Constant quality level control. This control is applicable when
5928c2ecf20Sopenharmony_ci    ``V4L2_CID_MPEG_VIDEO_BITRATE_MODE`` value is
5938c2ecf20Sopenharmony_ci    ``V4L2_MPEG_VIDEO_BITRATE_MODE_CQ``. Valid range is 1 to 100
5948c2ecf20Sopenharmony_ci    where 1 indicates lowest quality and 100 indicates highest quality.
5958c2ecf20Sopenharmony_ci    Encoder will decide the appropriate quantization parameter and
5968c2ecf20Sopenharmony_ci    bitrate to produce requested frame quality.
5978c2ecf20Sopenharmony_ci
5988c2ecf20Sopenharmony_ci
5998c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE (enum)``
6008c2ecf20Sopenharmony_ci
6018c2ecf20Sopenharmony_cienum v4l2_mpeg_video_frame_skip_mode -
6028c2ecf20Sopenharmony_ci    Indicates in what conditions the encoder should skip frames. If
6038c2ecf20Sopenharmony_ci    encoding a frame would cause the encoded stream to be larger then a
6048c2ecf20Sopenharmony_ci    chosen data limit then the frame will be skipped. Possible values
6058c2ecf20Sopenharmony_ci    are:
6068c2ecf20Sopenharmony_ci
6078c2ecf20Sopenharmony_ci
6088c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{9.2cm}|p{8.3cm}|
6098c2ecf20Sopenharmony_ci
6108c2ecf20Sopenharmony_ci.. raw:: latex
6118c2ecf20Sopenharmony_ci
6128c2ecf20Sopenharmony_ci    \small
6138c2ecf20Sopenharmony_ci
6148c2ecf20Sopenharmony_ci.. flat-table::
6158c2ecf20Sopenharmony_ci    :header-rows:  0
6168c2ecf20Sopenharmony_ci    :stub-columns: 0
6178c2ecf20Sopenharmony_ci
6188c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_FRAME_SKIP_MODE_DISABLED``
6198c2ecf20Sopenharmony_ci      - Frame skip mode is disabled.
6208c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_FRAME_SKIP_MODE_LEVEL_LIMIT``
6218c2ecf20Sopenharmony_ci      - Frame skip mode enabled and buffer limit is set by the chosen
6228c2ecf20Sopenharmony_ci        level and is defined by the standard.
6238c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_FRAME_SKIP_MODE_BUF_LIMIT``
6248c2ecf20Sopenharmony_ci      - Frame skip mode enabled and buffer limit is set by the
6258c2ecf20Sopenharmony_ci        :ref:`VBV (MPEG1/2/4) <v4l2-mpeg-video-vbv-size>` or
6268c2ecf20Sopenharmony_ci        :ref:`CPB (H264) buffer size <v4l2-mpeg-video-h264-cpb-size>` control.
6278c2ecf20Sopenharmony_ci
6288c2ecf20Sopenharmony_ci.. raw:: latex
6298c2ecf20Sopenharmony_ci
6308c2ecf20Sopenharmony_ci    \normalsize
6318c2ecf20Sopenharmony_ci
6328c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION (integer)``
6338c2ecf20Sopenharmony_ci    For every captured frame, skip this many subsequent frames (default
6348c2ecf20Sopenharmony_ci    0).
6358c2ecf20Sopenharmony_ci
6368c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MUTE (boolean)``
6378c2ecf20Sopenharmony_ci    "Mutes" the video to a fixed color when capturing. This is useful
6388c2ecf20Sopenharmony_ci    for testing, to produce a fixed video bitstream. 0 = unmuted, 1 =
6398c2ecf20Sopenharmony_ci    muted.
6408c2ecf20Sopenharmony_ci
6418c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MUTE_YUV (integer)``
6428c2ecf20Sopenharmony_ci    Sets the "mute" color of the video. The supplied 32-bit integer is
6438c2ecf20Sopenharmony_ci    interpreted as follows (bit 0 = least significant bit):
6448c2ecf20Sopenharmony_ci
6458c2ecf20Sopenharmony_ci
6468c2ecf20Sopenharmony_ci
6478c2ecf20Sopenharmony_ci.. flat-table::
6488c2ecf20Sopenharmony_ci    :header-rows:  0
6498c2ecf20Sopenharmony_ci    :stub-columns: 0
6508c2ecf20Sopenharmony_ci
6518c2ecf20Sopenharmony_ci    * - Bit 0:7
6528c2ecf20Sopenharmony_ci      - V chrominance information
6538c2ecf20Sopenharmony_ci    * - Bit 8:15
6548c2ecf20Sopenharmony_ci      - U chrominance information
6558c2ecf20Sopenharmony_ci    * - Bit 16:23
6568c2ecf20Sopenharmony_ci      - Y luminance information
6578c2ecf20Sopenharmony_ci    * - Bit 24:31
6588c2ecf20Sopenharmony_ci      - Must be zero.
6598c2ecf20Sopenharmony_ci
6608c2ecf20Sopenharmony_ci
6618c2ecf20Sopenharmony_ci
6628c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-dec-pts:
6638c2ecf20Sopenharmony_ci
6648c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_DEC_PTS (integer64)``
6658c2ecf20Sopenharmony_ci    This read-only control returns the 33-bit video Presentation Time
6668c2ecf20Sopenharmony_ci    Stamp as defined in ITU T-REC-H.222.0 and ISO/IEC 13818-1 of the
6678c2ecf20Sopenharmony_ci    currently displayed frame. This is the same PTS as is used in
6688c2ecf20Sopenharmony_ci    :ref:`VIDIOC_DECODER_CMD`.
6698c2ecf20Sopenharmony_ci
6708c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-dec-frame:
6718c2ecf20Sopenharmony_ci
6728c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_DEC_FRAME (integer64)``
6738c2ecf20Sopenharmony_ci    This read-only control returns the frame counter of the frame that
6748c2ecf20Sopenharmony_ci    is currently displayed (decoded). This value is reset to 0 whenever
6758c2ecf20Sopenharmony_ci    the decoder is started.
6768c2ecf20Sopenharmony_ci
6778c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE (boolean)``
6788c2ecf20Sopenharmony_ci    If enabled the decoder expects to receive a single slice per buffer,
6798c2ecf20Sopenharmony_ci    otherwise the decoder expects a single frame in per buffer.
6808c2ecf20Sopenharmony_ci    Applicable to the decoder, all codecs.
6818c2ecf20Sopenharmony_ci
6828c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE (boolean)``
6838c2ecf20Sopenharmony_ci    Enable writing sample aspect ratio in the Video Usability
6848c2ecf20Sopenharmony_ci    Information. Applicable to the H264 encoder.
6858c2ecf20Sopenharmony_ci
6868c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-h264-vui-sar-idc:
6878c2ecf20Sopenharmony_ci
6888c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC``
6898c2ecf20Sopenharmony_ci    (enum)
6908c2ecf20Sopenharmony_ci
6918c2ecf20Sopenharmony_cienum v4l2_mpeg_video_h264_vui_sar_idc -
6928c2ecf20Sopenharmony_ci    VUI sample aspect ratio indicator for H.264 encoding. The value is
6938c2ecf20Sopenharmony_ci    defined in the table E-1 in the standard. Applicable to the H264
6948c2ecf20Sopenharmony_ci    encoder.
6958c2ecf20Sopenharmony_ci
6968c2ecf20Sopenharmony_ci
6978c2ecf20Sopenharmony_ci
6988c2ecf20Sopenharmony_ci.. flat-table::
6998c2ecf20Sopenharmony_ci    :header-rows:  0
7008c2ecf20Sopenharmony_ci    :stub-columns: 0
7018c2ecf20Sopenharmony_ci
7028c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_UNSPECIFIED``
7038c2ecf20Sopenharmony_ci      - Unspecified
7048c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_1x1``
7058c2ecf20Sopenharmony_ci      - 1x1
7068c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_12x11``
7078c2ecf20Sopenharmony_ci      - 12x11
7088c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_10x11``
7098c2ecf20Sopenharmony_ci      - 10x11
7108c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_16x11``
7118c2ecf20Sopenharmony_ci      - 16x11
7128c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_40x33``
7138c2ecf20Sopenharmony_ci      - 40x33
7148c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_24x11``
7158c2ecf20Sopenharmony_ci      - 24x11
7168c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_20x11``
7178c2ecf20Sopenharmony_ci      - 20x11
7188c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_32x11``
7198c2ecf20Sopenharmony_ci      - 32x11
7208c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_80x33``
7218c2ecf20Sopenharmony_ci      - 80x33
7228c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_18x11``
7238c2ecf20Sopenharmony_ci      - 18x11
7248c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_15x11``
7258c2ecf20Sopenharmony_ci      - 15x11
7268c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_64x33``
7278c2ecf20Sopenharmony_ci      - 64x33
7288c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_160x99``
7298c2ecf20Sopenharmony_ci      - 160x99
7308c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_4x3``
7318c2ecf20Sopenharmony_ci      - 4x3
7328c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_3x2``
7338c2ecf20Sopenharmony_ci      - 3x2
7348c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_2x1``
7358c2ecf20Sopenharmony_ci      - 2x1
7368c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_EXTENDED``
7378c2ecf20Sopenharmony_ci      - Extended SAR
7388c2ecf20Sopenharmony_ci
7398c2ecf20Sopenharmony_ci
7408c2ecf20Sopenharmony_ci
7418c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH (integer)``
7428c2ecf20Sopenharmony_ci    Extended sample aspect ratio width for H.264 VUI encoding.
7438c2ecf20Sopenharmony_ci    Applicable to the H264 encoder.
7448c2ecf20Sopenharmony_ci
7458c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT (integer)``
7468c2ecf20Sopenharmony_ci    Extended sample aspect ratio height for H.264 VUI encoding.
7478c2ecf20Sopenharmony_ci    Applicable to the H264 encoder.
7488c2ecf20Sopenharmony_ci
7498c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-h264-level:
7508c2ecf20Sopenharmony_ci
7518c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_LEVEL``
7528c2ecf20Sopenharmony_ci    (enum)
7538c2ecf20Sopenharmony_ci
7548c2ecf20Sopenharmony_cienum v4l2_mpeg_video_h264_level -
7558c2ecf20Sopenharmony_ci    The level information for the H264 video elementary stream.
7568c2ecf20Sopenharmony_ci    Applicable to the H264 encoder. Possible values are:
7578c2ecf20Sopenharmony_ci
7588c2ecf20Sopenharmony_ci
7598c2ecf20Sopenharmony_ci
7608c2ecf20Sopenharmony_ci.. flat-table::
7618c2ecf20Sopenharmony_ci    :header-rows:  0
7628c2ecf20Sopenharmony_ci    :stub-columns: 0
7638c2ecf20Sopenharmony_ci
7648c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1_0``
7658c2ecf20Sopenharmony_ci      - Level 1.0
7668c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1B``
7678c2ecf20Sopenharmony_ci      - Level 1B
7688c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1_1``
7698c2ecf20Sopenharmony_ci      - Level 1.1
7708c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1_2``
7718c2ecf20Sopenharmony_ci      - Level 1.2
7728c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1_3``
7738c2ecf20Sopenharmony_ci      - Level 1.3
7748c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_2_0``
7758c2ecf20Sopenharmony_ci      - Level 2.0
7768c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_2_1``
7778c2ecf20Sopenharmony_ci      - Level 2.1
7788c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_2_2``
7798c2ecf20Sopenharmony_ci      - Level 2.2
7808c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_3_0``
7818c2ecf20Sopenharmony_ci      - Level 3.0
7828c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_3_1``
7838c2ecf20Sopenharmony_ci      - Level 3.1
7848c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_3_2``
7858c2ecf20Sopenharmony_ci      - Level 3.2
7868c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_4_0``
7878c2ecf20Sopenharmony_ci      - Level 4.0
7888c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_4_1``
7898c2ecf20Sopenharmony_ci      - Level 4.1
7908c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_4_2``
7918c2ecf20Sopenharmony_ci      - Level 4.2
7928c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_5_0``
7938c2ecf20Sopenharmony_ci      - Level 5.0
7948c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_5_1``
7958c2ecf20Sopenharmony_ci      - Level 5.1
7968c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_5_2``
7978c2ecf20Sopenharmony_ci      - Level 5.2
7988c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_6_0``
7998c2ecf20Sopenharmony_ci      - Level 6.0
8008c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_6_1``
8018c2ecf20Sopenharmony_ci      - Level 6.1
8028c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_6_2``
8038c2ecf20Sopenharmony_ci      - Level 6.2
8048c2ecf20Sopenharmony_ci
8058c2ecf20Sopenharmony_ci
8068c2ecf20Sopenharmony_ci
8078c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-mpeg2-level:
8088c2ecf20Sopenharmony_ci
8098c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL``
8108c2ecf20Sopenharmony_ci    (enum)
8118c2ecf20Sopenharmony_ci
8128c2ecf20Sopenharmony_cienum v4l2_mpeg_video_mpeg2_level -
8138c2ecf20Sopenharmony_ci    The level information for the MPEG2 elementary stream. Applicable to
8148c2ecf20Sopenharmony_ci    MPEG2 codecs. Possible values are:
8158c2ecf20Sopenharmony_ci
8168c2ecf20Sopenharmony_ci
8178c2ecf20Sopenharmony_ci
8188c2ecf20Sopenharmony_ci.. flat-table::
8198c2ecf20Sopenharmony_ci    :header-rows:  0
8208c2ecf20Sopenharmony_ci    :stub-columns: 0
8218c2ecf20Sopenharmony_ci
8228c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG2_LEVEL_LOW``
8238c2ecf20Sopenharmony_ci      - Low Level (LL)
8248c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN``
8258c2ecf20Sopenharmony_ci      - Main Level (ML)
8268c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH_1440``
8278c2ecf20Sopenharmony_ci      - High-1440 Level (H-14)
8288c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH``
8298c2ecf20Sopenharmony_ci      - High Level (HL)
8308c2ecf20Sopenharmony_ci
8318c2ecf20Sopenharmony_ci
8328c2ecf20Sopenharmony_ci
8338c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-mpeg4-level:
8348c2ecf20Sopenharmony_ci
8358c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL``
8368c2ecf20Sopenharmony_ci    (enum)
8378c2ecf20Sopenharmony_ci
8388c2ecf20Sopenharmony_cienum v4l2_mpeg_video_mpeg4_level -
8398c2ecf20Sopenharmony_ci    The level information for the MPEG4 elementary stream. Applicable to
8408c2ecf20Sopenharmony_ci    the MPEG4 encoder. Possible values are:
8418c2ecf20Sopenharmony_ci
8428c2ecf20Sopenharmony_ci
8438c2ecf20Sopenharmony_ci
8448c2ecf20Sopenharmony_ci.. flat-table::
8458c2ecf20Sopenharmony_ci    :header-rows:  0
8468c2ecf20Sopenharmony_ci    :stub-columns: 0
8478c2ecf20Sopenharmony_ci
8488c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_0``
8498c2ecf20Sopenharmony_ci      - Level 0
8508c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B``
8518c2ecf20Sopenharmony_ci      - Level 0b
8528c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_1``
8538c2ecf20Sopenharmony_ci      - Level 1
8548c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_2``
8558c2ecf20Sopenharmony_ci      - Level 2
8568c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_3``
8578c2ecf20Sopenharmony_ci      - Level 3
8588c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_3B``
8598c2ecf20Sopenharmony_ci      - Level 3b
8608c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_4``
8618c2ecf20Sopenharmony_ci      - Level 4
8628c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_5``
8638c2ecf20Sopenharmony_ci      - Level 5
8648c2ecf20Sopenharmony_ci
8658c2ecf20Sopenharmony_ci
8668c2ecf20Sopenharmony_ci
8678c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-h264-profile:
8688c2ecf20Sopenharmony_ci
8698c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_PROFILE``
8708c2ecf20Sopenharmony_ci    (enum)
8718c2ecf20Sopenharmony_ci
8728c2ecf20Sopenharmony_cienum v4l2_mpeg_video_h264_profile -
8738c2ecf20Sopenharmony_ci    The profile information for H264. Applicable to the H264 encoder.
8748c2ecf20Sopenharmony_ci    Possible values are:
8758c2ecf20Sopenharmony_ci
8768c2ecf20Sopenharmony_ci
8778c2ecf20Sopenharmony_ci
8788c2ecf20Sopenharmony_ci.. flat-table::
8798c2ecf20Sopenharmony_ci    :header-rows:  0
8808c2ecf20Sopenharmony_ci    :stub-columns: 0
8818c2ecf20Sopenharmony_ci
8828c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE``
8838c2ecf20Sopenharmony_ci      - Baseline profile
8848c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE``
8858c2ecf20Sopenharmony_ci      - Constrained Baseline profile
8868c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_MAIN``
8878c2ecf20Sopenharmony_ci      - Main profile
8888c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_EXTENDED``
8898c2ecf20Sopenharmony_ci      - Extended profile
8908c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH``
8918c2ecf20Sopenharmony_ci      - High profile
8928c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10``
8938c2ecf20Sopenharmony_ci      - High 10 profile
8948c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422``
8958c2ecf20Sopenharmony_ci      - High 422 profile
8968c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_PREDICTIVE``
8978c2ecf20Sopenharmony_ci      - High 444 Predictive profile
8988c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10_INTRA``
8998c2ecf20Sopenharmony_ci      - High 10 Intra profile
9008c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422_INTRA``
9018c2ecf20Sopenharmony_ci      - High 422 Intra profile
9028c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_INTRA``
9038c2ecf20Sopenharmony_ci      - High 444 Intra profile
9048c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_CAVLC_444_INTRA``
9058c2ecf20Sopenharmony_ci      - CAVLC 444 Intra profile
9068c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_BASELINE``
9078c2ecf20Sopenharmony_ci      - Scalable Baseline profile
9088c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH``
9098c2ecf20Sopenharmony_ci      - Scalable High profile
9108c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH_INTRA``
9118c2ecf20Sopenharmony_ci      - Scalable High Intra profile
9128c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_STEREO_HIGH``
9138c2ecf20Sopenharmony_ci      - Stereo High profile
9148c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH``
9158c2ecf20Sopenharmony_ci      - Multiview High profile
9168c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH``
9178c2ecf20Sopenharmony_ci      - Constrained High profile
9188c2ecf20Sopenharmony_ci
9198c2ecf20Sopenharmony_ci
9208c2ecf20Sopenharmony_ci
9218c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-mpeg2-profile:
9228c2ecf20Sopenharmony_ci
9238c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MPEG2_PROFILE``
9248c2ecf20Sopenharmony_ci    (enum)
9258c2ecf20Sopenharmony_ci
9268c2ecf20Sopenharmony_cienum v4l2_mpeg_video_mpeg2_profile -
9278c2ecf20Sopenharmony_ci    The profile information for MPEG2. Applicable to MPEG2 codecs.
9288c2ecf20Sopenharmony_ci    Possible values are:
9298c2ecf20Sopenharmony_ci
9308c2ecf20Sopenharmony_ci
9318c2ecf20Sopenharmony_ci
9328c2ecf20Sopenharmony_ci.. flat-table::
9338c2ecf20Sopenharmony_ci    :header-rows:  0
9348c2ecf20Sopenharmony_ci    :stub-columns: 0
9358c2ecf20Sopenharmony_ci
9368c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_SIMPLE``
9378c2ecf20Sopenharmony_ci      - Simple profile (SP)
9388c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN``
9398c2ecf20Sopenharmony_ci      - Main profile (MP)
9408c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_SNR_SCALABLE``
9418c2ecf20Sopenharmony_ci      - SNR Scalable profile (SNR)
9428c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_SPATIALLY_SCALABLE``
9438c2ecf20Sopenharmony_ci      - Spatially Scalable profile (Spt)
9448c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_HIGH``
9458c2ecf20Sopenharmony_ci      - High profile (HP)
9468c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_MULTIVIEW``
9478c2ecf20Sopenharmony_ci      - Multi-view profile (MVP)
9488c2ecf20Sopenharmony_ci
9498c2ecf20Sopenharmony_ci
9508c2ecf20Sopenharmony_ci
9518c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-mpeg4-profile:
9528c2ecf20Sopenharmony_ci
9538c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE``
9548c2ecf20Sopenharmony_ci    (enum)
9558c2ecf20Sopenharmony_ci
9568c2ecf20Sopenharmony_cienum v4l2_mpeg_video_mpeg4_profile -
9578c2ecf20Sopenharmony_ci    The profile information for MPEG4. Applicable to the MPEG4 encoder.
9588c2ecf20Sopenharmony_ci    Possible values are:
9598c2ecf20Sopenharmony_ci
9608c2ecf20Sopenharmony_ci
9618c2ecf20Sopenharmony_ci
9628c2ecf20Sopenharmony_ci.. flat-table::
9638c2ecf20Sopenharmony_ci    :header-rows:  0
9648c2ecf20Sopenharmony_ci    :stub-columns: 0
9658c2ecf20Sopenharmony_ci
9668c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE``
9678c2ecf20Sopenharmony_ci      - Simple profile
9688c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE``
9698c2ecf20Sopenharmony_ci      - Advanced Simple profile
9708c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_CORE``
9718c2ecf20Sopenharmony_ci      - Core profile
9728c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE_SCALABLE``
9738c2ecf20Sopenharmony_ci      - Simple Scalable profile
9748c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY``
9758c2ecf20Sopenharmony_ci      -
9768c2ecf20Sopenharmony_ci
9778c2ecf20Sopenharmony_ci
9788c2ecf20Sopenharmony_ci
9798c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MAX_REF_PIC (integer)``
9808c2ecf20Sopenharmony_ci    The maximum number of reference pictures used for encoding.
9818c2ecf20Sopenharmony_ci    Applicable to the encoder.
9828c2ecf20Sopenharmony_ci
9838c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-multi-slice-mode:
9848c2ecf20Sopenharmony_ci
9858c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE``
9868c2ecf20Sopenharmony_ci    (enum)
9878c2ecf20Sopenharmony_ci
9888c2ecf20Sopenharmony_cienum v4l2_mpeg_video_multi_slice_mode -
9898c2ecf20Sopenharmony_ci    Determines how the encoder should handle division of frame into
9908c2ecf20Sopenharmony_ci    slices. Applicable to the encoder. Possible values are:
9918c2ecf20Sopenharmony_ci
9928c2ecf20Sopenharmony_ci
9938c2ecf20Sopenharmony_ci
9948c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{9.6cm}|p{7.9cm}|
9958c2ecf20Sopenharmony_ci
9968c2ecf20Sopenharmony_ci.. flat-table::
9978c2ecf20Sopenharmony_ci    :header-rows:  0
9988c2ecf20Sopenharmony_ci    :stub-columns: 0
9998c2ecf20Sopenharmony_ci
10008c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE``
10018c2ecf20Sopenharmony_ci      - Single slice per frame.
10028c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB``
10038c2ecf20Sopenharmony_ci      - Multiple slices with set maximum number of macroblocks per slice.
10048c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES``
10058c2ecf20Sopenharmony_ci      - Multiple slice with set maximum size in bytes per slice.
10068c2ecf20Sopenharmony_ci
10078c2ecf20Sopenharmony_ci
10088c2ecf20Sopenharmony_ci
10098c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB (integer)``
10108c2ecf20Sopenharmony_ci    The maximum number of macroblocks in a slice. Used when
10118c2ecf20Sopenharmony_ci    ``V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE`` is set to
10128c2ecf20Sopenharmony_ci    ``V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB``. Applicable to the
10138c2ecf20Sopenharmony_ci    encoder.
10148c2ecf20Sopenharmony_ci
10158c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES (integer)``
10168c2ecf20Sopenharmony_ci    The maximum size of a slice in bytes. Used when
10178c2ecf20Sopenharmony_ci    ``V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE`` is set to
10188c2ecf20Sopenharmony_ci    ``V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES``. Applicable to the
10198c2ecf20Sopenharmony_ci    encoder.
10208c2ecf20Sopenharmony_ci
10218c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-h264-loop-filter-mode:
10228c2ecf20Sopenharmony_ci
10238c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE``
10248c2ecf20Sopenharmony_ci    (enum)
10258c2ecf20Sopenharmony_ci
10268c2ecf20Sopenharmony_cienum v4l2_mpeg_video_h264_loop_filter_mode -
10278c2ecf20Sopenharmony_ci    Loop filter mode for H264 encoder. Possible values are:
10288c2ecf20Sopenharmony_ci
10298c2ecf20Sopenharmony_ci.. raw:: latex
10308c2ecf20Sopenharmony_ci
10318c2ecf20Sopenharmony_ci    \small
10328c2ecf20Sopenharmony_ci
10338c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{13.6cm}|p{3.9cm}|
10348c2ecf20Sopenharmony_ci
10358c2ecf20Sopenharmony_ci.. flat-table::
10368c2ecf20Sopenharmony_ci    :header-rows:  0
10378c2ecf20Sopenharmony_ci    :stub-columns: 0
10388c2ecf20Sopenharmony_ci
10398c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED``
10408c2ecf20Sopenharmony_ci      - Loop filter is enabled.
10418c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED``
10428c2ecf20Sopenharmony_ci      - Loop filter is disabled.
10438c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY``
10448c2ecf20Sopenharmony_ci      - Loop filter is disabled at the slice boundary.
10458c2ecf20Sopenharmony_ci
10468c2ecf20Sopenharmony_ci.. raw:: latex
10478c2ecf20Sopenharmony_ci
10488c2ecf20Sopenharmony_ci    \normalsize
10498c2ecf20Sopenharmony_ci
10508c2ecf20Sopenharmony_ci
10518c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA (integer)``
10528c2ecf20Sopenharmony_ci    Loop filter alpha coefficient, defined in the H264 standard.
10538c2ecf20Sopenharmony_ci    This value corresponds to the slice_alpha_c0_offset_div2 slice header
10548c2ecf20Sopenharmony_ci    field, and should be in the range of -6 to +6, inclusive. The actual alpha
10558c2ecf20Sopenharmony_ci    offset FilterOffsetA is twice this value.
10568c2ecf20Sopenharmony_ci    Applicable to the H264 encoder.
10578c2ecf20Sopenharmony_ci
10588c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA (integer)``
10598c2ecf20Sopenharmony_ci    Loop filter beta coefficient, defined in the H264 standard.
10608c2ecf20Sopenharmony_ci    This corresponds to the slice_beta_offset_div2 slice header field, and
10618c2ecf20Sopenharmony_ci    should be in the range of -6 to +6, inclusive. The actual beta offset
10628c2ecf20Sopenharmony_ci    FilterOffsetB is twice this value.
10638c2ecf20Sopenharmony_ci    Applicable to the H264 encoder.
10648c2ecf20Sopenharmony_ci
10658c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-h264-entropy-mode:
10668c2ecf20Sopenharmony_ci
10678c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE``
10688c2ecf20Sopenharmony_ci    (enum)
10698c2ecf20Sopenharmony_ci
10708c2ecf20Sopenharmony_cienum v4l2_mpeg_video_h264_entropy_mode -
10718c2ecf20Sopenharmony_ci    Entropy coding mode for H264 - CABAC/CAVALC. Applicable to the H264
10728c2ecf20Sopenharmony_ci    encoder. Possible values are:
10738c2ecf20Sopenharmony_ci
10748c2ecf20Sopenharmony_ci
10758c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{9.0cm}|p{8.5cm}|
10768c2ecf20Sopenharmony_ci
10778c2ecf20Sopenharmony_ci
10788c2ecf20Sopenharmony_ci.. flat-table::
10798c2ecf20Sopenharmony_ci    :header-rows:  0
10808c2ecf20Sopenharmony_ci    :stub-columns: 0
10818c2ecf20Sopenharmony_ci
10828c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC``
10838c2ecf20Sopenharmony_ci      - Use CAVLC entropy coding.
10848c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC``
10858c2ecf20Sopenharmony_ci      - Use CABAC entropy coding.
10868c2ecf20Sopenharmony_ci
10878c2ecf20Sopenharmony_ci
10888c2ecf20Sopenharmony_ci
10898c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM (boolean)``
10908c2ecf20Sopenharmony_ci    Enable 8X8 transform for H264. Applicable to the H264 encoder.
10918c2ecf20Sopenharmony_ci
10928c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_CONSTRAINED_INTRA_PREDICTION (boolean)``
10938c2ecf20Sopenharmony_ci    Enable constrained intra prediction for H264. Applicable to the H264
10948c2ecf20Sopenharmony_ci    encoder.
10958c2ecf20Sopenharmony_ci
10968c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET (integer)``
10978c2ecf20Sopenharmony_ci    Specify the offset that should be added to the luma quantization
10988c2ecf20Sopenharmony_ci    parameter to determine the chroma quantization parameter. Applicable
10998c2ecf20Sopenharmony_ci    to the H264 encoder.
11008c2ecf20Sopenharmony_ci
11018c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB (integer)``
11028c2ecf20Sopenharmony_ci    Cyclic intra macroblock refresh. This is the number of continuous
11038c2ecf20Sopenharmony_ci    macroblocks refreshed every frame. Each frame a successive set of
11048c2ecf20Sopenharmony_ci    macroblocks is refreshed until the cycle completes and starts from
11058c2ecf20Sopenharmony_ci    the top of the frame. Applicable to H264, H263 and MPEG4 encoder.
11068c2ecf20Sopenharmony_ci
11078c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE (boolean)``
11088c2ecf20Sopenharmony_ci    Frame level rate control enable. If this control is disabled then
11098c2ecf20Sopenharmony_ci    the quantization parameter for each frame type is constant and set
11108c2ecf20Sopenharmony_ci    with appropriate controls (e.g.
11118c2ecf20Sopenharmony_ci    ``V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP``). If frame rate control is
11128c2ecf20Sopenharmony_ci    enabled then quantization parameter is adjusted to meet the chosen
11138c2ecf20Sopenharmony_ci    bitrate. Minimum and maximum value for the quantization parameter
11148c2ecf20Sopenharmony_ci    can be set with appropriate controls (e.g.
11158c2ecf20Sopenharmony_ci    ``V4L2_CID_MPEG_VIDEO_H263_MIN_QP``). Applicable to encoders.
11168c2ecf20Sopenharmony_ci
11178c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE (boolean)``
11188c2ecf20Sopenharmony_ci    Macroblock level rate control enable. Applicable to the MPEG4 and
11198c2ecf20Sopenharmony_ci    H264 encoders.
11208c2ecf20Sopenharmony_ci
11218c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MPEG4_QPEL (boolean)``
11228c2ecf20Sopenharmony_ci    Quarter pixel motion estimation for MPEG4. Applicable to the MPEG4
11238c2ecf20Sopenharmony_ci    encoder.
11248c2ecf20Sopenharmony_ci
11258c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (integer)``
11268c2ecf20Sopenharmony_ci    Quantization parameter for an I frame for H263. Valid range: from 1
11278c2ecf20Sopenharmony_ci    to 31.
11288c2ecf20Sopenharmony_ci
11298c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H263_MIN_QP (integer)``
11308c2ecf20Sopenharmony_ci    Minimum quantization parameter for H263. Valid range: from 1 to 31.
11318c2ecf20Sopenharmony_ci
11328c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H263_MAX_QP (integer)``
11338c2ecf20Sopenharmony_ci    Maximum quantization parameter for H263. Valid range: from 1 to 31.
11348c2ecf20Sopenharmony_ci
11358c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (integer)``
11368c2ecf20Sopenharmony_ci    Quantization parameter for an P frame for H263. Valid range: from 1
11378c2ecf20Sopenharmony_ci    to 31.
11388c2ecf20Sopenharmony_ci
11398c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP (integer)``
11408c2ecf20Sopenharmony_ci    Quantization parameter for an B frame for H263. Valid range: from 1
11418c2ecf20Sopenharmony_ci    to 31.
11428c2ecf20Sopenharmony_ci
11438c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP (integer)``
11448c2ecf20Sopenharmony_ci    Quantization parameter for an I frame for H264. Valid range: from 0
11458c2ecf20Sopenharmony_ci    to 51.
11468c2ecf20Sopenharmony_ci
11478c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_MIN_QP (integer)``
11488c2ecf20Sopenharmony_ci    Minimum quantization parameter for H264. Valid range: from 0 to 51.
11498c2ecf20Sopenharmony_ci
11508c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_MAX_QP (integer)``
11518c2ecf20Sopenharmony_ci    Maximum quantization parameter for H264. Valid range: from 0 to 51.
11528c2ecf20Sopenharmony_ci
11538c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP (integer)``
11548c2ecf20Sopenharmony_ci    Quantization parameter for an P frame for H264. Valid range: from 0
11558c2ecf20Sopenharmony_ci    to 51.
11568c2ecf20Sopenharmony_ci
11578c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP (integer)``
11588c2ecf20Sopenharmony_ci    Quantization parameter for an B frame for H264. Valid range: from 0
11598c2ecf20Sopenharmony_ci    to 51.
11608c2ecf20Sopenharmony_ci
11618c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MIN_QP (integer)``
11628c2ecf20Sopenharmony_ci    Minimum quantization parameter for the H264 I frame to limit I frame
11638c2ecf20Sopenharmony_ci    quality to a range. Valid range: from 0 to 51. If
11648c2ecf20Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_H264_MIN_QP is also set, the quantization parameter
11658c2ecf20Sopenharmony_ci    should be chosen to meet both requirements.
11668c2ecf20Sopenharmony_ci
11678c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MAX_QP (integer)``
11688c2ecf20Sopenharmony_ci    Maximum quantization parameter for the H264 I frame to limit I frame
11698c2ecf20Sopenharmony_ci    quality to a range. Valid range: from 0 to 51. If
11708c2ecf20Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_H264_MAX_QP is also set, the quantization parameter
11718c2ecf20Sopenharmony_ci    should be chosen to meet both requirements.
11728c2ecf20Sopenharmony_ci
11738c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MIN_QP (integer)``
11748c2ecf20Sopenharmony_ci    Minimum quantization parameter for the H264 P frame to limit P frame
11758c2ecf20Sopenharmony_ci    quality to a range. Valid range: from 0 to 51. If
11768c2ecf20Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_H264_MIN_QP is also set, the quantization parameter
11778c2ecf20Sopenharmony_ci    should be chosen to meet both requirements.
11788c2ecf20Sopenharmony_ci
11798c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MAX_QP (integer)``
11808c2ecf20Sopenharmony_ci    Maximum quantization parameter for the H264 P frame to limit P frame
11818c2ecf20Sopenharmony_ci    quality to a range. Valid range: from 0 to 51. If
11828c2ecf20Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_H264_MAX_QP is also set, the quantization parameter
11838c2ecf20Sopenharmony_ci    should be chosen to meet both requirements.
11848c2ecf20Sopenharmony_ci
11858c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP (integer)``
11868c2ecf20Sopenharmony_ci    Quantization parameter for an I frame for MPEG4. Valid range: from 1
11878c2ecf20Sopenharmony_ci    to 31.
11888c2ecf20Sopenharmony_ci
11898c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP (integer)``
11908c2ecf20Sopenharmony_ci    Minimum quantization parameter for MPEG4. Valid range: from 1 to 31.
11918c2ecf20Sopenharmony_ci
11928c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP (integer)``
11938c2ecf20Sopenharmony_ci    Maximum quantization parameter for MPEG4. Valid range: from 1 to 31.
11948c2ecf20Sopenharmony_ci
11958c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP (integer)``
11968c2ecf20Sopenharmony_ci    Quantization parameter for an P frame for MPEG4. Valid range: from 1
11978c2ecf20Sopenharmony_ci    to 31.
11988c2ecf20Sopenharmony_ci
11998c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP (integer)``
12008c2ecf20Sopenharmony_ci    Quantization parameter for an B frame for MPEG4. Valid range: from 1
12018c2ecf20Sopenharmony_ci    to 31.
12028c2ecf20Sopenharmony_ci
12038c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-vbv-size:
12048c2ecf20Sopenharmony_ci
12058c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VBV_SIZE (integer)``
12068c2ecf20Sopenharmony_ci    The Video Buffer Verifier size in kilobytes, it is used as a
12078c2ecf20Sopenharmony_ci    limitation of frame skip. The VBV is defined in the standard as a
12088c2ecf20Sopenharmony_ci    mean to verify that the produced stream will be successfully
12098c2ecf20Sopenharmony_ci    decoded. The standard describes it as "Part of a hypothetical
12108c2ecf20Sopenharmony_ci    decoder that is conceptually connected to the output of the encoder.
12118c2ecf20Sopenharmony_ci    Its purpose is to provide a constraint on the variability of the
12128c2ecf20Sopenharmony_ci    data rate that an encoder or editing process may produce.".
12138c2ecf20Sopenharmony_ci    Applicable to the MPEG1, MPEG2, MPEG4 encoders.
12148c2ecf20Sopenharmony_ci
12158c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-vbv-delay:
12168c2ecf20Sopenharmony_ci
12178c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VBV_DELAY (integer)``
12188c2ecf20Sopenharmony_ci    Sets the initial delay in milliseconds for VBV buffer control.
12198c2ecf20Sopenharmony_ci
12208c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-hor-search-range:
12218c2ecf20Sopenharmony_ci
12228c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE (integer)``
12238c2ecf20Sopenharmony_ci    Horizontal search range defines maximum horizontal search area in
12248c2ecf20Sopenharmony_ci    pixels to search and match for the present Macroblock (MB) in the
12258c2ecf20Sopenharmony_ci    reference picture. This V4L2 control macro is used to set horizontal
12268c2ecf20Sopenharmony_ci    search range for motion estimation module in video encoder.
12278c2ecf20Sopenharmony_ci
12288c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-vert-search-range:
12298c2ecf20Sopenharmony_ci
12308c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE (integer)``
12318c2ecf20Sopenharmony_ci    Vertical search range defines maximum vertical search area in pixels
12328c2ecf20Sopenharmony_ci    to search and match for the present Macroblock (MB) in the reference
12338c2ecf20Sopenharmony_ci    picture. This V4L2 control macro is used to set vertical search
12348c2ecf20Sopenharmony_ci    range for motion estimation module in video encoder.
12358c2ecf20Sopenharmony_ci
12368c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-force-key-frame:
12378c2ecf20Sopenharmony_ci
12388c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME (button)``
12398c2ecf20Sopenharmony_ci    Force a key frame for the next queued buffer. Applicable to
12408c2ecf20Sopenharmony_ci    encoders. This is a general, codec-agnostic keyframe control.
12418c2ecf20Sopenharmony_ci
12428c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-h264-cpb-size:
12438c2ecf20Sopenharmony_ci
12448c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE (integer)``
12458c2ecf20Sopenharmony_ci    The Coded Picture Buffer size in kilobytes, it is used as a
12468c2ecf20Sopenharmony_ci    limitation of frame skip. The CPB is defined in the H264 standard as
12478c2ecf20Sopenharmony_ci    a mean to verify that the produced stream will be successfully
12488c2ecf20Sopenharmony_ci    decoded. Applicable to the H264 encoder.
12498c2ecf20Sopenharmony_ci
12508c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_I_PERIOD (integer)``
12518c2ecf20Sopenharmony_ci    Period between I-frames in the open GOP for H264. In case of an open
12528c2ecf20Sopenharmony_ci    GOP this is the period between two I-frames. The period between IDR
12538c2ecf20Sopenharmony_ci    (Instantaneous Decoding Refresh) frames is taken from the GOP_SIZE
12548c2ecf20Sopenharmony_ci    control. An IDR frame, which stands for Instantaneous Decoding
12558c2ecf20Sopenharmony_ci    Refresh is an I-frame after which no prior frames are referenced.
12568c2ecf20Sopenharmony_ci    This means that a stream can be restarted from an IDR frame without
12578c2ecf20Sopenharmony_ci    the need to store or decode any previous frames. Applicable to the
12588c2ecf20Sopenharmony_ci    H264 encoder.
12598c2ecf20Sopenharmony_ci
12608c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-header-mode:
12618c2ecf20Sopenharmony_ci
12628c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEADER_MODE``
12638c2ecf20Sopenharmony_ci    (enum)
12648c2ecf20Sopenharmony_ci
12658c2ecf20Sopenharmony_cienum v4l2_mpeg_video_header_mode -
12668c2ecf20Sopenharmony_ci    Determines whether the header is returned as the first buffer or is
12678c2ecf20Sopenharmony_ci    it returned together with the first frame. Applicable to encoders.
12688c2ecf20Sopenharmony_ci    Possible values are:
12698c2ecf20Sopenharmony_ci
12708c2ecf20Sopenharmony_ci.. raw:: latex
12718c2ecf20Sopenharmony_ci
12728c2ecf20Sopenharmony_ci    \small
12738c2ecf20Sopenharmony_ci
12748c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{10.3cm}|p{7.2cm}|
12758c2ecf20Sopenharmony_ci
12768c2ecf20Sopenharmony_ci.. flat-table::
12778c2ecf20Sopenharmony_ci    :header-rows:  0
12788c2ecf20Sopenharmony_ci    :stub-columns: 0
12798c2ecf20Sopenharmony_ci
12808c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE``
12818c2ecf20Sopenharmony_ci      - The stream header is returned separately in the first buffer.
12828c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME``
12838c2ecf20Sopenharmony_ci      - The stream header is returned together with the first encoded
12848c2ecf20Sopenharmony_ci	frame.
12858c2ecf20Sopenharmony_ci
12868c2ecf20Sopenharmony_ci.. raw:: latex
12878c2ecf20Sopenharmony_ci
12888c2ecf20Sopenharmony_ci    \normalsize
12898c2ecf20Sopenharmony_ci
12908c2ecf20Sopenharmony_ci
12918c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER (boolean)``
12928c2ecf20Sopenharmony_ci    Repeat the video sequence headers. Repeating these headers makes
12938c2ecf20Sopenharmony_ci    random access to the video stream easier. Applicable to the MPEG1, 2
12948c2ecf20Sopenharmony_ci    and 4 encoder.
12958c2ecf20Sopenharmony_ci
12968c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER (boolean)``
12978c2ecf20Sopenharmony_ci    Enabled the deblocking post processing filter for MPEG4 decoder.
12988c2ecf20Sopenharmony_ci    Applicable to the MPEG4 decoder.
12998c2ecf20Sopenharmony_ci
13008c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MPEG4_VOP_TIME_RES (integer)``
13018c2ecf20Sopenharmony_ci    vop_time_increment_resolution value for MPEG4. Applicable to the
13028c2ecf20Sopenharmony_ci    MPEG4 encoder.
13038c2ecf20Sopenharmony_ci
13048c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MPEG4_VOP_TIME_INC (integer)``
13058c2ecf20Sopenharmony_ci    vop_time_increment value for MPEG4. Applicable to the MPEG4
13068c2ecf20Sopenharmony_ci    encoder.
13078c2ecf20Sopenharmony_ci
13088c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING (boolean)``
13098c2ecf20Sopenharmony_ci    Enable generation of frame packing supplemental enhancement
13108c2ecf20Sopenharmony_ci    information in the encoded bitstream. The frame packing SEI message
13118c2ecf20Sopenharmony_ci    contains the arrangement of L and R planes for 3D viewing.
13128c2ecf20Sopenharmony_ci    Applicable to the H264 encoder.
13138c2ecf20Sopenharmony_ci
13148c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0 (boolean)``
13158c2ecf20Sopenharmony_ci    Sets current frame as frame0 in frame packing SEI. Applicable to the
13168c2ecf20Sopenharmony_ci    H264 encoder.
13178c2ecf20Sopenharmony_ci
13188c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-h264-sei-fp-arrangement-type:
13198c2ecf20Sopenharmony_ci
13208c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE``
13218c2ecf20Sopenharmony_ci    (enum)
13228c2ecf20Sopenharmony_ci
13238c2ecf20Sopenharmony_cienum v4l2_mpeg_video_h264_sei_fp_arrangement_type -
13248c2ecf20Sopenharmony_ci    Frame packing arrangement type for H264 SEI. Applicable to the H264
13258c2ecf20Sopenharmony_ci    encoder. Possible values are:
13268c2ecf20Sopenharmony_ci
13278c2ecf20Sopenharmony_ci.. raw:: latex
13288c2ecf20Sopenharmony_ci
13298c2ecf20Sopenharmony_ci    \small
13308c2ecf20Sopenharmony_ci
13318c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{12cm}|p{5.5cm}|
13328c2ecf20Sopenharmony_ci
13338c2ecf20Sopenharmony_ci.. flat-table::
13348c2ecf20Sopenharmony_ci    :header-rows:  0
13358c2ecf20Sopenharmony_ci    :stub-columns: 0
13368c2ecf20Sopenharmony_ci
13378c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_CHEKERBOARD``
13388c2ecf20Sopenharmony_ci      - Pixels are alternatively from L and R.
13398c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_COLUMN``
13408c2ecf20Sopenharmony_ci      - L and R are interlaced by column.
13418c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_ROW``
13428c2ecf20Sopenharmony_ci      - L and R are interlaced by row.
13438c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_SIDE_BY_SIDE``
13448c2ecf20Sopenharmony_ci      - L is on the left, R on the right.
13458c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TOP_BOTTOM``
13468c2ecf20Sopenharmony_ci      - L is on top, R on bottom.
13478c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TEMPORAL``
13488c2ecf20Sopenharmony_ci      - One view per frame.
13498c2ecf20Sopenharmony_ci
13508c2ecf20Sopenharmony_ci.. raw:: latex
13518c2ecf20Sopenharmony_ci
13528c2ecf20Sopenharmony_ci    \normalsize
13538c2ecf20Sopenharmony_ci
13548c2ecf20Sopenharmony_ci
13558c2ecf20Sopenharmony_ci
13568c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_FMO (boolean)``
13578c2ecf20Sopenharmony_ci    Enables flexible macroblock ordering in the encoded bitstream. It is
13588c2ecf20Sopenharmony_ci    a technique used for restructuring the ordering of macroblocks in
13598c2ecf20Sopenharmony_ci    pictures. Applicable to the H264 encoder.
13608c2ecf20Sopenharmony_ci
13618c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-h264-fmo-map-type:
13628c2ecf20Sopenharmony_ci
13638c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE``
13648c2ecf20Sopenharmony_ci   (enum)
13658c2ecf20Sopenharmony_ci
13668c2ecf20Sopenharmony_cienum v4l2_mpeg_video_h264_fmo_map_type -
13678c2ecf20Sopenharmony_ci    When using FMO, the map type divides the image in different scan
13688c2ecf20Sopenharmony_ci    patterns of macroblocks. Applicable to the H264 encoder. Possible
13698c2ecf20Sopenharmony_ci    values are:
13708c2ecf20Sopenharmony_ci
13718c2ecf20Sopenharmony_ci.. raw:: latex
13728c2ecf20Sopenharmony_ci
13738c2ecf20Sopenharmony_ci    \small
13748c2ecf20Sopenharmony_ci
13758c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{12.5cm}|p{5.0cm}|
13768c2ecf20Sopenharmony_ci
13778c2ecf20Sopenharmony_ci.. flat-table::
13788c2ecf20Sopenharmony_ci    :header-rows:  0
13798c2ecf20Sopenharmony_ci    :stub-columns: 0
13808c2ecf20Sopenharmony_ci
13818c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_INTERLEAVED_SLICES``
13828c2ecf20Sopenharmony_ci      - Slices are interleaved one after other with macroblocks in run
13838c2ecf20Sopenharmony_ci	length order.
13848c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_SCATTERED_SLICES``
13858c2ecf20Sopenharmony_ci      - Scatters the macroblocks based on a mathematical function known to
13868c2ecf20Sopenharmony_ci	both encoder and decoder.
13878c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_FOREGROUND_WITH_LEFT_OVER``
13888c2ecf20Sopenharmony_ci      - Macroblocks arranged in rectangular areas or regions of interest.
13898c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_BOX_OUT``
13908c2ecf20Sopenharmony_ci      - Slice groups grow in a cyclic way from centre to outwards.
13918c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_RASTER_SCAN``
13928c2ecf20Sopenharmony_ci      - Slice groups grow in raster scan pattern from left to right.
13938c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_WIPE_SCAN``
13948c2ecf20Sopenharmony_ci      - Slice groups grow in wipe scan pattern from top to bottom.
13958c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_EXPLICIT``
13968c2ecf20Sopenharmony_ci      - User defined map type.
13978c2ecf20Sopenharmony_ci
13988c2ecf20Sopenharmony_ci.. raw:: latex
13998c2ecf20Sopenharmony_ci
14008c2ecf20Sopenharmony_ci    \normalsize
14018c2ecf20Sopenharmony_ci
14028c2ecf20Sopenharmony_ci
14038c2ecf20Sopenharmony_ci
14048c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP (integer)``
14058c2ecf20Sopenharmony_ci    Number of slice groups in FMO. Applicable to the H264 encoder.
14068c2ecf20Sopenharmony_ci
14078c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-h264-fmo-change-direction:
14088c2ecf20Sopenharmony_ci
14098c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION``
14108c2ecf20Sopenharmony_ci    (enum)
14118c2ecf20Sopenharmony_ci
14128c2ecf20Sopenharmony_cienum v4l2_mpeg_video_h264_fmo_change_dir -
14138c2ecf20Sopenharmony_ci    Specifies a direction of the slice group change for raster and wipe
14148c2ecf20Sopenharmony_ci    maps. Applicable to the H264 encoder. Possible values are:
14158c2ecf20Sopenharmony_ci
14168c2ecf20Sopenharmony_ci
14178c2ecf20Sopenharmony_ci
14188c2ecf20Sopenharmony_ci.. flat-table::
14198c2ecf20Sopenharmony_ci    :header-rows:  0
14208c2ecf20Sopenharmony_ci    :stub-columns: 0
14218c2ecf20Sopenharmony_ci
14228c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_RIGHT``
14238c2ecf20Sopenharmony_ci      - Raster scan or wipe right.
14248c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT``
14258c2ecf20Sopenharmony_ci      - Reverse raster scan or wipe left.
14268c2ecf20Sopenharmony_ci
14278c2ecf20Sopenharmony_ci
14288c2ecf20Sopenharmony_ci
14298c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE (integer)``
14308c2ecf20Sopenharmony_ci    Specifies the size of the first slice group for raster and wipe map.
14318c2ecf20Sopenharmony_ci    Applicable to the H264 encoder.
14328c2ecf20Sopenharmony_ci
14338c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH (integer)``
14348c2ecf20Sopenharmony_ci    Specifies the number of consecutive macroblocks for the interleaved
14358c2ecf20Sopenharmony_ci    map. Applicable to the H264 encoder.
14368c2ecf20Sopenharmony_ci
14378c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_ASO (boolean)``
14388c2ecf20Sopenharmony_ci    Enables arbitrary slice ordering in encoded bitstream. Applicable to
14398c2ecf20Sopenharmony_ci    the H264 encoder.
14408c2ecf20Sopenharmony_ci
14418c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER (integer)``
14428c2ecf20Sopenharmony_ci    Specifies the slice order in ASO. Applicable to the H264 encoder.
14438c2ecf20Sopenharmony_ci    The supplied 32-bit integer is interpreted as follows (bit 0 = least
14448c2ecf20Sopenharmony_ci    significant bit):
14458c2ecf20Sopenharmony_ci
14468c2ecf20Sopenharmony_ci
14478c2ecf20Sopenharmony_ci
14488c2ecf20Sopenharmony_ci.. flat-table::
14498c2ecf20Sopenharmony_ci    :header-rows:  0
14508c2ecf20Sopenharmony_ci    :stub-columns: 0
14518c2ecf20Sopenharmony_ci
14528c2ecf20Sopenharmony_ci    * - Bit 0:15
14538c2ecf20Sopenharmony_ci      - Slice ID
14548c2ecf20Sopenharmony_ci    * - Bit 16:32
14558c2ecf20Sopenharmony_ci      - Slice position or order
14568c2ecf20Sopenharmony_ci
14578c2ecf20Sopenharmony_ci
14588c2ecf20Sopenharmony_ci
14598c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING (boolean)``
14608c2ecf20Sopenharmony_ci    Enables H264 hierarchical coding. Applicable to the H264 encoder.
14618c2ecf20Sopenharmony_ci
14628c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-h264-hierarchical-coding-type:
14638c2ecf20Sopenharmony_ci
14648c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE``
14658c2ecf20Sopenharmony_ci    (enum)
14668c2ecf20Sopenharmony_ci
14678c2ecf20Sopenharmony_cienum v4l2_mpeg_video_h264_hierarchical_coding_type -
14688c2ecf20Sopenharmony_ci    Specifies the hierarchical coding type. Applicable to the H264
14698c2ecf20Sopenharmony_ci    encoder. Possible values are:
14708c2ecf20Sopenharmony_ci
14718c2ecf20Sopenharmony_ci
14728c2ecf20Sopenharmony_ci
14738c2ecf20Sopenharmony_ci.. flat-table::
14748c2ecf20Sopenharmony_ci    :header-rows:  0
14758c2ecf20Sopenharmony_ci    :stub-columns: 0
14768c2ecf20Sopenharmony_ci
14778c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B``
14788c2ecf20Sopenharmony_ci      - Hierarchical B coding.
14798c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P``
14808c2ecf20Sopenharmony_ci      - Hierarchical P coding.
14818c2ecf20Sopenharmony_ci
14828c2ecf20Sopenharmony_ci
14838c2ecf20Sopenharmony_ci
14848c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER (integer)``
14858c2ecf20Sopenharmony_ci    Specifies the number of hierarchical coding layers. Applicable to
14868c2ecf20Sopenharmony_ci    the H264 encoder.
14878c2ecf20Sopenharmony_ci
14888c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP (integer)``
14898c2ecf20Sopenharmony_ci    Specifies a user defined QP for each layer. Applicable to the H264
14908c2ecf20Sopenharmony_ci    encoder. The supplied 32-bit integer is interpreted as follows (bit
14918c2ecf20Sopenharmony_ci    0 = least significant bit):
14928c2ecf20Sopenharmony_ci
14938c2ecf20Sopenharmony_ci
14948c2ecf20Sopenharmony_ci
14958c2ecf20Sopenharmony_ci.. flat-table::
14968c2ecf20Sopenharmony_ci    :header-rows:  0
14978c2ecf20Sopenharmony_ci    :stub-columns: 0
14988c2ecf20Sopenharmony_ci
14998c2ecf20Sopenharmony_ci    * - Bit 0:15
15008c2ecf20Sopenharmony_ci      - QP value
15018c2ecf20Sopenharmony_ci    * - Bit 16:32
15028c2ecf20Sopenharmony_ci      - Layer number
15038c2ecf20Sopenharmony_ci
15048c2ecf20Sopenharmony_ci
15058c2ecf20Sopenharmony_ci.. _v4l2-mpeg-h264:
15068c2ecf20Sopenharmony_ci
15078c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_SPS (struct)``
15088c2ecf20Sopenharmony_ci    Specifies the sequence parameter set (as extracted from the
15098c2ecf20Sopenharmony_ci    bitstream) for the associated H264 slice data. This includes the
15108c2ecf20Sopenharmony_ci    necessary parameters for configuring a stateless hardware decoding
15118c2ecf20Sopenharmony_ci    pipeline for H264. The bitstream parameters are defined according
15128c2ecf20Sopenharmony_ci    to :ref:`h264`, section 7.4.2.1.1 "Sequence Parameter Set Data
15138c2ecf20Sopenharmony_ci    Semantics". For further documentation, refer to the above
15148c2ecf20Sopenharmony_ci    specification, unless there is an explicit comment stating
15158c2ecf20Sopenharmony_ci    otherwise.
15168c2ecf20Sopenharmony_ci
15178c2ecf20Sopenharmony_ci    .. note::
15188c2ecf20Sopenharmony_ci
15198c2ecf20Sopenharmony_ci       This compound control is not yet part of the public kernel API and
15208c2ecf20Sopenharmony_ci       it is expected to change.
15218c2ecf20Sopenharmony_ci
15228c2ecf20Sopenharmony_ci.. c:type:: v4l2_ctrl_h264_sps
15238c2ecf20Sopenharmony_ci
15248c2ecf20Sopenharmony_ci.. cssclass:: longtable
15258c2ecf20Sopenharmony_ci
15268c2ecf20Sopenharmony_ci.. flat-table:: struct v4l2_ctrl_h264_sps
15278c2ecf20Sopenharmony_ci    :header-rows:  0
15288c2ecf20Sopenharmony_ci    :stub-columns: 0
15298c2ecf20Sopenharmony_ci    :widths:       1 1 2
15308c2ecf20Sopenharmony_ci
15318c2ecf20Sopenharmony_ci    * - __u8
15328c2ecf20Sopenharmony_ci      - ``profile_idc``
15338c2ecf20Sopenharmony_ci      -
15348c2ecf20Sopenharmony_ci    * - __u8
15358c2ecf20Sopenharmony_ci      - ``constraint_set_flags``
15368c2ecf20Sopenharmony_ci      - See :ref:`Sequence Parameter Set Constraints Set Flags <h264_sps_constraints_set_flags>`
15378c2ecf20Sopenharmony_ci    * - __u8
15388c2ecf20Sopenharmony_ci      - ``level_idc``
15398c2ecf20Sopenharmony_ci      -
15408c2ecf20Sopenharmony_ci    * - __u8
15418c2ecf20Sopenharmony_ci      - ``seq_parameter_set_id``
15428c2ecf20Sopenharmony_ci      -
15438c2ecf20Sopenharmony_ci    * - __u8
15448c2ecf20Sopenharmony_ci      - ``chroma_format_idc``
15458c2ecf20Sopenharmony_ci      -
15468c2ecf20Sopenharmony_ci    * - __u8
15478c2ecf20Sopenharmony_ci      - ``bit_depth_luma_minus8``
15488c2ecf20Sopenharmony_ci      -
15498c2ecf20Sopenharmony_ci    * - __u8
15508c2ecf20Sopenharmony_ci      - ``bit_depth_chroma_minus8``
15518c2ecf20Sopenharmony_ci      -
15528c2ecf20Sopenharmony_ci    * - __u8
15538c2ecf20Sopenharmony_ci      - ``log2_max_frame_num_minus4``
15548c2ecf20Sopenharmony_ci      -
15558c2ecf20Sopenharmony_ci    * - __u8
15568c2ecf20Sopenharmony_ci      - ``pic_order_cnt_type``
15578c2ecf20Sopenharmony_ci      -
15588c2ecf20Sopenharmony_ci    * - __u8
15598c2ecf20Sopenharmony_ci      - ``log2_max_pic_order_cnt_lsb_minus4``
15608c2ecf20Sopenharmony_ci      -
15618c2ecf20Sopenharmony_ci    * - __u8
15628c2ecf20Sopenharmony_ci      - ``max_num_ref_frames``
15638c2ecf20Sopenharmony_ci      -
15648c2ecf20Sopenharmony_ci    * - __u8
15658c2ecf20Sopenharmony_ci      - ``num_ref_frames_in_pic_order_cnt_cycle``
15668c2ecf20Sopenharmony_ci      -
15678c2ecf20Sopenharmony_ci    * - __s32
15688c2ecf20Sopenharmony_ci      - ``offset_for_ref_frame[255]``
15698c2ecf20Sopenharmony_ci      -
15708c2ecf20Sopenharmony_ci    * - __s32
15718c2ecf20Sopenharmony_ci      - ``offset_for_non_ref_pic``
15728c2ecf20Sopenharmony_ci      -
15738c2ecf20Sopenharmony_ci    * - __s32
15748c2ecf20Sopenharmony_ci      - ``offset_for_top_to_bottom_field``
15758c2ecf20Sopenharmony_ci      -
15768c2ecf20Sopenharmony_ci    * - __u16
15778c2ecf20Sopenharmony_ci      - ``pic_width_in_mbs_minus1``
15788c2ecf20Sopenharmony_ci      -
15798c2ecf20Sopenharmony_ci    * - __u16
15808c2ecf20Sopenharmony_ci      - ``pic_height_in_map_units_minus1``
15818c2ecf20Sopenharmony_ci      -
15828c2ecf20Sopenharmony_ci    * - __u32
15838c2ecf20Sopenharmony_ci      - ``flags``
15848c2ecf20Sopenharmony_ci      - See :ref:`Sequence Parameter Set Flags <h264_sps_flags>`
15858c2ecf20Sopenharmony_ci
15868c2ecf20Sopenharmony_ci.. _h264_sps_constraints_set_flags:
15878c2ecf20Sopenharmony_ci
15888c2ecf20Sopenharmony_ci``Sequence Parameter Set Constraints Set Flags``
15898c2ecf20Sopenharmony_ci
15908c2ecf20Sopenharmony_ci.. cssclass:: longtable
15918c2ecf20Sopenharmony_ci
15928c2ecf20Sopenharmony_ci.. flat-table::
15938c2ecf20Sopenharmony_ci    :header-rows:  0
15948c2ecf20Sopenharmony_ci    :stub-columns: 0
15958c2ecf20Sopenharmony_ci    :widths:       1 1 2
15968c2ecf20Sopenharmony_ci
15978c2ecf20Sopenharmony_ci    * - ``V4L2_H264_SPS_CONSTRAINT_SET0_FLAG``
15988c2ecf20Sopenharmony_ci      - 0x00000001
15998c2ecf20Sopenharmony_ci      -
16008c2ecf20Sopenharmony_ci    * - ``V4L2_H264_SPS_CONSTRAINT_SET1_FLAG``
16018c2ecf20Sopenharmony_ci      - 0x00000002
16028c2ecf20Sopenharmony_ci      -
16038c2ecf20Sopenharmony_ci    * - ``V4L2_H264_SPS_CONSTRAINT_SET2_FLAG``
16048c2ecf20Sopenharmony_ci      - 0x00000004
16058c2ecf20Sopenharmony_ci      -
16068c2ecf20Sopenharmony_ci    * - ``V4L2_H264_SPS_CONSTRAINT_SET3_FLAG``
16078c2ecf20Sopenharmony_ci      - 0x00000008
16088c2ecf20Sopenharmony_ci      -
16098c2ecf20Sopenharmony_ci    * - ``V4L2_H264_SPS_CONSTRAINT_SET4_FLAG``
16108c2ecf20Sopenharmony_ci      - 0x00000010
16118c2ecf20Sopenharmony_ci      -
16128c2ecf20Sopenharmony_ci    * - ``V4L2_H264_SPS_CONSTRAINT_SET5_FLAG``
16138c2ecf20Sopenharmony_ci      - 0x00000020
16148c2ecf20Sopenharmony_ci      -
16158c2ecf20Sopenharmony_ci
16168c2ecf20Sopenharmony_ci.. _h264_sps_flags:
16178c2ecf20Sopenharmony_ci
16188c2ecf20Sopenharmony_ci``Sequence Parameter Set Flags``
16198c2ecf20Sopenharmony_ci
16208c2ecf20Sopenharmony_ci.. cssclass:: longtable
16218c2ecf20Sopenharmony_ci
16228c2ecf20Sopenharmony_ci.. flat-table::
16238c2ecf20Sopenharmony_ci    :header-rows:  0
16248c2ecf20Sopenharmony_ci    :stub-columns: 0
16258c2ecf20Sopenharmony_ci    :widths:       1 1 2
16268c2ecf20Sopenharmony_ci
16278c2ecf20Sopenharmony_ci    * - ``V4L2_H264_SPS_FLAG_SEPARATE_COLOUR_PLANE``
16288c2ecf20Sopenharmony_ci      - 0x00000001
16298c2ecf20Sopenharmony_ci      -
16308c2ecf20Sopenharmony_ci    * - ``V4L2_H264_SPS_FLAG_QPPRIME_Y_ZERO_TRANSFORM_BYPASS``
16318c2ecf20Sopenharmony_ci      - 0x00000002
16328c2ecf20Sopenharmony_ci      -
16338c2ecf20Sopenharmony_ci    * - ``V4L2_H264_SPS_FLAG_DELTA_PIC_ORDER_ALWAYS_ZERO``
16348c2ecf20Sopenharmony_ci      - 0x00000004
16358c2ecf20Sopenharmony_ci      -
16368c2ecf20Sopenharmony_ci    * - ``V4L2_H264_SPS_FLAG_GAPS_IN_FRAME_NUM_VALUE_ALLOWED``
16378c2ecf20Sopenharmony_ci      - 0x00000008
16388c2ecf20Sopenharmony_ci      -
16398c2ecf20Sopenharmony_ci    * - ``V4L2_H264_SPS_FLAG_FRAME_MBS_ONLY``
16408c2ecf20Sopenharmony_ci      - 0x00000010
16418c2ecf20Sopenharmony_ci      -
16428c2ecf20Sopenharmony_ci    * - ``V4L2_H264_SPS_FLAG_MB_ADAPTIVE_FRAME_FIELD``
16438c2ecf20Sopenharmony_ci      - 0x00000020
16448c2ecf20Sopenharmony_ci      -
16458c2ecf20Sopenharmony_ci    * - ``V4L2_H264_SPS_FLAG_DIRECT_8X8_INFERENCE``
16468c2ecf20Sopenharmony_ci      - 0x00000040
16478c2ecf20Sopenharmony_ci      -
16488c2ecf20Sopenharmony_ci
16498c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_PPS (struct)``
16508c2ecf20Sopenharmony_ci    Specifies the picture parameter set (as extracted from the
16518c2ecf20Sopenharmony_ci    bitstream) for the associated H264 slice data. This includes the
16528c2ecf20Sopenharmony_ci    necessary parameters for configuring a stateless hardware decoding
16538c2ecf20Sopenharmony_ci    pipeline for H264.  The bitstream parameters are defined according
16548c2ecf20Sopenharmony_ci    to :ref:`h264`, section 7.4.2.2 "Picture Parameter Set RBSP
16558c2ecf20Sopenharmony_ci    Semantics". For further documentation, refer to the above
16568c2ecf20Sopenharmony_ci    specification, unless there is an explicit comment stating
16578c2ecf20Sopenharmony_ci    otherwise.
16588c2ecf20Sopenharmony_ci
16598c2ecf20Sopenharmony_ci    .. note::
16608c2ecf20Sopenharmony_ci
16618c2ecf20Sopenharmony_ci       This compound control is not yet part of the public kernel API and
16628c2ecf20Sopenharmony_ci       it is expected to change.
16638c2ecf20Sopenharmony_ci
16648c2ecf20Sopenharmony_ci.. c:type:: v4l2_ctrl_h264_pps
16658c2ecf20Sopenharmony_ci
16668c2ecf20Sopenharmony_ci.. cssclass:: longtable
16678c2ecf20Sopenharmony_ci
16688c2ecf20Sopenharmony_ci.. flat-table:: struct v4l2_ctrl_h264_pps
16698c2ecf20Sopenharmony_ci    :header-rows:  0
16708c2ecf20Sopenharmony_ci    :stub-columns: 0
16718c2ecf20Sopenharmony_ci    :widths:       1 1 2
16728c2ecf20Sopenharmony_ci
16738c2ecf20Sopenharmony_ci    * - __u8
16748c2ecf20Sopenharmony_ci      - ``pic_parameter_set_id``
16758c2ecf20Sopenharmony_ci      -
16768c2ecf20Sopenharmony_ci    * - __u8
16778c2ecf20Sopenharmony_ci      - ``seq_parameter_set_id``
16788c2ecf20Sopenharmony_ci      -
16798c2ecf20Sopenharmony_ci    * - __u8
16808c2ecf20Sopenharmony_ci      - ``num_slice_groups_minus1``
16818c2ecf20Sopenharmony_ci      -
16828c2ecf20Sopenharmony_ci    * - __u8
16838c2ecf20Sopenharmony_ci      - ``num_ref_idx_l0_default_active_minus1``
16848c2ecf20Sopenharmony_ci      -
16858c2ecf20Sopenharmony_ci    * - __u8
16868c2ecf20Sopenharmony_ci      - ``num_ref_idx_l1_default_active_minus1``
16878c2ecf20Sopenharmony_ci      -
16888c2ecf20Sopenharmony_ci    * - __u8
16898c2ecf20Sopenharmony_ci      - ``weighted_bipred_idc``
16908c2ecf20Sopenharmony_ci      -
16918c2ecf20Sopenharmony_ci    * - __s8
16928c2ecf20Sopenharmony_ci      - ``pic_init_qp_minus26``
16938c2ecf20Sopenharmony_ci      -
16948c2ecf20Sopenharmony_ci    * - __s8
16958c2ecf20Sopenharmony_ci      - ``pic_init_qs_minus26``
16968c2ecf20Sopenharmony_ci      -
16978c2ecf20Sopenharmony_ci    * - __s8
16988c2ecf20Sopenharmony_ci      - ``chroma_qp_index_offset``
16998c2ecf20Sopenharmony_ci      -
17008c2ecf20Sopenharmony_ci    * - __s8
17018c2ecf20Sopenharmony_ci      - ``second_chroma_qp_index_offset``
17028c2ecf20Sopenharmony_ci      -
17038c2ecf20Sopenharmony_ci    * - __u16
17048c2ecf20Sopenharmony_ci      - ``flags``
17058c2ecf20Sopenharmony_ci      - See :ref:`Picture Parameter Set Flags <h264_pps_flags>`
17068c2ecf20Sopenharmony_ci
17078c2ecf20Sopenharmony_ci.. _h264_pps_flags:
17088c2ecf20Sopenharmony_ci
17098c2ecf20Sopenharmony_ci``Picture Parameter Set Flags``
17108c2ecf20Sopenharmony_ci
17118c2ecf20Sopenharmony_ci.. cssclass:: longtable
17128c2ecf20Sopenharmony_ci
17138c2ecf20Sopenharmony_ci.. flat-table::
17148c2ecf20Sopenharmony_ci    :header-rows:  0
17158c2ecf20Sopenharmony_ci    :stub-columns: 0
17168c2ecf20Sopenharmony_ci    :widths:       1 1 2
17178c2ecf20Sopenharmony_ci
17188c2ecf20Sopenharmony_ci    * - ``V4L2_H264_PPS_FLAG_ENTROPY_CODING_MODE``
17198c2ecf20Sopenharmony_ci      - 0x00000001
17208c2ecf20Sopenharmony_ci      -
17218c2ecf20Sopenharmony_ci    * - ``V4L2_H264_PPS_FLAG_BOTTOM_FIELD_PIC_ORDER_IN_FRAME_PRESENT``
17228c2ecf20Sopenharmony_ci      - 0x00000002
17238c2ecf20Sopenharmony_ci      -
17248c2ecf20Sopenharmony_ci    * - ``V4L2_H264_PPS_FLAG_WEIGHTED_PRED``
17258c2ecf20Sopenharmony_ci      - 0x00000004
17268c2ecf20Sopenharmony_ci      -
17278c2ecf20Sopenharmony_ci    * - ``V4L2_H264_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT``
17288c2ecf20Sopenharmony_ci      - 0x00000008
17298c2ecf20Sopenharmony_ci      -
17308c2ecf20Sopenharmony_ci    * - ``V4L2_H264_PPS_FLAG_CONSTRAINED_INTRA_PRED``
17318c2ecf20Sopenharmony_ci      - 0x00000010
17328c2ecf20Sopenharmony_ci      -
17338c2ecf20Sopenharmony_ci    * - ``V4L2_H264_PPS_FLAG_REDUNDANT_PIC_CNT_PRESENT``
17348c2ecf20Sopenharmony_ci      - 0x00000020
17358c2ecf20Sopenharmony_ci      -
17368c2ecf20Sopenharmony_ci    * - ``V4L2_H264_PPS_FLAG_TRANSFORM_8X8_MODE``
17378c2ecf20Sopenharmony_ci      - 0x00000040
17388c2ecf20Sopenharmony_ci      -
17398c2ecf20Sopenharmony_ci    * - ``V4L2_H264_PPS_FLAG_SCALING_MATRIX_PRESENT``
17408c2ecf20Sopenharmony_ci      - 0x00000080
17418c2ecf20Sopenharmony_ci      - Indicates that ``V4L2_CID_MPEG_VIDEO_H264_SCALING_MATRIX``
17428c2ecf20Sopenharmony_ci        must be used for this picture.
17438c2ecf20Sopenharmony_ci
17448c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_SCALING_MATRIX (struct)``
17458c2ecf20Sopenharmony_ci    Specifies the scaling matrix (as extracted from the bitstream) for
17468c2ecf20Sopenharmony_ci    the associated H264 slice data. The bitstream parameters are
17478c2ecf20Sopenharmony_ci    defined according to :ref:`h264`, section 7.4.2.1.1.1 "Scaling
17488c2ecf20Sopenharmony_ci    List Semantics". For further documentation, refer to the above
17498c2ecf20Sopenharmony_ci    specification, unless there is an explicit comment stating
17508c2ecf20Sopenharmony_ci    otherwise.
17518c2ecf20Sopenharmony_ci
17528c2ecf20Sopenharmony_ci    .. note::
17538c2ecf20Sopenharmony_ci
17548c2ecf20Sopenharmony_ci       This compound control is not yet part of the public kernel API and
17558c2ecf20Sopenharmony_ci       it is expected to change.
17568c2ecf20Sopenharmony_ci
17578c2ecf20Sopenharmony_ci.. c:type:: v4l2_ctrl_h264_scaling_matrix
17588c2ecf20Sopenharmony_ci
17598c2ecf20Sopenharmony_ci.. cssclass:: longtable
17608c2ecf20Sopenharmony_ci
17618c2ecf20Sopenharmony_ci.. flat-table:: struct v4l2_ctrl_h264_scaling_matrix
17628c2ecf20Sopenharmony_ci    :header-rows:  0
17638c2ecf20Sopenharmony_ci    :stub-columns: 0
17648c2ecf20Sopenharmony_ci    :widths:       1 1 2
17658c2ecf20Sopenharmony_ci
17668c2ecf20Sopenharmony_ci    * - __u8
17678c2ecf20Sopenharmony_ci      - ``scaling_list_4x4[6][16]``
17688c2ecf20Sopenharmony_ci      - Scaling matrix after applying the inverse scanning process.
17698c2ecf20Sopenharmony_ci        Expected list order is Intra Y, Intra Cb, Intra Cr, Inter Y,
17708c2ecf20Sopenharmony_ci        Inter Cb, Inter Cr. The values on each scaling list are
17718c2ecf20Sopenharmony_ci        expected in raster scan order.
17728c2ecf20Sopenharmony_ci    * - __u8
17738c2ecf20Sopenharmony_ci      - ``scaling_list_8x8[6][64]``
17748c2ecf20Sopenharmony_ci      - Scaling matrix after applying the inverse scanning process.
17758c2ecf20Sopenharmony_ci        Expected list order is Intra Y, Inter Y, Intra Cb, Inter Cb,
17768c2ecf20Sopenharmony_ci        Intra Cr, Inter Cr. The values on each scaling list are
17778c2ecf20Sopenharmony_ci        expected in raster scan order.
17788c2ecf20Sopenharmony_ci
17798c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_SLICE_PARAMS (struct)``
17808c2ecf20Sopenharmony_ci    Specifies the slice parameters (as extracted from the bitstream)
17818c2ecf20Sopenharmony_ci    for the associated H264 slice data. This includes the necessary
17828c2ecf20Sopenharmony_ci    parameters for configuring a stateless hardware decoding pipeline
17838c2ecf20Sopenharmony_ci    for H264.  The bitstream parameters are defined according to
17848c2ecf20Sopenharmony_ci    :ref:`h264`, section 7.4.3 "Slice Header Semantics". For further
17858c2ecf20Sopenharmony_ci    documentation, refer to the above specification, unless there is
17868c2ecf20Sopenharmony_ci    an explicit comment stating otherwise.
17878c2ecf20Sopenharmony_ci
17888c2ecf20Sopenharmony_ci    .. note::
17898c2ecf20Sopenharmony_ci
17908c2ecf20Sopenharmony_ci       This compound control is not yet part of the public kernel API
17918c2ecf20Sopenharmony_ci       and it is expected to change.
17928c2ecf20Sopenharmony_ci
17938c2ecf20Sopenharmony_ci.. c:type:: v4l2_ctrl_h264_slice_params
17948c2ecf20Sopenharmony_ci
17958c2ecf20Sopenharmony_ci.. cssclass:: longtable
17968c2ecf20Sopenharmony_ci
17978c2ecf20Sopenharmony_ci.. flat-table:: struct v4l2_ctrl_h264_slice_params
17988c2ecf20Sopenharmony_ci    :header-rows:  0
17998c2ecf20Sopenharmony_ci    :stub-columns: 0
18008c2ecf20Sopenharmony_ci    :widths:       1 1 2
18018c2ecf20Sopenharmony_ci
18028c2ecf20Sopenharmony_ci    * - __u32
18038c2ecf20Sopenharmony_ci      - ``header_bit_size``
18048c2ecf20Sopenharmony_ci      - Offset in bits to slice_data() from the beginning of this slice.
18058c2ecf20Sopenharmony_ci    * - __u32
18068c2ecf20Sopenharmony_ci      - ``first_mb_in_slice``
18078c2ecf20Sopenharmony_ci      -
18088c2ecf20Sopenharmony_ci    * - __u8
18098c2ecf20Sopenharmony_ci      - ``slice_type``
18108c2ecf20Sopenharmony_ci      -
18118c2ecf20Sopenharmony_ci    * - __u8
18128c2ecf20Sopenharmony_ci      - ``colour_plane_id``
18138c2ecf20Sopenharmony_ci      -
18148c2ecf20Sopenharmony_ci    * - __u8
18158c2ecf20Sopenharmony_ci      - ``redundant_pic_cnt``
18168c2ecf20Sopenharmony_ci      -
18178c2ecf20Sopenharmony_ci    * - __u8
18188c2ecf20Sopenharmony_ci      - ``cabac_init_idc``
18198c2ecf20Sopenharmony_ci      -
18208c2ecf20Sopenharmony_ci    * - __s8
18218c2ecf20Sopenharmony_ci      - ``slice_qp_delta``
18228c2ecf20Sopenharmony_ci      -
18238c2ecf20Sopenharmony_ci    * - __s8
18248c2ecf20Sopenharmony_ci      - ``slice_qs_delta``
18258c2ecf20Sopenharmony_ci      -
18268c2ecf20Sopenharmony_ci    * - __u8
18278c2ecf20Sopenharmony_ci      - ``disable_deblocking_filter_idc``
18288c2ecf20Sopenharmony_ci      -
18298c2ecf20Sopenharmony_ci    * - __s8
18308c2ecf20Sopenharmony_ci      - ``slice_alpha_c0_offset_div2``
18318c2ecf20Sopenharmony_ci      -
18328c2ecf20Sopenharmony_ci    * - __s8
18338c2ecf20Sopenharmony_ci      - ``slice_beta_offset_div2``
18348c2ecf20Sopenharmony_ci      -
18358c2ecf20Sopenharmony_ci    * - __u8
18368c2ecf20Sopenharmony_ci      - ``num_ref_idx_l0_active_minus1``
18378c2ecf20Sopenharmony_ci      - If num_ref_idx_active_override_flag is not set, this field must be
18388c2ecf20Sopenharmony_ci        set to the value of num_ref_idx_l0_default_active_minus1.
18398c2ecf20Sopenharmony_ci    * - __u8
18408c2ecf20Sopenharmony_ci      - ``num_ref_idx_l1_active_minus1``
18418c2ecf20Sopenharmony_ci      - If num_ref_idx_active_override_flag is not set, this field must be
18428c2ecf20Sopenharmony_ci        set to the value of num_ref_idx_l1_default_active_minus1.
18438c2ecf20Sopenharmony_ci    * - __u8
18448c2ecf20Sopenharmony_ci      - ``reserved``
18458c2ecf20Sopenharmony_ci      - Applications and drivers must set this to zero.
18468c2ecf20Sopenharmony_ci    * - struct :c:type:`v4l2_h264_reference`
18478c2ecf20Sopenharmony_ci      - ``ref_pic_list0[32]``
18488c2ecf20Sopenharmony_ci      - Reference picture list after applying the per-slice modifications
18498c2ecf20Sopenharmony_ci    * - struct :c:type:`v4l2_h264_reference`
18508c2ecf20Sopenharmony_ci      - ``ref_pic_list1[32]``
18518c2ecf20Sopenharmony_ci      - Reference picture list after applying the per-slice modifications
18528c2ecf20Sopenharmony_ci    * - __u32
18538c2ecf20Sopenharmony_ci      - ``flags``
18548c2ecf20Sopenharmony_ci      - See :ref:`Slice Parameter Flags <h264_slice_flags>`
18558c2ecf20Sopenharmony_ci
18568c2ecf20Sopenharmony_ci.. _h264_slice_flags:
18578c2ecf20Sopenharmony_ci
18588c2ecf20Sopenharmony_ci``Slice Parameter Set Flags``
18598c2ecf20Sopenharmony_ci
18608c2ecf20Sopenharmony_ci.. cssclass:: longtable
18618c2ecf20Sopenharmony_ci
18628c2ecf20Sopenharmony_ci.. flat-table::
18638c2ecf20Sopenharmony_ci    :header-rows:  0
18648c2ecf20Sopenharmony_ci    :stub-columns: 0
18658c2ecf20Sopenharmony_ci    :widths:       1 1 2
18668c2ecf20Sopenharmony_ci
18678c2ecf20Sopenharmony_ci    * - ``V4L2_H264_SLICE_FLAG_DIRECT_SPATIAL_MV_PRED``
18688c2ecf20Sopenharmony_ci      - 0x00000001
18698c2ecf20Sopenharmony_ci      -
18708c2ecf20Sopenharmony_ci    * - ``V4L2_H264_SLICE_FLAG_SP_FOR_SWITCH``
18718c2ecf20Sopenharmony_ci      - 0x00000002
18728c2ecf20Sopenharmony_ci      -
18738c2ecf20Sopenharmony_ci
18748c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_PRED_WEIGHTS (struct)``
18758c2ecf20Sopenharmony_ci    Prediction weight table defined according to :ref:`h264`,
18768c2ecf20Sopenharmony_ci    section 7.4.3.2 "Prediction Weight Table Semantics".
18778c2ecf20Sopenharmony_ci    The prediction weight table must be passed by applications
18788c2ecf20Sopenharmony_ci    under the conditions explained in section 7.3.3 "Slice header
18798c2ecf20Sopenharmony_ci    syntax".
18808c2ecf20Sopenharmony_ci
18818c2ecf20Sopenharmony_ci    .. note::
18828c2ecf20Sopenharmony_ci
18838c2ecf20Sopenharmony_ci       This compound control is not yet part of the public kernel API and
18848c2ecf20Sopenharmony_ci       it is expected to change.
18858c2ecf20Sopenharmony_ci
18868c2ecf20Sopenharmony_ci.. c:type:: v4l2_ctrl_h264_pred_weights
18878c2ecf20Sopenharmony_ci
18888c2ecf20Sopenharmony_ci.. cssclass:: longtable
18898c2ecf20Sopenharmony_ci
18908c2ecf20Sopenharmony_ci.. flat-table:: struct v4l2_ctrl_h264_pred_weights
18918c2ecf20Sopenharmony_ci    :header-rows:  0
18928c2ecf20Sopenharmony_ci    :stub-columns: 0
18938c2ecf20Sopenharmony_ci    :widths:       1 1 2
18948c2ecf20Sopenharmony_ci
18958c2ecf20Sopenharmony_ci    * - __u16
18968c2ecf20Sopenharmony_ci      - ``luma_log2_weight_denom``
18978c2ecf20Sopenharmony_ci      -
18988c2ecf20Sopenharmony_ci    * - __u16
18998c2ecf20Sopenharmony_ci      - ``chroma_log2_weight_denom``
19008c2ecf20Sopenharmony_ci      -
19018c2ecf20Sopenharmony_ci    * - struct :c:type:`v4l2_h264_weight_factors`
19028c2ecf20Sopenharmony_ci      - ``weight_factors[2]``
19038c2ecf20Sopenharmony_ci      - The weight factors at index 0 are the weight factors for the reference
19048c2ecf20Sopenharmony_ci        list 0, the one at index 1 for the reference list 1.
19058c2ecf20Sopenharmony_ci
19068c2ecf20Sopenharmony_ci.. c:type:: v4l2_h264_weight_factors
19078c2ecf20Sopenharmony_ci
19088c2ecf20Sopenharmony_ci.. cssclass:: longtable
19098c2ecf20Sopenharmony_ci
19108c2ecf20Sopenharmony_ci.. flat-table:: struct v4l2_h264_weight_factors
19118c2ecf20Sopenharmony_ci    :header-rows:  0
19128c2ecf20Sopenharmony_ci    :stub-columns: 0
19138c2ecf20Sopenharmony_ci    :widths:       1 1 2
19148c2ecf20Sopenharmony_ci
19158c2ecf20Sopenharmony_ci    * - __s16
19168c2ecf20Sopenharmony_ci      - ``luma_weight[32]``
19178c2ecf20Sopenharmony_ci      -
19188c2ecf20Sopenharmony_ci    * - __s16
19198c2ecf20Sopenharmony_ci      - ``luma_offset[32]``
19208c2ecf20Sopenharmony_ci      -
19218c2ecf20Sopenharmony_ci    * - __s16
19228c2ecf20Sopenharmony_ci      - ``chroma_weight[32][2]``
19238c2ecf20Sopenharmony_ci      -
19248c2ecf20Sopenharmony_ci    * - __s16
19258c2ecf20Sopenharmony_ci      - ``chroma_offset[32][2]``
19268c2ecf20Sopenharmony_ci      -
19278c2ecf20Sopenharmony_ci
19288c2ecf20Sopenharmony_ci``Picture Reference``
19298c2ecf20Sopenharmony_ci
19308c2ecf20Sopenharmony_ci.. c:type:: v4l2_h264_reference
19318c2ecf20Sopenharmony_ci
19328c2ecf20Sopenharmony_ci.. cssclass:: longtable
19338c2ecf20Sopenharmony_ci
19348c2ecf20Sopenharmony_ci.. flat-table:: struct v4l2_h264_reference
19358c2ecf20Sopenharmony_ci    :header-rows:  0
19368c2ecf20Sopenharmony_ci    :stub-columns: 0
19378c2ecf20Sopenharmony_ci    :widths:       1 1 2
19388c2ecf20Sopenharmony_ci
19398c2ecf20Sopenharmony_ci    * - __u8
19408c2ecf20Sopenharmony_ci      - ``fields``
19418c2ecf20Sopenharmony_ci      - Specifies how the picture is referenced. See :ref:`Reference Fields <h264_ref_fields>`
19428c2ecf20Sopenharmony_ci    * - __u8
19438c2ecf20Sopenharmony_ci      - ``index``
19448c2ecf20Sopenharmony_ci      - Index into the :c:type:`v4l2_ctrl_h264_decode_params`.dpb array.
19458c2ecf20Sopenharmony_ci
19468c2ecf20Sopenharmony_ci.. _h264_ref_fields:
19478c2ecf20Sopenharmony_ci
19488c2ecf20Sopenharmony_ci``Reference Fields``
19498c2ecf20Sopenharmony_ci
19508c2ecf20Sopenharmony_ci.. cssclass:: longtable
19518c2ecf20Sopenharmony_ci
19528c2ecf20Sopenharmony_ci.. flat-table::
19538c2ecf20Sopenharmony_ci    :header-rows:  0
19548c2ecf20Sopenharmony_ci    :stub-columns: 0
19558c2ecf20Sopenharmony_ci    :widths:       1 1 2
19568c2ecf20Sopenharmony_ci
19578c2ecf20Sopenharmony_ci    * - ``V4L2_H264_TOP_FIELD_REF``
19588c2ecf20Sopenharmony_ci      - 0x1
19598c2ecf20Sopenharmony_ci      - The top field in field pair is used for short-term reference.
19608c2ecf20Sopenharmony_ci    * - ``V4L2_H264_BOTTOM_FIELD_REF``
19618c2ecf20Sopenharmony_ci      - 0x2
19628c2ecf20Sopenharmony_ci      - The bottom field in field pair is used for short-term reference.
19638c2ecf20Sopenharmony_ci    * - ``V4L2_H264_FRAME_REF``
19648c2ecf20Sopenharmony_ci      - 0x3
19658c2ecf20Sopenharmony_ci      - The frame (or the top/bottom fields, if it's a field pair)
19668c2ecf20Sopenharmony_ci        is used for short-term reference.
19678c2ecf20Sopenharmony_ci
19688c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_DECODE_PARAMS (struct)``
19698c2ecf20Sopenharmony_ci    Specifies the decode parameters (as extracted from the bitstream)
19708c2ecf20Sopenharmony_ci    for the associated H264 slice data. This includes the necessary
19718c2ecf20Sopenharmony_ci    parameters for configuring a stateless hardware decoding pipeline
19728c2ecf20Sopenharmony_ci    for H264. The bitstream parameters are defined according to
19738c2ecf20Sopenharmony_ci    :ref:`h264`. For further documentation, refer to the above
19748c2ecf20Sopenharmony_ci    specification, unless there is an explicit comment stating
19758c2ecf20Sopenharmony_ci    otherwise.
19768c2ecf20Sopenharmony_ci
19778c2ecf20Sopenharmony_ci    .. note::
19788c2ecf20Sopenharmony_ci
19798c2ecf20Sopenharmony_ci       This compound control is not yet part of the public kernel API and
19808c2ecf20Sopenharmony_ci       it is expected to change.
19818c2ecf20Sopenharmony_ci
19828c2ecf20Sopenharmony_ci.. c:type:: v4l2_ctrl_h264_decode_params
19838c2ecf20Sopenharmony_ci
19848c2ecf20Sopenharmony_ci.. cssclass:: longtable
19858c2ecf20Sopenharmony_ci
19868c2ecf20Sopenharmony_ci.. flat-table:: struct v4l2_ctrl_h264_decode_params
19878c2ecf20Sopenharmony_ci    :header-rows:  0
19888c2ecf20Sopenharmony_ci    :stub-columns: 0
19898c2ecf20Sopenharmony_ci    :widths:       1 1 2
19908c2ecf20Sopenharmony_ci
19918c2ecf20Sopenharmony_ci    * - struct :c:type:`v4l2_h264_dpb_entry`
19928c2ecf20Sopenharmony_ci      - ``dpb[16]``
19938c2ecf20Sopenharmony_ci      -
19948c2ecf20Sopenharmony_ci    * - __u16
19958c2ecf20Sopenharmony_ci      - ``nal_ref_idc``
19968c2ecf20Sopenharmony_ci      - NAL reference ID value coming from the NAL Unit header
19978c2ecf20Sopenharmony_ci    * - __u16
19988c2ecf20Sopenharmony_ci      - ``frame_num``
19998c2ecf20Sopenharmony_ci      -
20008c2ecf20Sopenharmony_ci    * - __s32
20018c2ecf20Sopenharmony_ci      - ``top_field_order_cnt``
20028c2ecf20Sopenharmony_ci      - Picture Order Count for the coded top field
20038c2ecf20Sopenharmony_ci    * - __s32
20048c2ecf20Sopenharmony_ci      - ``bottom_field_order_cnt``
20058c2ecf20Sopenharmony_ci      - Picture Order Count for the coded bottom field
20068c2ecf20Sopenharmony_ci    * - __u16
20078c2ecf20Sopenharmony_ci      - ``idr_pic_id``
20088c2ecf20Sopenharmony_ci      -
20098c2ecf20Sopenharmony_ci    * - __u16
20108c2ecf20Sopenharmony_ci      - ``pic_order_cnt_lsb``
20118c2ecf20Sopenharmony_ci      -
20128c2ecf20Sopenharmony_ci    * - __s32
20138c2ecf20Sopenharmony_ci      - ``delta_pic_order_cnt_bottom``
20148c2ecf20Sopenharmony_ci      -
20158c2ecf20Sopenharmony_ci    * - __s32
20168c2ecf20Sopenharmony_ci      - ``delta_pic_order_cnt0``
20178c2ecf20Sopenharmony_ci      -
20188c2ecf20Sopenharmony_ci    * - __s32
20198c2ecf20Sopenharmony_ci      - ``delta_pic_order_cnt1``
20208c2ecf20Sopenharmony_ci      -
20218c2ecf20Sopenharmony_ci    * - __u32
20228c2ecf20Sopenharmony_ci      - ``dec_ref_pic_marking_bit_size``
20238c2ecf20Sopenharmony_ci      - Size in bits of the dec_ref_pic_marking() syntax element.
20248c2ecf20Sopenharmony_ci    * - __u32
20258c2ecf20Sopenharmony_ci      - ``pic_order_cnt_bit_size``
20268c2ecf20Sopenharmony_ci      - Combined size in bits of the picture order count related syntax
20278c2ecf20Sopenharmony_ci        elements: pic_order_cnt_lsb, delta_pic_order_cnt_bottom,
20288c2ecf20Sopenharmony_ci        delta_pic_order_cnt0, and delta_pic_order_cnt1.
20298c2ecf20Sopenharmony_ci    * - __u32
20308c2ecf20Sopenharmony_ci      - ``slice_group_change_cycle``
20318c2ecf20Sopenharmony_ci      -
20328c2ecf20Sopenharmony_ci    * - __u32
20338c2ecf20Sopenharmony_ci      - ``reserved``
20348c2ecf20Sopenharmony_ci      - Applications and drivers must set this to zero.
20358c2ecf20Sopenharmony_ci    * - __u32
20368c2ecf20Sopenharmony_ci      - ``flags``
20378c2ecf20Sopenharmony_ci      - See :ref:`Decode Parameters Flags <h264_decode_params_flags>`
20388c2ecf20Sopenharmony_ci
20398c2ecf20Sopenharmony_ci.. _h264_decode_params_flags:
20408c2ecf20Sopenharmony_ci
20418c2ecf20Sopenharmony_ci``Decode Parameters Flags``
20428c2ecf20Sopenharmony_ci
20438c2ecf20Sopenharmony_ci.. cssclass:: longtable
20448c2ecf20Sopenharmony_ci
20458c2ecf20Sopenharmony_ci.. flat-table::
20468c2ecf20Sopenharmony_ci    :header-rows:  0
20478c2ecf20Sopenharmony_ci    :stub-columns: 0
20488c2ecf20Sopenharmony_ci    :widths:       1 1 2
20498c2ecf20Sopenharmony_ci
20508c2ecf20Sopenharmony_ci    * - ``V4L2_H264_DECODE_PARAM_FLAG_IDR_PIC``
20518c2ecf20Sopenharmony_ci      - 0x00000001
20528c2ecf20Sopenharmony_ci      - That picture is an IDR picture
20538c2ecf20Sopenharmony_ci    * - ``V4L2_H264_DECODE_PARAM_FLAG_FIELD_PIC``
20548c2ecf20Sopenharmony_ci      - 0x00000002
20558c2ecf20Sopenharmony_ci      -
20568c2ecf20Sopenharmony_ci    * - ``V4L2_H264_DECODE_PARAM_FLAG_BOTTOM_FIELD``
20578c2ecf20Sopenharmony_ci      - 0x00000004
20588c2ecf20Sopenharmony_ci      -
20598c2ecf20Sopenharmony_ci
20608c2ecf20Sopenharmony_ci.. c:type:: v4l2_h264_dpb_entry
20618c2ecf20Sopenharmony_ci
20628c2ecf20Sopenharmony_ci.. cssclass:: longtable
20638c2ecf20Sopenharmony_ci
20648c2ecf20Sopenharmony_ci.. flat-table:: struct v4l2_h264_dpb_entry
20658c2ecf20Sopenharmony_ci    :header-rows:  0
20668c2ecf20Sopenharmony_ci    :stub-columns: 0
20678c2ecf20Sopenharmony_ci    :widths:       1 1 2
20688c2ecf20Sopenharmony_ci
20698c2ecf20Sopenharmony_ci    * - __u64
20708c2ecf20Sopenharmony_ci      - ``reference_ts``
20718c2ecf20Sopenharmony_ci      - Timestamp of the V4L2 capture buffer to use as reference, used
20728c2ecf20Sopenharmony_ci        with B-coded and P-coded frames. The timestamp refers to the
20738c2ecf20Sopenharmony_ci        ``timestamp`` field in struct :c:type:`v4l2_buffer`. Use the
20748c2ecf20Sopenharmony_ci        :c:func:`v4l2_timeval_to_ns()` function to convert the struct
20758c2ecf20Sopenharmony_ci        :c:type:`timeval` in struct :c:type:`v4l2_buffer` to a __u64.
20768c2ecf20Sopenharmony_ci    * - __u32
20778c2ecf20Sopenharmony_ci      - ``pic_num``
20788c2ecf20Sopenharmony_ci      -
20798c2ecf20Sopenharmony_ci    * - __u16
20808c2ecf20Sopenharmony_ci      - ``frame_num``
20818c2ecf20Sopenharmony_ci      -
20828c2ecf20Sopenharmony_ci    * - __u8
20838c2ecf20Sopenharmony_ci      - ``fields``
20848c2ecf20Sopenharmony_ci      - Specifies how the DPB entry is referenced. See :ref:`Reference Fields <h264_ref_fields>`
20858c2ecf20Sopenharmony_ci    * - __u8
20868c2ecf20Sopenharmony_ci      - ``reserved[5]``
20878c2ecf20Sopenharmony_ci      - Applications and drivers must set this to zero.
20888c2ecf20Sopenharmony_ci    * - __s32
20898c2ecf20Sopenharmony_ci      - ``top_field_order_cnt``
20908c2ecf20Sopenharmony_ci      -
20918c2ecf20Sopenharmony_ci    * - __s32
20928c2ecf20Sopenharmony_ci      - ``bottom_field_order_cnt``
20938c2ecf20Sopenharmony_ci      -
20948c2ecf20Sopenharmony_ci    * - __u32
20958c2ecf20Sopenharmony_ci      - ``flags``
20968c2ecf20Sopenharmony_ci      - See :ref:`DPB Entry Flags <h264_dpb_flags>`
20978c2ecf20Sopenharmony_ci
20988c2ecf20Sopenharmony_ci.. _h264_dpb_flags:
20998c2ecf20Sopenharmony_ci
21008c2ecf20Sopenharmony_ci``DPB Entries Flags``
21018c2ecf20Sopenharmony_ci
21028c2ecf20Sopenharmony_ci.. cssclass:: longtable
21038c2ecf20Sopenharmony_ci
21048c2ecf20Sopenharmony_ci.. flat-table::
21058c2ecf20Sopenharmony_ci    :header-rows:  0
21068c2ecf20Sopenharmony_ci    :stub-columns: 0
21078c2ecf20Sopenharmony_ci    :widths:       1 1 2
21088c2ecf20Sopenharmony_ci
21098c2ecf20Sopenharmony_ci    * - ``V4L2_H264_DPB_ENTRY_FLAG_VALID``
21108c2ecf20Sopenharmony_ci      - 0x00000001
21118c2ecf20Sopenharmony_ci      - The DPB entry is valid (non-empty) and should be considered.
21128c2ecf20Sopenharmony_ci    * - ``V4L2_H264_DPB_ENTRY_FLAG_ACTIVE``
21138c2ecf20Sopenharmony_ci      - 0x00000002
21148c2ecf20Sopenharmony_ci      - The DPB entry is used for reference.
21158c2ecf20Sopenharmony_ci    * - ``V4L2_H264_DPB_ENTRY_FLAG_LONG_TERM``
21168c2ecf20Sopenharmony_ci      - 0x00000004
21178c2ecf20Sopenharmony_ci      - The DPB entry is used for long-term reference.
21188c2ecf20Sopenharmony_ci    * - ``V4L2_H264_DPB_ENTRY_FLAG_FIELD``
21198c2ecf20Sopenharmony_ci      - 0x00000008
21208c2ecf20Sopenharmony_ci      - The DPB entry is a single field or a complementary field pair.
21218c2ecf20Sopenharmony_ci
21228c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_DECODE_MODE (enum)``
21238c2ecf20Sopenharmony_ci    Specifies the decoding mode to use. Currently exposes slice-based and
21248c2ecf20Sopenharmony_ci    frame-based decoding but new modes might be added later on.
21258c2ecf20Sopenharmony_ci    This control is used as a modifier for V4L2_PIX_FMT_H264_SLICE
21268c2ecf20Sopenharmony_ci    pixel format. Applications that support V4L2_PIX_FMT_H264_SLICE
21278c2ecf20Sopenharmony_ci    are required to set this control in order to specify the decoding mode
21288c2ecf20Sopenharmony_ci    that is expected for the buffer.
21298c2ecf20Sopenharmony_ci    Drivers may expose a single or multiple decoding modes, depending
21308c2ecf20Sopenharmony_ci    on what they can support.
21318c2ecf20Sopenharmony_ci
21328c2ecf20Sopenharmony_ci    .. note::
21338c2ecf20Sopenharmony_ci
21348c2ecf20Sopenharmony_ci       This menu control is not yet part of the public kernel API and
21358c2ecf20Sopenharmony_ci       it is expected to change.
21368c2ecf20Sopenharmony_ci
21378c2ecf20Sopenharmony_ci.. c:type:: v4l2_mpeg_video_h264_decode_mode
21388c2ecf20Sopenharmony_ci
21398c2ecf20Sopenharmony_ci.. cssclass:: longtable
21408c2ecf20Sopenharmony_ci
21418c2ecf20Sopenharmony_ci.. flat-table::
21428c2ecf20Sopenharmony_ci    :header-rows:  0
21438c2ecf20Sopenharmony_ci    :stub-columns: 0
21448c2ecf20Sopenharmony_ci    :widths:       1 1 2
21458c2ecf20Sopenharmony_ci
21468c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_DECODE_MODE_SLICE_BASED``
21478c2ecf20Sopenharmony_ci      - 0
21488c2ecf20Sopenharmony_ci      - Decoding is done at the slice granularity.
21498c2ecf20Sopenharmony_ci        The OUTPUT buffer must contain a single slice.
21508c2ecf20Sopenharmony_ci        When this mode is selected, the ``V4L2_CID_MPEG_VIDEO_H264_SLICE_PARAMS``
21518c2ecf20Sopenharmony_ci        control shall be set. When multiple slices compose a frame,
21528c2ecf20Sopenharmony_ci        use of ``V4L2_BUF_CAP_SUPPORTS_M2M_HOLD_CAPTURE_BUF`` flag
21538c2ecf20Sopenharmony_ci        is required.
21548c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_DECODE_MODE_FRAME_BASED``
21558c2ecf20Sopenharmony_ci      - 1
21568c2ecf20Sopenharmony_ci      - Decoding is done at the frame granularity,
21578c2ecf20Sopenharmony_ci        The OUTPUT buffer must contain all slices needed to decode the
21588c2ecf20Sopenharmony_ci        frame. The OUTPUT buffer must also contain both fields.
21598c2ecf20Sopenharmony_ci        This mode will be supported by devices that
21608c2ecf20Sopenharmony_ci        parse the slice(s) header(s) in hardware. When this mode is
21618c2ecf20Sopenharmony_ci        selected, the ``V4L2_CID_MPEG_VIDEO_H264_SLICE_PARAMS``
21628c2ecf20Sopenharmony_ci        control shall not be set.
21638c2ecf20Sopenharmony_ci
21648c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_START_CODE (enum)``
21658c2ecf20Sopenharmony_ci    Specifies the H264 slice start code expected for each slice.
21668c2ecf20Sopenharmony_ci    This control is used as a modifier for V4L2_PIX_FMT_H264_SLICE
21678c2ecf20Sopenharmony_ci    pixel format. Applications that support V4L2_PIX_FMT_H264_SLICE
21688c2ecf20Sopenharmony_ci    are required to set this control in order to specify the start code
21698c2ecf20Sopenharmony_ci    that is expected for the buffer.
21708c2ecf20Sopenharmony_ci    Drivers may expose a single or multiple start codes, depending
21718c2ecf20Sopenharmony_ci    on what they can support.
21728c2ecf20Sopenharmony_ci
21738c2ecf20Sopenharmony_ci    .. note::
21748c2ecf20Sopenharmony_ci
21758c2ecf20Sopenharmony_ci       This menu control is not yet part of the public kernel API and
21768c2ecf20Sopenharmony_ci       it is expected to change.
21778c2ecf20Sopenharmony_ci
21788c2ecf20Sopenharmony_ci.. c:type:: v4l2_mpeg_video_h264_start_code
21798c2ecf20Sopenharmony_ci
21808c2ecf20Sopenharmony_ci.. cssclass:: longtable
21818c2ecf20Sopenharmony_ci
21828c2ecf20Sopenharmony_ci.. flat-table::
21838c2ecf20Sopenharmony_ci    :header-rows:  0
21848c2ecf20Sopenharmony_ci    :stub-columns: 0
21858c2ecf20Sopenharmony_ci    :widths:       1 1 2
21868c2ecf20Sopenharmony_ci
21878c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_START_CODE_NONE``
21888c2ecf20Sopenharmony_ci      - 0
21898c2ecf20Sopenharmony_ci      - Selecting this value specifies that H264 slices are passed
21908c2ecf20Sopenharmony_ci        to the driver without any start code.
21918c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_START_CODE_ANNEX_B``
21928c2ecf20Sopenharmony_ci      - 1
21938c2ecf20Sopenharmony_ci      - Selecting this value specifies that H264 slices are expected
21948c2ecf20Sopenharmony_ci        to be prefixed by Annex B start codes. According to :ref:`h264`
21958c2ecf20Sopenharmony_ci        valid start codes can be 3-bytes 0x000001 or 4-bytes 0x00000001.
21968c2ecf20Sopenharmony_ci
21978c2ecf20Sopenharmony_ci.. _v4l2-mpeg-mpeg2:
21988c2ecf20Sopenharmony_ci
21998c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MPEG2_SLICE_PARAMS (struct)``
22008c2ecf20Sopenharmony_ci    Specifies the slice parameters (as extracted from the bitstream) for the
22018c2ecf20Sopenharmony_ci    associated MPEG-2 slice data. This includes the necessary parameters for
22028c2ecf20Sopenharmony_ci    configuring a stateless hardware decoding pipeline for MPEG-2.
22038c2ecf20Sopenharmony_ci    The bitstream parameters are defined according to :ref:`mpeg2part2`.
22048c2ecf20Sopenharmony_ci
22058c2ecf20Sopenharmony_ci    .. note::
22068c2ecf20Sopenharmony_ci
22078c2ecf20Sopenharmony_ci       This compound control is not yet part of the public kernel API and
22088c2ecf20Sopenharmony_ci       it is expected to change.
22098c2ecf20Sopenharmony_ci
22108c2ecf20Sopenharmony_ci.. c:type:: v4l2_ctrl_mpeg2_slice_params
22118c2ecf20Sopenharmony_ci
22128c2ecf20Sopenharmony_ci.. cssclass:: longtable
22138c2ecf20Sopenharmony_ci
22148c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{5.8cm}|p{4.8cm}|p{6.6cm}|
22158c2ecf20Sopenharmony_ci
22168c2ecf20Sopenharmony_ci.. flat-table:: struct v4l2_ctrl_mpeg2_slice_params
22178c2ecf20Sopenharmony_ci    :header-rows:  0
22188c2ecf20Sopenharmony_ci    :stub-columns: 0
22198c2ecf20Sopenharmony_ci    :widths:       1 1 2
22208c2ecf20Sopenharmony_ci
22218c2ecf20Sopenharmony_ci    * - __u32
22228c2ecf20Sopenharmony_ci      - ``bit_size``
22238c2ecf20Sopenharmony_ci      - Size (in bits) of the current slice data.
22248c2ecf20Sopenharmony_ci    * - __u32
22258c2ecf20Sopenharmony_ci      - ``data_bit_offset``
22268c2ecf20Sopenharmony_ci      - Offset (in bits) to the video data in the current slice data.
22278c2ecf20Sopenharmony_ci    * - struct :c:type:`v4l2_mpeg2_sequence`
22288c2ecf20Sopenharmony_ci      - ``sequence``
22298c2ecf20Sopenharmony_ci      - Structure with MPEG-2 sequence metadata, merging relevant fields from
22308c2ecf20Sopenharmony_ci	the sequence header and sequence extension parts of the bitstream.
22318c2ecf20Sopenharmony_ci    * - struct :c:type:`v4l2_mpeg2_picture`
22328c2ecf20Sopenharmony_ci      - ``picture``
22338c2ecf20Sopenharmony_ci      - Structure with MPEG-2 picture metadata, merging relevant fields from
22348c2ecf20Sopenharmony_ci	the picture header and picture coding extension parts of the bitstream.
22358c2ecf20Sopenharmony_ci    * - __u64
22368c2ecf20Sopenharmony_ci      - ``backward_ref_ts``
22378c2ecf20Sopenharmony_ci      - Timestamp of the V4L2 capture buffer to use as backward reference, used
22388c2ecf20Sopenharmony_ci        with B-coded and P-coded frames. The timestamp refers to the
22398c2ecf20Sopenharmony_ci	``timestamp`` field in struct :c:type:`v4l2_buffer`. Use the
22408c2ecf20Sopenharmony_ci	:c:func:`v4l2_timeval_to_ns()` function to convert the struct
22418c2ecf20Sopenharmony_ci	:c:type:`timeval` in struct :c:type:`v4l2_buffer` to a __u64.
22428c2ecf20Sopenharmony_ci    * - __u64
22438c2ecf20Sopenharmony_ci      - ``forward_ref_ts``
22448c2ecf20Sopenharmony_ci      - Timestamp for the V4L2 capture buffer to use as forward reference, used
22458c2ecf20Sopenharmony_ci        with B-coded frames. The timestamp refers to the ``timestamp`` field in
22468c2ecf20Sopenharmony_ci	struct :c:type:`v4l2_buffer`. Use the :c:func:`v4l2_timeval_to_ns()`
22478c2ecf20Sopenharmony_ci	function to convert the struct :c:type:`timeval` in struct
22488c2ecf20Sopenharmony_ci	:c:type:`v4l2_buffer` to a __u64.
22498c2ecf20Sopenharmony_ci    * - __u32
22508c2ecf20Sopenharmony_ci      - ``quantiser_scale_code``
22518c2ecf20Sopenharmony_ci      - Code used to determine the quantization scale to use for the IDCT.
22528c2ecf20Sopenharmony_ci
22538c2ecf20Sopenharmony_ci.. c:type:: v4l2_mpeg2_sequence
22548c2ecf20Sopenharmony_ci
22558c2ecf20Sopenharmony_ci.. cssclass:: longtable
22568c2ecf20Sopenharmony_ci
22578c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{1.5cm}|p{6.3cm}|p{9.4cm}|
22588c2ecf20Sopenharmony_ci
22598c2ecf20Sopenharmony_ci.. flat-table:: struct v4l2_mpeg2_sequence
22608c2ecf20Sopenharmony_ci    :header-rows:  0
22618c2ecf20Sopenharmony_ci    :stub-columns: 0
22628c2ecf20Sopenharmony_ci    :widths:       1 1 2
22638c2ecf20Sopenharmony_ci
22648c2ecf20Sopenharmony_ci    * - __u16
22658c2ecf20Sopenharmony_ci      - ``horizontal_size``
22668c2ecf20Sopenharmony_ci      - The width of the displayable part of the frame's luminance component.
22678c2ecf20Sopenharmony_ci    * - __u16
22688c2ecf20Sopenharmony_ci      - ``vertical_size``
22698c2ecf20Sopenharmony_ci      - The height of the displayable part of the frame's luminance component.
22708c2ecf20Sopenharmony_ci    * - __u32
22718c2ecf20Sopenharmony_ci      - ``vbv_buffer_size``
22728c2ecf20Sopenharmony_ci      - Used to calculate the required size of the video buffering verifier,
22738c2ecf20Sopenharmony_ci	defined (in bits) as: 16 * 1024 * vbv_buffer_size.
22748c2ecf20Sopenharmony_ci    * - __u16
22758c2ecf20Sopenharmony_ci      - ``profile_and_level_indication``
22768c2ecf20Sopenharmony_ci      - The current profile and level indication as extracted from the
22778c2ecf20Sopenharmony_ci	bitstream.
22788c2ecf20Sopenharmony_ci    * - __u8
22798c2ecf20Sopenharmony_ci      - ``progressive_sequence``
22808c2ecf20Sopenharmony_ci      - Indication that all the frames for the sequence are progressive instead
22818c2ecf20Sopenharmony_ci	of interlaced.
22828c2ecf20Sopenharmony_ci    * - __u8
22838c2ecf20Sopenharmony_ci      - ``chroma_format``
22848c2ecf20Sopenharmony_ci      - The chrominance sub-sampling format (1: 4:2:0, 2: 4:2:2, 3: 4:4:4).
22858c2ecf20Sopenharmony_ci
22868c2ecf20Sopenharmony_ci.. c:type:: v4l2_mpeg2_picture
22878c2ecf20Sopenharmony_ci
22888c2ecf20Sopenharmony_ci.. cssclass:: longtable
22898c2ecf20Sopenharmony_ci
22908c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{1.5cm}|p{6.3cm}|p{9.4cm}|
22918c2ecf20Sopenharmony_ci
22928c2ecf20Sopenharmony_ci.. flat-table:: struct v4l2_mpeg2_picture
22938c2ecf20Sopenharmony_ci    :header-rows:  0
22948c2ecf20Sopenharmony_ci    :stub-columns: 0
22958c2ecf20Sopenharmony_ci    :widths:       1 1 2
22968c2ecf20Sopenharmony_ci
22978c2ecf20Sopenharmony_ci    * - __u8
22988c2ecf20Sopenharmony_ci      - ``picture_coding_type``
22998c2ecf20Sopenharmony_ci      - Picture coding type for the frame covered by the current slice
23008c2ecf20Sopenharmony_ci	(V4L2_MPEG2_PICTURE_CODING_TYPE_I, V4L2_MPEG2_PICTURE_CODING_TYPE_P or
23018c2ecf20Sopenharmony_ci	V4L2_MPEG2_PICTURE_CODING_TYPE_B).
23028c2ecf20Sopenharmony_ci    * - __u8
23038c2ecf20Sopenharmony_ci      - ``f_code[2][2]``
23048c2ecf20Sopenharmony_ci      - Motion vector codes.
23058c2ecf20Sopenharmony_ci    * - __u8
23068c2ecf20Sopenharmony_ci      - ``intra_dc_precision``
23078c2ecf20Sopenharmony_ci      - Precision of Discrete Cosine transform (0: 8 bits precision,
23088c2ecf20Sopenharmony_ci	1: 9 bits precision, 2: 10 bits precision, 3: 11 bits precision).
23098c2ecf20Sopenharmony_ci    * - __u8
23108c2ecf20Sopenharmony_ci      - ``picture_structure``
23118c2ecf20Sopenharmony_ci      - Picture structure (1: interlaced top field, 2: interlaced bottom field,
23128c2ecf20Sopenharmony_ci	3: progressive frame).
23138c2ecf20Sopenharmony_ci    * - __u8
23148c2ecf20Sopenharmony_ci      - ``top_field_first``
23158c2ecf20Sopenharmony_ci      - If set to 1 and interlaced stream, top field is output first.
23168c2ecf20Sopenharmony_ci    * - __u8
23178c2ecf20Sopenharmony_ci      - ``frame_pred_frame_dct``
23188c2ecf20Sopenharmony_ci      - If set to 1, only frame-DCT and frame prediction are used.
23198c2ecf20Sopenharmony_ci    * - __u8
23208c2ecf20Sopenharmony_ci      - ``concealment_motion_vectors``
23218c2ecf20Sopenharmony_ci      -  If set to 1, motion vectors are coded for intra macroblocks.
23228c2ecf20Sopenharmony_ci    * - __u8
23238c2ecf20Sopenharmony_ci      - ``q_scale_type``
23248c2ecf20Sopenharmony_ci      - This flag affects the inverse quantization process.
23258c2ecf20Sopenharmony_ci    * - __u8
23268c2ecf20Sopenharmony_ci      - ``intra_vlc_format``
23278c2ecf20Sopenharmony_ci      - This flag affects the decoding of transform coefficient data.
23288c2ecf20Sopenharmony_ci    * - __u8
23298c2ecf20Sopenharmony_ci      - ``alternate_scan``
23308c2ecf20Sopenharmony_ci      - This flag affects the decoding of transform coefficient data.
23318c2ecf20Sopenharmony_ci    * - __u8
23328c2ecf20Sopenharmony_ci      - ``repeat_first_field``
23338c2ecf20Sopenharmony_ci      - This flag affects the decoding process of progressive frames.
23348c2ecf20Sopenharmony_ci    * - __u16
23358c2ecf20Sopenharmony_ci      - ``progressive_frame``
23368c2ecf20Sopenharmony_ci      - Indicates whether the current frame is progressive.
23378c2ecf20Sopenharmony_ci
23388c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MPEG2_QUANTIZATION (struct)``
23398c2ecf20Sopenharmony_ci    Specifies quantization matrices (as extracted from the bitstream) for the
23408c2ecf20Sopenharmony_ci    associated MPEG-2 slice data.
23418c2ecf20Sopenharmony_ci
23428c2ecf20Sopenharmony_ci    .. note::
23438c2ecf20Sopenharmony_ci
23448c2ecf20Sopenharmony_ci       This compound control is not yet part of the public kernel API and
23458c2ecf20Sopenharmony_ci       it is expected to change.
23468c2ecf20Sopenharmony_ci
23478c2ecf20Sopenharmony_ci.. c:type:: v4l2_ctrl_mpeg2_quantization
23488c2ecf20Sopenharmony_ci
23498c2ecf20Sopenharmony_ci.. cssclass:: longtable
23508c2ecf20Sopenharmony_ci
23518c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{1.2cm}|p{8.0cm}|p{7.4cm}|
23528c2ecf20Sopenharmony_ci
23538c2ecf20Sopenharmony_ci.. raw:: latex
23548c2ecf20Sopenharmony_ci
23558c2ecf20Sopenharmony_ci    \small
23568c2ecf20Sopenharmony_ci
23578c2ecf20Sopenharmony_ci.. flat-table:: struct v4l2_ctrl_mpeg2_quantization
23588c2ecf20Sopenharmony_ci    :header-rows:  0
23598c2ecf20Sopenharmony_ci    :stub-columns: 0
23608c2ecf20Sopenharmony_ci    :widths:       1 1 2
23618c2ecf20Sopenharmony_ci
23628c2ecf20Sopenharmony_ci    * - __u8
23638c2ecf20Sopenharmony_ci      - ``load_intra_quantiser_matrix``
23648c2ecf20Sopenharmony_ci      - One bit to indicate whether to load the ``intra_quantiser_matrix`` data.
23658c2ecf20Sopenharmony_ci    * - __u8
23668c2ecf20Sopenharmony_ci      - ``load_non_intra_quantiser_matrix``
23678c2ecf20Sopenharmony_ci      - One bit to indicate whether to load the ``non_intra_quantiser_matrix``
23688c2ecf20Sopenharmony_ci	data.
23698c2ecf20Sopenharmony_ci    * - __u8
23708c2ecf20Sopenharmony_ci      - ``load_chroma_intra_quantiser_matrix``
23718c2ecf20Sopenharmony_ci      - One bit to indicate whether to load the
23728c2ecf20Sopenharmony_ci	``chroma_intra_quantiser_matrix`` data, only relevant for non-4:2:0 YUV
23738c2ecf20Sopenharmony_ci	formats.
23748c2ecf20Sopenharmony_ci    * - __u8
23758c2ecf20Sopenharmony_ci      - ``load_chroma_non_intra_quantiser_matrix``
23768c2ecf20Sopenharmony_ci      - One bit to indicate whether to load the
23778c2ecf20Sopenharmony_ci	``chroma_non_intra_quantiser_matrix`` data, only relevant for non-4:2:0
23788c2ecf20Sopenharmony_ci	YUV formats.
23798c2ecf20Sopenharmony_ci    * - __u8
23808c2ecf20Sopenharmony_ci      - ``intra_quantiser_matrix[64]``
23818c2ecf20Sopenharmony_ci      - The quantization matrix coefficients for intra-coded frames, in zigzag
23828c2ecf20Sopenharmony_ci	scanning order. It is relevant for both luma and chroma components,
23838c2ecf20Sopenharmony_ci	although it can be superseded by the chroma-specific matrix for
23848c2ecf20Sopenharmony_ci	non-4:2:0 YUV formats.
23858c2ecf20Sopenharmony_ci    * - __u8
23868c2ecf20Sopenharmony_ci      - ``non_intra_quantiser_matrix[64]``
23878c2ecf20Sopenharmony_ci      - The quantization matrix coefficients for non-intra-coded frames, in
23888c2ecf20Sopenharmony_ci	zigzag scanning order. It is relevant for both luma and chroma
23898c2ecf20Sopenharmony_ci	components, although it can be superseded by the chroma-specific matrix
23908c2ecf20Sopenharmony_ci	for non-4:2:0 YUV formats.
23918c2ecf20Sopenharmony_ci    * - __u8
23928c2ecf20Sopenharmony_ci      - ``chroma_intra_quantiser_matrix[64]``
23938c2ecf20Sopenharmony_ci      - The quantization matrix coefficients for the chominance component of
23948c2ecf20Sopenharmony_ci	intra-coded frames, in zigzag scanning order. Only relevant for
23958c2ecf20Sopenharmony_ci	non-4:2:0 YUV formats.
23968c2ecf20Sopenharmony_ci    * - __u8
23978c2ecf20Sopenharmony_ci      - ``chroma_non_intra_quantiser_matrix[64]``
23988c2ecf20Sopenharmony_ci      - The quantization matrix coefficients for the chrominance component of
23998c2ecf20Sopenharmony_ci	non-intra-coded frames, in zigzag scanning order. Only relevant for
24008c2ecf20Sopenharmony_ci	non-4:2:0 YUV formats.
24018c2ecf20Sopenharmony_ci
24028c2ecf20Sopenharmony_ci``V4L2_CID_FWHT_I_FRAME_QP (integer)``
24038c2ecf20Sopenharmony_ci    Quantization parameter for an I frame for FWHT. Valid range: from 1
24048c2ecf20Sopenharmony_ci    to 31.
24058c2ecf20Sopenharmony_ci
24068c2ecf20Sopenharmony_ci``V4L2_CID_FWHT_P_FRAME_QP (integer)``
24078c2ecf20Sopenharmony_ci    Quantization parameter for a P frame for FWHT. Valid range: from 1
24088c2ecf20Sopenharmony_ci    to 31.
24098c2ecf20Sopenharmony_ci
24108c2ecf20Sopenharmony_ci.. _v4l2-mpeg-vp8:
24118c2ecf20Sopenharmony_ci
24128c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VP8_FRAME_HEADER (struct)``
24138c2ecf20Sopenharmony_ci    Specifies the frame parameters for the associated VP8 parsed frame data.
24148c2ecf20Sopenharmony_ci    This includes the necessary parameters for
24158c2ecf20Sopenharmony_ci    configuring a stateless hardware decoding pipeline for VP8.
24168c2ecf20Sopenharmony_ci    The bitstream parameters are defined according to :ref:`vp8`.
24178c2ecf20Sopenharmony_ci
24188c2ecf20Sopenharmony_ci    .. note::
24198c2ecf20Sopenharmony_ci
24208c2ecf20Sopenharmony_ci       This compound control is not yet part of the public kernel API and
24218c2ecf20Sopenharmony_ci       it is expected to change.
24228c2ecf20Sopenharmony_ci
24238c2ecf20Sopenharmony_ci.. c:type:: v4l2_ctrl_vp8_frame_header
24248c2ecf20Sopenharmony_ci
24258c2ecf20Sopenharmony_ci.. cssclass:: longtable
24268c2ecf20Sopenharmony_ci
24278c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{5.8cm}|p{4.8cm}|p{6.6cm}|
24288c2ecf20Sopenharmony_ci
24298c2ecf20Sopenharmony_ci.. flat-table:: struct v4l2_ctrl_vp8_frame_header
24308c2ecf20Sopenharmony_ci    :header-rows:  0
24318c2ecf20Sopenharmony_ci    :stub-columns: 0
24328c2ecf20Sopenharmony_ci    :widths:       1 1 2
24338c2ecf20Sopenharmony_ci
24348c2ecf20Sopenharmony_ci    * - struct :c:type:`v4l2_vp8_segment_header`
24358c2ecf20Sopenharmony_ci      - ``segment_header``
24368c2ecf20Sopenharmony_ci      - Structure with segment-based adjustments metadata.
24378c2ecf20Sopenharmony_ci    * - struct :c:type:`v4l2_vp8_loopfilter_header`
24388c2ecf20Sopenharmony_ci      - ``loopfilter_header``
24398c2ecf20Sopenharmony_ci      - Structure with loop filter level adjustments metadata.
24408c2ecf20Sopenharmony_ci    * - struct :c:type:`v4l2_vp8_quantization_header`
24418c2ecf20Sopenharmony_ci      - ``quant_header``
24428c2ecf20Sopenharmony_ci      - Structure with VP8 dequantization indices metadata.
24438c2ecf20Sopenharmony_ci    * - struct :c:type:`v4l2_vp8_entropy_header`
24448c2ecf20Sopenharmony_ci      - ``entropy_header``
24458c2ecf20Sopenharmony_ci      - Structure with VP8 entropy coder probabilities metadata.
24468c2ecf20Sopenharmony_ci    * - struct :c:type:`v4l2_vp8_entropy_coder_state`
24478c2ecf20Sopenharmony_ci      - ``coder_state``
24488c2ecf20Sopenharmony_ci      - Structure with VP8 entropy coder state.
24498c2ecf20Sopenharmony_ci    * - __u16
24508c2ecf20Sopenharmony_ci      - ``width``
24518c2ecf20Sopenharmony_ci      - The width of the frame. Must be set for all frames.
24528c2ecf20Sopenharmony_ci    * - __u16
24538c2ecf20Sopenharmony_ci      - ``height``
24548c2ecf20Sopenharmony_ci      - The height of the frame. Must be set for all frames.
24558c2ecf20Sopenharmony_ci    * - __u8
24568c2ecf20Sopenharmony_ci      - ``horizontal_scale``
24578c2ecf20Sopenharmony_ci      - Horizontal scaling factor.
24588c2ecf20Sopenharmony_ci    * - __u8
24598c2ecf20Sopenharmony_ci      - ``vertical_scaling factor``
24608c2ecf20Sopenharmony_ci      - Vertical scale.
24618c2ecf20Sopenharmony_ci    * - __u8
24628c2ecf20Sopenharmony_ci      - ``version``
24638c2ecf20Sopenharmony_ci      - Bitstream version.
24648c2ecf20Sopenharmony_ci    * - __u8
24658c2ecf20Sopenharmony_ci      - ``prob_skip_false``
24668c2ecf20Sopenharmony_ci      - Indicates the probability that the macroblock is not skipped.
24678c2ecf20Sopenharmony_ci    * - __u8
24688c2ecf20Sopenharmony_ci      - ``prob_intra``
24698c2ecf20Sopenharmony_ci      - Indicates the probability that a macroblock is intra-predicted.
24708c2ecf20Sopenharmony_ci    * - __u8
24718c2ecf20Sopenharmony_ci      - ``prob_last``
24728c2ecf20Sopenharmony_ci      - Indicates the probability that the last reference frame is used
24738c2ecf20Sopenharmony_ci        for inter-prediction
24748c2ecf20Sopenharmony_ci    * - __u8
24758c2ecf20Sopenharmony_ci      - ``prob_gf``
24768c2ecf20Sopenharmony_ci      - Indicates the probability that the golden reference frame is used
24778c2ecf20Sopenharmony_ci        for inter-prediction
24788c2ecf20Sopenharmony_ci    * - __u8
24798c2ecf20Sopenharmony_ci      - ``num_dct_parts``
24808c2ecf20Sopenharmony_ci      - Number of DCT coefficients partitions. Must be one of: 1, 2, 4, or 8.
24818c2ecf20Sopenharmony_ci    * - __u32
24828c2ecf20Sopenharmony_ci      - ``first_part_size``
24838c2ecf20Sopenharmony_ci      - Size of the first partition, i.e. the control partition.
24848c2ecf20Sopenharmony_ci    * - __u32
24858c2ecf20Sopenharmony_ci      - ``first_part_header_bits``
24868c2ecf20Sopenharmony_ci      - Size in bits of the first partition header portion.
24878c2ecf20Sopenharmony_ci    * - __u32
24888c2ecf20Sopenharmony_ci      - ``dct_part_sizes[8]``
24898c2ecf20Sopenharmony_ci      - DCT coefficients sizes.
24908c2ecf20Sopenharmony_ci    * - __u64
24918c2ecf20Sopenharmony_ci      - ``last_frame_ts``
24928c2ecf20Sopenharmony_ci      - Timestamp for the V4L2 capture buffer to use as last reference frame, used
24938c2ecf20Sopenharmony_ci        with inter-coded frames. The timestamp refers to the ``timestamp`` field in
24948c2ecf20Sopenharmony_ci	struct :c:type:`v4l2_buffer`. Use the :c:func:`v4l2_timeval_to_ns()`
24958c2ecf20Sopenharmony_ci	function to convert the struct :c:type:`timeval` in struct
24968c2ecf20Sopenharmony_ci	:c:type:`v4l2_buffer` to a __u64.
24978c2ecf20Sopenharmony_ci    * - __u64
24988c2ecf20Sopenharmony_ci      - ``golden_frame_ts``
24998c2ecf20Sopenharmony_ci      - Timestamp for the V4L2 capture buffer to use as last reference frame, used
25008c2ecf20Sopenharmony_ci        with inter-coded frames. The timestamp refers to the ``timestamp`` field in
25018c2ecf20Sopenharmony_ci	struct :c:type:`v4l2_buffer`. Use the :c:func:`v4l2_timeval_to_ns()`
25028c2ecf20Sopenharmony_ci	function to convert the struct :c:type:`timeval` in struct
25038c2ecf20Sopenharmony_ci	:c:type:`v4l2_buffer` to a __u64.
25048c2ecf20Sopenharmony_ci    * - __u64
25058c2ecf20Sopenharmony_ci      - ``alt_frame_ts``
25068c2ecf20Sopenharmony_ci      - Timestamp for the V4L2 capture buffer to use as alternate reference frame, used
25078c2ecf20Sopenharmony_ci        with inter-coded frames. The timestamp refers to the ``timestamp`` field in
25088c2ecf20Sopenharmony_ci	struct :c:type:`v4l2_buffer`. Use the :c:func:`v4l2_timeval_to_ns()`
25098c2ecf20Sopenharmony_ci	function to convert the struct :c:type:`timeval` in struct
25108c2ecf20Sopenharmony_ci	:c:type:`v4l2_buffer` to a __u64.
25118c2ecf20Sopenharmony_ci    * - __u64
25128c2ecf20Sopenharmony_ci      - ``flags``
25138c2ecf20Sopenharmony_ci      - See :ref:`Frame Header Flags <vp8_frame_header_flags>`
25148c2ecf20Sopenharmony_ci
25158c2ecf20Sopenharmony_ci.. _vp8_frame_header_flags:
25168c2ecf20Sopenharmony_ci
25178c2ecf20Sopenharmony_ci``Frame Header Flags``
25188c2ecf20Sopenharmony_ci
25198c2ecf20Sopenharmony_ci.. cssclass:: longtable
25208c2ecf20Sopenharmony_ci
25218c2ecf20Sopenharmony_ci.. flat-table::
25228c2ecf20Sopenharmony_ci    :header-rows:  0
25238c2ecf20Sopenharmony_ci    :stub-columns: 0
25248c2ecf20Sopenharmony_ci    :widths:       1 1 2
25258c2ecf20Sopenharmony_ci
25268c2ecf20Sopenharmony_ci    * - ``V4L2_VP8_FRAME_HEADER_FLAG_KEY_FRAME``
25278c2ecf20Sopenharmony_ci      - 0x01
25288c2ecf20Sopenharmony_ci      - Indicates if the frame is a key frame.
25298c2ecf20Sopenharmony_ci    * - ``V4L2_VP8_FRAME_HEADER_FLAG_EXPERIMENTAL``
25308c2ecf20Sopenharmony_ci      - 0x02
25318c2ecf20Sopenharmony_ci      - Experimental bitstream.
25328c2ecf20Sopenharmony_ci    * - ``V4L2_VP8_FRAME_HEADER_FLAG_SHOW_FRAME``
25338c2ecf20Sopenharmony_ci      - 0x04
25348c2ecf20Sopenharmony_ci      - Show frame flag, indicates if the frame is for display.
25358c2ecf20Sopenharmony_ci    * - ``V4L2_VP8_FRAME_HEADER_FLAG_MB_NO_SKIP_COEFF``
25368c2ecf20Sopenharmony_ci      - 0x08
25378c2ecf20Sopenharmony_ci      - Enable/disable skipping of macroblocks with no non-zero coefficients.
25388c2ecf20Sopenharmony_ci    * - ``V4L2_VP8_FRAME_HEADER_FLAG_SIGN_BIAS_GOLDEN``
25398c2ecf20Sopenharmony_ci      - 0x10
25408c2ecf20Sopenharmony_ci      - Sign of motion vectors when the golden frame is referenced.
25418c2ecf20Sopenharmony_ci    * - ``V4L2_VP8_FRAME_HEADER_FLAG_SIGN_BIAS_ALT``
25428c2ecf20Sopenharmony_ci      - 0x20
25438c2ecf20Sopenharmony_ci      - Sign of motion vectors when the alt frame is referenced.
25448c2ecf20Sopenharmony_ci
25458c2ecf20Sopenharmony_ci.. c:type:: v4l2_vp8_entropy_coder_state
25468c2ecf20Sopenharmony_ci
25478c2ecf20Sopenharmony_ci.. cssclass:: longtable
25488c2ecf20Sopenharmony_ci
25498c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{1.5cm}|p{6.3cm}|p{9.4cm}|
25508c2ecf20Sopenharmony_ci
25518c2ecf20Sopenharmony_ci.. flat-table:: struct v4l2_vp8_entropy_coder_state
25528c2ecf20Sopenharmony_ci    :header-rows:  0
25538c2ecf20Sopenharmony_ci    :stub-columns: 0
25548c2ecf20Sopenharmony_ci    :widths:       1 1 2
25558c2ecf20Sopenharmony_ci
25568c2ecf20Sopenharmony_ci    * - __u8
25578c2ecf20Sopenharmony_ci      - ``range``
25588c2ecf20Sopenharmony_ci      -
25598c2ecf20Sopenharmony_ci    * - __u8
25608c2ecf20Sopenharmony_ci      - ``value``
25618c2ecf20Sopenharmony_ci      -
25628c2ecf20Sopenharmony_ci    * - __u8
25638c2ecf20Sopenharmony_ci      - ``bit_count``
25648c2ecf20Sopenharmony_ci      -
25658c2ecf20Sopenharmony_ci    * - __u8
25668c2ecf20Sopenharmony_ci      - ``padding``
25678c2ecf20Sopenharmony_ci      - Applications and drivers must set this to zero.
25688c2ecf20Sopenharmony_ci
25698c2ecf20Sopenharmony_ci.. c:type:: v4l2_vp8_segment_header
25708c2ecf20Sopenharmony_ci
25718c2ecf20Sopenharmony_ci.. cssclass:: longtable
25728c2ecf20Sopenharmony_ci
25738c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{1.5cm}|p{6.3cm}|p{9.4cm}|
25748c2ecf20Sopenharmony_ci
25758c2ecf20Sopenharmony_ci.. flat-table:: struct v4l2_vp8_segment_header
25768c2ecf20Sopenharmony_ci    :header-rows:  0
25778c2ecf20Sopenharmony_ci    :stub-columns: 0
25788c2ecf20Sopenharmony_ci    :widths:       1 1 2
25798c2ecf20Sopenharmony_ci
25808c2ecf20Sopenharmony_ci    * - __s8
25818c2ecf20Sopenharmony_ci      - ``quant_update[4]``
25828c2ecf20Sopenharmony_ci      - Signed quantizer value update.
25838c2ecf20Sopenharmony_ci    * - __s8
25848c2ecf20Sopenharmony_ci      - ``lf_update[4]``
25858c2ecf20Sopenharmony_ci      - Signed loop filter level value update.
25868c2ecf20Sopenharmony_ci    * - __u8
25878c2ecf20Sopenharmony_ci      - ``segment_probs[3]``
25888c2ecf20Sopenharmony_ci      - Segment probabilities.
25898c2ecf20Sopenharmony_ci    * - __u8
25908c2ecf20Sopenharmony_ci      - ``padding``
25918c2ecf20Sopenharmony_ci      - Applications and drivers must set this to zero.
25928c2ecf20Sopenharmony_ci    * - __u32
25938c2ecf20Sopenharmony_ci      - ``flags``
25948c2ecf20Sopenharmony_ci      - See :ref:`Segment Header Flags <vp8_segment_header_flags>`
25958c2ecf20Sopenharmony_ci
25968c2ecf20Sopenharmony_ci.. _vp8_segment_header_flags:
25978c2ecf20Sopenharmony_ci
25988c2ecf20Sopenharmony_ci``Segment Header Flags``
25998c2ecf20Sopenharmony_ci
26008c2ecf20Sopenharmony_ci.. cssclass:: longtable
26018c2ecf20Sopenharmony_ci
26028c2ecf20Sopenharmony_ci.. flat-table::
26038c2ecf20Sopenharmony_ci    :header-rows:  0
26048c2ecf20Sopenharmony_ci    :stub-columns: 0
26058c2ecf20Sopenharmony_ci    :widths:       1 1 2
26068c2ecf20Sopenharmony_ci
26078c2ecf20Sopenharmony_ci    * - ``V4L2_VP8_SEGMENT_HEADER_FLAG_ENABLED``
26088c2ecf20Sopenharmony_ci      - 0x01
26098c2ecf20Sopenharmony_ci      - Enable/disable segment-based adjustments.
26108c2ecf20Sopenharmony_ci    * - ``V4L2_VP8_SEGMENT_HEADER_FLAG_UPDATE_MAP``
26118c2ecf20Sopenharmony_ci      - 0x02
26128c2ecf20Sopenharmony_ci      - Indicates if the macroblock segmentation map is updated in this frame.
26138c2ecf20Sopenharmony_ci    * - ``V4L2_VP8_SEGMENT_HEADER_FLAG_UPDATE_FEATURE_DATA``
26148c2ecf20Sopenharmony_ci      - 0x04
26158c2ecf20Sopenharmony_ci      - Indicates if the segment feature data is updated in this frame.
26168c2ecf20Sopenharmony_ci    * - ``V4L2_VP8_SEGMENT_HEADER_FLAG_DELTA_VALUE_MODE``
26178c2ecf20Sopenharmony_ci      - 0x08
26188c2ecf20Sopenharmony_ci      - If is set, the segment feature data mode is delta-value.
26198c2ecf20Sopenharmony_ci        If cleared, it's absolute-value.
26208c2ecf20Sopenharmony_ci
26218c2ecf20Sopenharmony_ci.. c:type:: v4l2_vp8_loopfilter_header
26228c2ecf20Sopenharmony_ci
26238c2ecf20Sopenharmony_ci.. cssclass:: longtable
26248c2ecf20Sopenharmony_ci
26258c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{1.5cm}|p{6.3cm}|p{9.4cm}|
26268c2ecf20Sopenharmony_ci
26278c2ecf20Sopenharmony_ci.. flat-table:: struct v4l2_vp8_loopfilter_header
26288c2ecf20Sopenharmony_ci    :header-rows:  0
26298c2ecf20Sopenharmony_ci    :stub-columns: 0
26308c2ecf20Sopenharmony_ci    :widths:       1 1 2
26318c2ecf20Sopenharmony_ci
26328c2ecf20Sopenharmony_ci    * - __s8
26338c2ecf20Sopenharmony_ci      - ``ref_frm_delta[4]``
26348c2ecf20Sopenharmony_ci      - Reference adjustment (signed) delta value.
26358c2ecf20Sopenharmony_ci    * - __s8
26368c2ecf20Sopenharmony_ci      - ``mb_mode_delta[4]``
26378c2ecf20Sopenharmony_ci      - Macroblock prediction mode adjustment (signed) delta value.
26388c2ecf20Sopenharmony_ci    * - __u8
26398c2ecf20Sopenharmony_ci      - ``sharpness_level``
26408c2ecf20Sopenharmony_ci      - Sharpness level
26418c2ecf20Sopenharmony_ci    * - __u8
26428c2ecf20Sopenharmony_ci      - ``level``
26438c2ecf20Sopenharmony_ci      - Filter level
26448c2ecf20Sopenharmony_ci    * - __u16
26458c2ecf20Sopenharmony_ci      - ``padding``
26468c2ecf20Sopenharmony_ci      - Applications and drivers must set this to zero.
26478c2ecf20Sopenharmony_ci    * - __u32
26488c2ecf20Sopenharmony_ci      - ``flags``
26498c2ecf20Sopenharmony_ci      - See :ref:`Loopfilter Header Flags <vp8_loopfilter_header_flags>`
26508c2ecf20Sopenharmony_ci
26518c2ecf20Sopenharmony_ci.. _vp8_loopfilter_header_flags:
26528c2ecf20Sopenharmony_ci
26538c2ecf20Sopenharmony_ci``Loopfilter Header Flags``
26548c2ecf20Sopenharmony_ci
26558c2ecf20Sopenharmony_ci.. cssclass:: longtable
26568c2ecf20Sopenharmony_ci
26578c2ecf20Sopenharmony_ci.. flat-table::
26588c2ecf20Sopenharmony_ci    :header-rows:  0
26598c2ecf20Sopenharmony_ci    :stub-columns: 0
26608c2ecf20Sopenharmony_ci    :widths:       1 1 2
26618c2ecf20Sopenharmony_ci
26628c2ecf20Sopenharmony_ci    * - ``V4L2_VP8_LF_HEADER_ADJ_ENABLE``
26638c2ecf20Sopenharmony_ci      - 0x01
26648c2ecf20Sopenharmony_ci      - Enable/disable macroblock-level loop filter adjustment.
26658c2ecf20Sopenharmony_ci    * - ``V4L2_VP8_LF_HEADER_DELTA_UPDATE``
26668c2ecf20Sopenharmony_ci      - 0x02
26678c2ecf20Sopenharmony_ci      - Indicates if the delta values used in an adjustment are updated.
26688c2ecf20Sopenharmony_ci    * - ``V4L2_VP8_LF_FILTER_TYPE_SIMPLE``
26698c2ecf20Sopenharmony_ci      - 0x04
26708c2ecf20Sopenharmony_ci      - If set, indicates the filter type is simple.
26718c2ecf20Sopenharmony_ci        If cleared, the filter type is normal.
26728c2ecf20Sopenharmony_ci
26738c2ecf20Sopenharmony_ci.. c:type:: v4l2_vp8_quantization_header
26748c2ecf20Sopenharmony_ci
26758c2ecf20Sopenharmony_ci.. cssclass:: longtable
26768c2ecf20Sopenharmony_ci
26778c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{1.5cm}|p{6.3cm}|p{9.4cm}|
26788c2ecf20Sopenharmony_ci
26798c2ecf20Sopenharmony_ci.. flat-table:: struct v4l2_vp8_quantization_header
26808c2ecf20Sopenharmony_ci    :header-rows:  0
26818c2ecf20Sopenharmony_ci    :stub-columns: 0
26828c2ecf20Sopenharmony_ci    :widths:       1 1 2
26838c2ecf20Sopenharmony_ci
26848c2ecf20Sopenharmony_ci    * - __u8
26858c2ecf20Sopenharmony_ci      - ``y_ac_qi``
26868c2ecf20Sopenharmony_ci      - Luma AC coefficient table index.
26878c2ecf20Sopenharmony_ci    * - __s8
26888c2ecf20Sopenharmony_ci      - ``y_dc_delta``
26898c2ecf20Sopenharmony_ci      - Luma DC delta vaue.
26908c2ecf20Sopenharmony_ci    * - __s8
26918c2ecf20Sopenharmony_ci      - ``y2_dc_delta``
26928c2ecf20Sopenharmony_ci      - Y2 block DC delta value.
26938c2ecf20Sopenharmony_ci    * - __s8
26948c2ecf20Sopenharmony_ci      - ``y2_ac_delta``
26958c2ecf20Sopenharmony_ci      - Y2 block AC delta value.
26968c2ecf20Sopenharmony_ci    * - __s8
26978c2ecf20Sopenharmony_ci      - ``uv_dc_delta``
26988c2ecf20Sopenharmony_ci      - Chroma DC delta value.
26998c2ecf20Sopenharmony_ci    * - __s8
27008c2ecf20Sopenharmony_ci      - ``uv_ac_delta``
27018c2ecf20Sopenharmony_ci      - Chroma AC delta value.
27028c2ecf20Sopenharmony_ci    * - __u16
27038c2ecf20Sopenharmony_ci      - ``padding``
27048c2ecf20Sopenharmony_ci      - Applications and drivers must set this to zero.
27058c2ecf20Sopenharmony_ci
27068c2ecf20Sopenharmony_ci.. c:type:: v4l2_vp8_entropy_header
27078c2ecf20Sopenharmony_ci
27088c2ecf20Sopenharmony_ci.. cssclass:: longtable
27098c2ecf20Sopenharmony_ci
27108c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{1.5cm}|p{6.3cm}|p{9.4cm}|
27118c2ecf20Sopenharmony_ci
27128c2ecf20Sopenharmony_ci.. flat-table:: struct v4l2_vp8_entropy_header
27138c2ecf20Sopenharmony_ci    :header-rows:  0
27148c2ecf20Sopenharmony_ci    :stub-columns: 0
27158c2ecf20Sopenharmony_ci    :widths:       1 1 2
27168c2ecf20Sopenharmony_ci
27178c2ecf20Sopenharmony_ci    * - __u8
27188c2ecf20Sopenharmony_ci      - ``coeff_probs[4][8][3][11]``
27198c2ecf20Sopenharmony_ci      - Coefficient update probabilities.
27208c2ecf20Sopenharmony_ci    * - __u8
27218c2ecf20Sopenharmony_ci      - ``y_mode_probs[4]``
27228c2ecf20Sopenharmony_ci      - Luma mode update probabilities.
27238c2ecf20Sopenharmony_ci    * - __u8
27248c2ecf20Sopenharmony_ci      - ``uv_mode_probs[3]``
27258c2ecf20Sopenharmony_ci      - Chroma mode update probabilities.
27268c2ecf20Sopenharmony_ci    * - __u8
27278c2ecf20Sopenharmony_ci      - ``mv_probs[2][19]``
27288c2ecf20Sopenharmony_ci      - MV decoding update probabilities.
27298c2ecf20Sopenharmony_ci    * - __u8
27308c2ecf20Sopenharmony_ci      - ``padding[3]``
27318c2ecf20Sopenharmony_ci      - Applications and drivers must set this to zero.
27328c2ecf20Sopenharmony_ci
27338c2ecf20Sopenharmony_ci.. raw:: latex
27348c2ecf20Sopenharmony_ci
27358c2ecf20Sopenharmony_ci    \normalsize
27368c2ecf20Sopenharmony_ci
27378c2ecf20Sopenharmony_ci
27388c2ecf20Sopenharmony_ciMFC 5.1 MPEG Controls
27398c2ecf20Sopenharmony_ci=====================
27408c2ecf20Sopenharmony_ci
27418c2ecf20Sopenharmony_ciThe following MPEG class controls deal with MPEG decoding and encoding
27428c2ecf20Sopenharmony_cisettings that are specific to the Multi Format Codec 5.1 device present
27438c2ecf20Sopenharmony_ciin the S5P family of SoCs by Samsung.
27448c2ecf20Sopenharmony_ci
27458c2ecf20Sopenharmony_ci
27468c2ecf20Sopenharmony_ci.. _mfc51-control-id:
27478c2ecf20Sopenharmony_ci
27488c2ecf20Sopenharmony_ciMFC 5.1 Control IDs
27498c2ecf20Sopenharmony_ci-------------------
27508c2ecf20Sopenharmony_ci
27518c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE (boolean)``
27528c2ecf20Sopenharmony_ci    If the display delay is enabled then the decoder is forced to return
27538c2ecf20Sopenharmony_ci    a CAPTURE buffer (decoded frame) after processing a certain number
27548c2ecf20Sopenharmony_ci    of OUTPUT buffers. The delay can be set through
27558c2ecf20Sopenharmony_ci    ``V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY``. This
27568c2ecf20Sopenharmony_ci    feature can be used for example for generating thumbnails of videos.
27578c2ecf20Sopenharmony_ci    Applicable to the H264 decoder.
27588c2ecf20Sopenharmony_ci
27598c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY (integer)``
27608c2ecf20Sopenharmony_ci    Display delay value for H264 decoder. The decoder is forced to
27618c2ecf20Sopenharmony_ci    return a decoded frame after the set 'display delay' number of
27628c2ecf20Sopenharmony_ci    frames. If this number is low it may result in frames returned out
27638c2ecf20Sopenharmony_ci    of display order, in addition the hardware may still be using the
27648c2ecf20Sopenharmony_ci    returned buffer as a reference picture for subsequent frames.
27658c2ecf20Sopenharmony_ci
27668c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P (integer)``
27678c2ecf20Sopenharmony_ci    The number of reference pictures used for encoding a P picture.
27688c2ecf20Sopenharmony_ci    Applicable to the H264 encoder.
27698c2ecf20Sopenharmony_ci
27708c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_MFC51_VIDEO_PADDING (boolean)``
27718c2ecf20Sopenharmony_ci    Padding enable in the encoder - use a color instead of repeating
27728c2ecf20Sopenharmony_ci    border pixels. Applicable to encoders.
27738c2ecf20Sopenharmony_ci
27748c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV (integer)``
27758c2ecf20Sopenharmony_ci    Padding color in the encoder. Applicable to encoders. The supplied
27768c2ecf20Sopenharmony_ci    32-bit integer is interpreted as follows (bit 0 = least significant
27778c2ecf20Sopenharmony_ci    bit):
27788c2ecf20Sopenharmony_ci
27798c2ecf20Sopenharmony_ci
27808c2ecf20Sopenharmony_ci
27818c2ecf20Sopenharmony_ci.. flat-table::
27828c2ecf20Sopenharmony_ci    :header-rows:  0
27838c2ecf20Sopenharmony_ci    :stub-columns: 0
27848c2ecf20Sopenharmony_ci
27858c2ecf20Sopenharmony_ci    * - Bit 0:7
27868c2ecf20Sopenharmony_ci      - V chrominance information
27878c2ecf20Sopenharmony_ci    * - Bit 8:15
27888c2ecf20Sopenharmony_ci      - U chrominance information
27898c2ecf20Sopenharmony_ci    * - Bit 16:23
27908c2ecf20Sopenharmony_ci      - Y luminance information
27918c2ecf20Sopenharmony_ci    * - Bit 24:31
27928c2ecf20Sopenharmony_ci      - Must be zero.
27938c2ecf20Sopenharmony_ci
27948c2ecf20Sopenharmony_ci
27958c2ecf20Sopenharmony_ci
27968c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF (integer)``
27978c2ecf20Sopenharmony_ci    Reaction coefficient for MFC rate control. Applicable to encoders.
27988c2ecf20Sopenharmony_ci
27998c2ecf20Sopenharmony_ci    .. note::
28008c2ecf20Sopenharmony_ci
28018c2ecf20Sopenharmony_ci       #. Valid only when the frame level RC is enabled.
28028c2ecf20Sopenharmony_ci
28038c2ecf20Sopenharmony_ci       #. For tight CBR, this field must be small (ex. 2 ~ 10). For
28048c2ecf20Sopenharmony_ci	  VBR, this field must be large (ex. 100 ~ 1000).
28058c2ecf20Sopenharmony_ci
28068c2ecf20Sopenharmony_ci       #. It is not recommended to use the greater number than
28078c2ecf20Sopenharmony_ci	  FRAME_RATE * (10^9 / BIT_RATE).
28088c2ecf20Sopenharmony_ci
28098c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK (boolean)``
28108c2ecf20Sopenharmony_ci    Adaptive rate control for dark region. Valid only when H.264 and
28118c2ecf20Sopenharmony_ci    macroblock level RC is enabled
28128c2ecf20Sopenharmony_ci    (``V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE``). Applicable to the H264
28138c2ecf20Sopenharmony_ci    encoder.
28148c2ecf20Sopenharmony_ci
28158c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH (boolean)``
28168c2ecf20Sopenharmony_ci    Adaptive rate control for smooth region. Valid only when H.264 and
28178c2ecf20Sopenharmony_ci    macroblock level RC is enabled
28188c2ecf20Sopenharmony_ci    (``V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE``). Applicable to the H264
28198c2ecf20Sopenharmony_ci    encoder.
28208c2ecf20Sopenharmony_ci
28218c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC (boolean)``
28228c2ecf20Sopenharmony_ci    Adaptive rate control for static region. Valid only when H.264 and
28238c2ecf20Sopenharmony_ci    macroblock level RC is enabled
28248c2ecf20Sopenharmony_ci    (``V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE``). Applicable to the H264
28258c2ecf20Sopenharmony_ci    encoder.
28268c2ecf20Sopenharmony_ci
28278c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY (boolean)``
28288c2ecf20Sopenharmony_ci    Adaptive rate control for activity region. Valid only when H.264 and
28298c2ecf20Sopenharmony_ci    macroblock level RC is enabled
28308c2ecf20Sopenharmony_ci    (``V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE``). Applicable to the H264
28318c2ecf20Sopenharmony_ci    encoder.
28328c2ecf20Sopenharmony_ci
28338c2ecf20Sopenharmony_ci.. _v4l2-mpeg-mfc51-video-frame-skip-mode:
28348c2ecf20Sopenharmony_ci
28358c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE``
28368c2ecf20Sopenharmony_ci    (enum)
28378c2ecf20Sopenharmony_ci
28388c2ecf20Sopenharmony_ci    .. note::
28398c2ecf20Sopenharmony_ci
28408c2ecf20Sopenharmony_ci       This control is deprecated. Use the standard
28418c2ecf20Sopenharmony_ci       ``V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE`` control instead.
28428c2ecf20Sopenharmony_ci
28438c2ecf20Sopenharmony_cienum v4l2_mpeg_mfc51_video_frame_skip_mode -
28448c2ecf20Sopenharmony_ci    Indicates in what conditions the encoder should skip frames. If
28458c2ecf20Sopenharmony_ci    encoding a frame would cause the encoded stream to be larger then a
28468c2ecf20Sopenharmony_ci    chosen data limit then the frame will be skipped. Possible values
28478c2ecf20Sopenharmony_ci    are:
28488c2ecf20Sopenharmony_ci
28498c2ecf20Sopenharmony_ci
28508c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{9.2cm}|p{8.3cm}|
28518c2ecf20Sopenharmony_ci
28528c2ecf20Sopenharmony_ci.. raw:: latex
28538c2ecf20Sopenharmony_ci
28548c2ecf20Sopenharmony_ci    \small
28558c2ecf20Sopenharmony_ci
28568c2ecf20Sopenharmony_ci.. flat-table::
28578c2ecf20Sopenharmony_ci    :header-rows:  0
28588c2ecf20Sopenharmony_ci    :stub-columns: 0
28598c2ecf20Sopenharmony_ci
28608c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_MFC51_FRAME_SKIP_MODE_DISABLED``
28618c2ecf20Sopenharmony_ci      - Frame skip mode is disabled.
28628c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_MFC51_FRAME_SKIP_MODE_LEVEL_LIMIT``
28638c2ecf20Sopenharmony_ci      - Frame skip mode enabled and buffer limit is set by the chosen
28648c2ecf20Sopenharmony_ci	level and is defined by the standard.
28658c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_MFC51_FRAME_SKIP_MODE_BUF_LIMIT``
28668c2ecf20Sopenharmony_ci      - Frame skip mode enabled and buffer limit is set by the VBV
28678c2ecf20Sopenharmony_ci	(MPEG1/2/4) or CPB (H264) buffer size control.
28688c2ecf20Sopenharmony_ci
28698c2ecf20Sopenharmony_ci.. raw:: latex
28708c2ecf20Sopenharmony_ci
28718c2ecf20Sopenharmony_ci    \normalsize
28728c2ecf20Sopenharmony_ci
28738c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT (integer)``
28748c2ecf20Sopenharmony_ci    Enable rate-control with fixed target bit. If this setting is
28758c2ecf20Sopenharmony_ci    enabled, then the rate control logic of the encoder will calculate
28768c2ecf20Sopenharmony_ci    the average bitrate for a GOP and keep it below or equal the set
28778c2ecf20Sopenharmony_ci    bitrate target. Otherwise the rate control logic calculates the
28788c2ecf20Sopenharmony_ci    overall average bitrate for the stream and keeps it below or equal
28798c2ecf20Sopenharmony_ci    to the set bitrate. In the first case the average bitrate for the
28808c2ecf20Sopenharmony_ci    whole stream will be smaller then the set bitrate. This is caused
28818c2ecf20Sopenharmony_ci    because the average is calculated for smaller number of frames, on
28828c2ecf20Sopenharmony_ci    the other hand enabling this setting will ensure that the stream
28838c2ecf20Sopenharmony_ci    will meet tight bandwidth constraints. Applicable to encoders.
28848c2ecf20Sopenharmony_ci
28858c2ecf20Sopenharmony_ci.. _v4l2-mpeg-mfc51-video-force-frame-type:
28868c2ecf20Sopenharmony_ci
28878c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE``
28888c2ecf20Sopenharmony_ci    (enum)
28898c2ecf20Sopenharmony_ci
28908c2ecf20Sopenharmony_cienum v4l2_mpeg_mfc51_video_force_frame_type -
28918c2ecf20Sopenharmony_ci    Force a frame type for the next queued buffer. Applicable to
28928c2ecf20Sopenharmony_ci    encoders. Possible values are:
28938c2ecf20Sopenharmony_ci
28948c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{9.5cm}|p{8.0cm}|
28958c2ecf20Sopenharmony_ci
28968c2ecf20Sopenharmony_ci.. flat-table::
28978c2ecf20Sopenharmony_ci    :header-rows:  0
28988c2ecf20Sopenharmony_ci    :stub-columns: 0
28998c2ecf20Sopenharmony_ci
29008c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_DISABLED``
29018c2ecf20Sopenharmony_ci      - Forcing a specific frame type disabled.
29028c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_I_FRAME``
29038c2ecf20Sopenharmony_ci      - Force an I-frame.
29048c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_NOT_CODED``
29058c2ecf20Sopenharmony_ci      - Force a non-coded frame.
29068c2ecf20Sopenharmony_ci
29078c2ecf20Sopenharmony_ci
29088c2ecf20Sopenharmony_ci.. _v4l2-mpeg-fwht:
29098c2ecf20Sopenharmony_ci
29108c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_FWHT_PARAMS (struct)``
29118c2ecf20Sopenharmony_ci    Specifies the fwht parameters (as extracted from the bitstream) for the
29128c2ecf20Sopenharmony_ci    associated FWHT data. This includes the necessary parameters for
29138c2ecf20Sopenharmony_ci    configuring a stateless hardware decoding pipeline for FWHT.
29148c2ecf20Sopenharmony_ci
29158c2ecf20Sopenharmony_ci    .. note::
29168c2ecf20Sopenharmony_ci
29178c2ecf20Sopenharmony_ci       This compound control is not yet part of the public kernel API and
29188c2ecf20Sopenharmony_ci       it is expected to change.
29198c2ecf20Sopenharmony_ci
29208c2ecf20Sopenharmony_ci.. c:type:: v4l2_ctrl_fwht_params
29218c2ecf20Sopenharmony_ci
29228c2ecf20Sopenharmony_ci.. cssclass:: longtable
29238c2ecf20Sopenharmony_ci
29248c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{1.4cm}|p{4.3cm}|p{11.8cm}|
29258c2ecf20Sopenharmony_ci
29268c2ecf20Sopenharmony_ci.. flat-table:: struct v4l2_ctrl_fwht_params
29278c2ecf20Sopenharmony_ci    :header-rows:  0
29288c2ecf20Sopenharmony_ci    :stub-columns: 0
29298c2ecf20Sopenharmony_ci    :widths:       1 1 2
29308c2ecf20Sopenharmony_ci
29318c2ecf20Sopenharmony_ci    * - __u64
29328c2ecf20Sopenharmony_ci      - ``backward_ref_ts``
29338c2ecf20Sopenharmony_ci      - Timestamp of the V4L2 capture buffer to use as backward reference, used
29348c2ecf20Sopenharmony_ci        with P-coded frames. The timestamp refers to the
29358c2ecf20Sopenharmony_ci	``timestamp`` field in struct :c:type:`v4l2_buffer`. Use the
29368c2ecf20Sopenharmony_ci	:c:func:`v4l2_timeval_to_ns()` function to convert the struct
29378c2ecf20Sopenharmony_ci	:c:type:`timeval` in struct :c:type:`v4l2_buffer` to a __u64.
29388c2ecf20Sopenharmony_ci    * - __u32
29398c2ecf20Sopenharmony_ci      - ``version``
29408c2ecf20Sopenharmony_ci      - The version of the codec
29418c2ecf20Sopenharmony_ci    * - __u32
29428c2ecf20Sopenharmony_ci      - ``width``
29438c2ecf20Sopenharmony_ci      - The width of the frame
29448c2ecf20Sopenharmony_ci    * - __u32
29458c2ecf20Sopenharmony_ci      - ``height``
29468c2ecf20Sopenharmony_ci      - The height of the frame
29478c2ecf20Sopenharmony_ci    * - __u32
29488c2ecf20Sopenharmony_ci      - ``flags``
29498c2ecf20Sopenharmony_ci      - The flags of the frame, see :ref:`fwht-flags`.
29508c2ecf20Sopenharmony_ci    * - __u32
29518c2ecf20Sopenharmony_ci      - ``colorspace``
29528c2ecf20Sopenharmony_ci      - The colorspace of the frame, from enum :c:type:`v4l2_colorspace`.
29538c2ecf20Sopenharmony_ci    * - __u32
29548c2ecf20Sopenharmony_ci      - ``xfer_func``
29558c2ecf20Sopenharmony_ci      - The transfer function, from enum :c:type:`v4l2_xfer_func`.
29568c2ecf20Sopenharmony_ci    * - __u32
29578c2ecf20Sopenharmony_ci      - ``ycbcr_enc``
29588c2ecf20Sopenharmony_ci      - The Y'CbCr encoding, from enum :c:type:`v4l2_ycbcr_encoding`.
29598c2ecf20Sopenharmony_ci    * - __u32
29608c2ecf20Sopenharmony_ci      - ``quantization``
29618c2ecf20Sopenharmony_ci      - The quantization range, from enum :c:type:`v4l2_quantization`.
29628c2ecf20Sopenharmony_ci
29638c2ecf20Sopenharmony_ci
29648c2ecf20Sopenharmony_ci
29658c2ecf20Sopenharmony_ci.. _fwht-flags:
29668c2ecf20Sopenharmony_ci
29678c2ecf20Sopenharmony_ciFWHT Flags
29688c2ecf20Sopenharmony_ci============
29698c2ecf20Sopenharmony_ci
29708c2ecf20Sopenharmony_ci.. cssclass:: longtable
29718c2ecf20Sopenharmony_ci
29728c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{6.8cm}|p{2.4cm}|p{8.3cm}|
29738c2ecf20Sopenharmony_ci
29748c2ecf20Sopenharmony_ci.. flat-table::
29758c2ecf20Sopenharmony_ci    :header-rows:  0
29768c2ecf20Sopenharmony_ci    :stub-columns: 0
29778c2ecf20Sopenharmony_ci    :widths:       3 1 4
29788c2ecf20Sopenharmony_ci
29798c2ecf20Sopenharmony_ci    * - ``FWHT_FL_IS_INTERLACED``
29808c2ecf20Sopenharmony_ci      - 0x00000001
29818c2ecf20Sopenharmony_ci      - Set if this is an interlaced format
29828c2ecf20Sopenharmony_ci    * - ``FWHT_FL_IS_BOTTOM_FIRST``
29838c2ecf20Sopenharmony_ci      - 0x00000002
29848c2ecf20Sopenharmony_ci      - Set if this is a bottom-first (NTSC) interlaced format
29858c2ecf20Sopenharmony_ci    * - ``FWHT_FL_IS_ALTERNATE``
29868c2ecf20Sopenharmony_ci      - 0x00000004
29878c2ecf20Sopenharmony_ci      - Set if each 'frame' contains just one field
29888c2ecf20Sopenharmony_ci    * - ``FWHT_FL_IS_BOTTOM_FIELD``
29898c2ecf20Sopenharmony_ci      - 0x00000008
29908c2ecf20Sopenharmony_ci      - If FWHT_FL_IS_ALTERNATE was set, then this is set if this 'frame' is the
29918c2ecf20Sopenharmony_ci	bottom field, else it is the top field.
29928c2ecf20Sopenharmony_ci    * - ``FWHT_FL_LUMA_IS_UNCOMPRESSED``
29938c2ecf20Sopenharmony_ci      - 0x00000010
29948c2ecf20Sopenharmony_ci      - Set if the luma plane is uncompressed
29958c2ecf20Sopenharmony_ci    * - ``FWHT_FL_CB_IS_UNCOMPRESSED``
29968c2ecf20Sopenharmony_ci      - 0x00000020
29978c2ecf20Sopenharmony_ci      - Set if the cb plane is uncompressed
29988c2ecf20Sopenharmony_ci    * - ``FWHT_FL_CR_IS_UNCOMPRESSED``
29998c2ecf20Sopenharmony_ci      - 0x00000040
30008c2ecf20Sopenharmony_ci      - Set if the cr plane is uncompressed
30018c2ecf20Sopenharmony_ci    * - ``FWHT_FL_CHROMA_FULL_HEIGHT``
30028c2ecf20Sopenharmony_ci      - 0x00000080
30038c2ecf20Sopenharmony_ci      - Set if the chroma plane has the same height as the luma plane,
30048c2ecf20Sopenharmony_ci	else the chroma plane is half the height of the luma plane
30058c2ecf20Sopenharmony_ci    * - ``FWHT_FL_CHROMA_FULL_WIDTH``
30068c2ecf20Sopenharmony_ci      - 0x00000100
30078c2ecf20Sopenharmony_ci      - Set if the chroma plane has the same width as the luma plane,
30088c2ecf20Sopenharmony_ci	else the chroma plane is half the width of the luma plane
30098c2ecf20Sopenharmony_ci    * - ``FWHT_FL_ALPHA_IS_UNCOMPRESSED``
30108c2ecf20Sopenharmony_ci      - 0x00000200
30118c2ecf20Sopenharmony_ci      - Set if the alpha plane is uncompressed
30128c2ecf20Sopenharmony_ci    * - ``FWHT_FL_I_FRAME``
30138c2ecf20Sopenharmony_ci      - 0x00000400
30148c2ecf20Sopenharmony_ci      - Set if this is an I-frame
30158c2ecf20Sopenharmony_ci    * - ``FWHT_FL_COMPONENTS_NUM_MSK``
30168c2ecf20Sopenharmony_ci      - 0x00070000
30178c2ecf20Sopenharmony_ci      - A 4-values flag - the number of components - 1
30188c2ecf20Sopenharmony_ci    * - ``FWHT_FL_PIXENC_YUV``
30198c2ecf20Sopenharmony_ci      - 0x00080000
30208c2ecf20Sopenharmony_ci      - Set if the pixel encoding is YUV
30218c2ecf20Sopenharmony_ci    * - ``FWHT_FL_PIXENC_RGB``
30228c2ecf20Sopenharmony_ci      - 0x00100000
30238c2ecf20Sopenharmony_ci      - Set if the pixel encoding is RGB
30248c2ecf20Sopenharmony_ci    * - ``FWHT_FL_PIXENC_HSV``
30258c2ecf20Sopenharmony_ci      - 0x00180000
30268c2ecf20Sopenharmony_ci      - Set if the pixel encoding is HSV
30278c2ecf20Sopenharmony_ci
30288c2ecf20Sopenharmony_ci
30298c2ecf20Sopenharmony_ciCX2341x MPEG Controls
30308c2ecf20Sopenharmony_ci=====================
30318c2ecf20Sopenharmony_ci
30328c2ecf20Sopenharmony_ciThe following MPEG class controls deal with MPEG encoding settings that
30338c2ecf20Sopenharmony_ciare specific to the Conexant CX23415 and CX23416 MPEG encoding chips.
30348c2ecf20Sopenharmony_ci
30358c2ecf20Sopenharmony_ci
30368c2ecf20Sopenharmony_ci.. _cx2341x-control-id:
30378c2ecf20Sopenharmony_ci
30388c2ecf20Sopenharmony_ciCX2341x Control IDs
30398c2ecf20Sopenharmony_ci-------------------
30408c2ecf20Sopenharmony_ci
30418c2ecf20Sopenharmony_ci.. _v4l2-mpeg-cx2341x-video-spatial-filter-mode:
30428c2ecf20Sopenharmony_ci
30438c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE``
30448c2ecf20Sopenharmony_ci    (enum)
30458c2ecf20Sopenharmony_ci
30468c2ecf20Sopenharmony_cienum v4l2_mpeg_cx2341x_video_spatial_filter_mode -
30478c2ecf20Sopenharmony_ci    Sets the Spatial Filter mode (default ``MANUAL``). Possible values
30488c2ecf20Sopenharmony_ci    are:
30498c2ecf20Sopenharmony_ci
30508c2ecf20Sopenharmony_ci
30518c2ecf20Sopenharmony_ci
30528c2ecf20Sopenharmony_ci.. flat-table::
30538c2ecf20Sopenharmony_ci    :header-rows:  0
30548c2ecf20Sopenharmony_ci    :stub-columns: 0
30558c2ecf20Sopenharmony_ci
30568c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL``
30578c2ecf20Sopenharmony_ci      - Choose the filter manually
30588c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO``
30598c2ecf20Sopenharmony_ci      - Choose the filter automatically
30608c2ecf20Sopenharmony_ci
30618c2ecf20Sopenharmony_ci
30628c2ecf20Sopenharmony_ci
30638c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER (integer (0-15))``
30648c2ecf20Sopenharmony_ci    The setting for the Spatial Filter. 0 = off, 15 = maximum. (Default
30658c2ecf20Sopenharmony_ci    is 0.)
30668c2ecf20Sopenharmony_ci
30678c2ecf20Sopenharmony_ci.. _luma-spatial-filter-type:
30688c2ecf20Sopenharmony_ci
30698c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE``
30708c2ecf20Sopenharmony_ci    (enum)
30718c2ecf20Sopenharmony_ci
30728c2ecf20Sopenharmony_cienum v4l2_mpeg_cx2341x_video_luma_spatial_filter_type -
30738c2ecf20Sopenharmony_ci    Select the algorithm to use for the Luma Spatial Filter (default
30748c2ecf20Sopenharmony_ci    ``1D_HOR``). Possible values:
30758c2ecf20Sopenharmony_ci
30768c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{14.5cm}|p{3.0cm}|
30778c2ecf20Sopenharmony_ci
30788c2ecf20Sopenharmony_ci.. raw:: latex
30798c2ecf20Sopenharmony_ci
30808c2ecf20Sopenharmony_ci    \small
30818c2ecf20Sopenharmony_ci
30828c2ecf20Sopenharmony_ci.. flat-table::
30838c2ecf20Sopenharmony_ci    :header-rows:  0
30848c2ecf20Sopenharmony_ci    :stub-columns: 0
30858c2ecf20Sopenharmony_ci
30868c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF``
30878c2ecf20Sopenharmony_ci      - No filter
30888c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR``
30898c2ecf20Sopenharmony_ci      - One-dimensional horizontal
30908c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT``
30918c2ecf20Sopenharmony_ci      - One-dimensional vertical
30928c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE``
30938c2ecf20Sopenharmony_ci      - Two-dimensional separable
30948c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE``
30958c2ecf20Sopenharmony_ci      - Two-dimensional symmetrical non-separable
30968c2ecf20Sopenharmony_ci
30978c2ecf20Sopenharmony_ci.. raw:: latex
30988c2ecf20Sopenharmony_ci
30998c2ecf20Sopenharmony_ci    \normalsize
31008c2ecf20Sopenharmony_ci
31018c2ecf20Sopenharmony_ci
31028c2ecf20Sopenharmony_ci
31038c2ecf20Sopenharmony_ci.. _chroma-spatial-filter-type:
31048c2ecf20Sopenharmony_ci
31058c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE``
31068c2ecf20Sopenharmony_ci    (enum)
31078c2ecf20Sopenharmony_ci
31088c2ecf20Sopenharmony_cienum v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type -
31098c2ecf20Sopenharmony_ci    Select the algorithm for the Chroma Spatial Filter (default
31108c2ecf20Sopenharmony_ci    ``1D_HOR``). Possible values are:
31118c2ecf20Sopenharmony_ci
31128c2ecf20Sopenharmony_ci
31138c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{14.0cm}|p{3.5cm}|
31148c2ecf20Sopenharmony_ci
31158c2ecf20Sopenharmony_ci.. flat-table::
31168c2ecf20Sopenharmony_ci    :header-rows:  0
31178c2ecf20Sopenharmony_ci    :stub-columns: 0
31188c2ecf20Sopenharmony_ci
31198c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF``
31208c2ecf20Sopenharmony_ci      - No filter
31218c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR``
31228c2ecf20Sopenharmony_ci      - One-dimensional horizontal
31238c2ecf20Sopenharmony_ci
31248c2ecf20Sopenharmony_ci
31258c2ecf20Sopenharmony_ci
31268c2ecf20Sopenharmony_ci.. _v4l2-mpeg-cx2341x-video-temporal-filter-mode:
31278c2ecf20Sopenharmony_ci
31288c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE``
31298c2ecf20Sopenharmony_ci    (enum)
31308c2ecf20Sopenharmony_ci
31318c2ecf20Sopenharmony_cienum v4l2_mpeg_cx2341x_video_temporal_filter_mode -
31328c2ecf20Sopenharmony_ci    Sets the Temporal Filter mode (default ``MANUAL``). Possible values
31338c2ecf20Sopenharmony_ci    are:
31348c2ecf20Sopenharmony_ci
31358c2ecf20Sopenharmony_ci
31368c2ecf20Sopenharmony_ci
31378c2ecf20Sopenharmony_ci.. flat-table::
31388c2ecf20Sopenharmony_ci    :header-rows:  0
31398c2ecf20Sopenharmony_ci    :stub-columns: 0
31408c2ecf20Sopenharmony_ci
31418c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL``
31428c2ecf20Sopenharmony_ci      - Choose the filter manually
31438c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO``
31448c2ecf20Sopenharmony_ci      - Choose the filter automatically
31458c2ecf20Sopenharmony_ci
31468c2ecf20Sopenharmony_ci
31478c2ecf20Sopenharmony_ci
31488c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER (integer (0-31))``
31498c2ecf20Sopenharmony_ci    The setting for the Temporal Filter. 0 = off, 31 = maximum. (Default
31508c2ecf20Sopenharmony_ci    is 8 for full-scale capturing and 0 for scaled capturing.)
31518c2ecf20Sopenharmony_ci
31528c2ecf20Sopenharmony_ci.. _v4l2-mpeg-cx2341x-video-median-filter-type:
31538c2ecf20Sopenharmony_ci
31548c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE``
31558c2ecf20Sopenharmony_ci    (enum)
31568c2ecf20Sopenharmony_ci
31578c2ecf20Sopenharmony_cienum v4l2_mpeg_cx2341x_video_median_filter_type -
31588c2ecf20Sopenharmony_ci    Median Filter Type (default ``OFF``). Possible values are:
31598c2ecf20Sopenharmony_ci
31608c2ecf20Sopenharmony_ci
31618c2ecf20Sopenharmony_ci
31628c2ecf20Sopenharmony_ci.. flat-table::
31638c2ecf20Sopenharmony_ci    :header-rows:  0
31648c2ecf20Sopenharmony_ci    :stub-columns: 0
31658c2ecf20Sopenharmony_ci
31668c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF``
31678c2ecf20Sopenharmony_ci      - No filter
31688c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR``
31698c2ecf20Sopenharmony_ci      - Horizontal filter
31708c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_VERT``
31718c2ecf20Sopenharmony_ci      - Vertical filter
31728c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT``
31738c2ecf20Sopenharmony_ci      - Horizontal and vertical filter
31748c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG``
31758c2ecf20Sopenharmony_ci      - Diagonal filter
31768c2ecf20Sopenharmony_ci
31778c2ecf20Sopenharmony_ci
31788c2ecf20Sopenharmony_ci
31798c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM (integer (0-255))``
31808c2ecf20Sopenharmony_ci    Threshold above which the luminance median filter is enabled
31818c2ecf20Sopenharmony_ci    (default 0)
31828c2ecf20Sopenharmony_ci
31838c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP (integer (0-255))``
31848c2ecf20Sopenharmony_ci    Threshold below which the luminance median filter is enabled
31858c2ecf20Sopenharmony_ci    (default 255)
31868c2ecf20Sopenharmony_ci
31878c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM (integer (0-255))``
31888c2ecf20Sopenharmony_ci    Threshold above which the chroma median filter is enabled (default
31898c2ecf20Sopenharmony_ci    0)
31908c2ecf20Sopenharmony_ci
31918c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP (integer (0-255))``
31928c2ecf20Sopenharmony_ci    Threshold below which the chroma median filter is enabled (default
31938c2ecf20Sopenharmony_ci    255)
31948c2ecf20Sopenharmony_ci
31958c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS (boolean)``
31968c2ecf20Sopenharmony_ci    The CX2341X MPEG encoder can insert one empty MPEG-2 PES packet into
31978c2ecf20Sopenharmony_ci    the stream between every four video frames. The packet size is 2048
31988c2ecf20Sopenharmony_ci    bytes, including the packet_start_code_prefix and stream_id
31998c2ecf20Sopenharmony_ci    fields. The stream_id is 0xBF (private stream 2). The payload
32008c2ecf20Sopenharmony_ci    consists of 0x00 bytes, to be filled in by the application. 0 = do
32018c2ecf20Sopenharmony_ci    not insert, 1 = insert packets.
32028c2ecf20Sopenharmony_ci
32038c2ecf20Sopenharmony_ci
32048c2ecf20Sopenharmony_ciVPX Control Reference
32058c2ecf20Sopenharmony_ci=====================
32068c2ecf20Sopenharmony_ci
32078c2ecf20Sopenharmony_ciThe VPX controls include controls for encoding parameters of VPx video
32088c2ecf20Sopenharmony_cicodec.
32098c2ecf20Sopenharmony_ci
32108c2ecf20Sopenharmony_ci
32118c2ecf20Sopenharmony_ci.. _vpx-control-id:
32128c2ecf20Sopenharmony_ci
32138c2ecf20Sopenharmony_ciVPX Control IDs
32148c2ecf20Sopenharmony_ci---------------
32158c2ecf20Sopenharmony_ci
32168c2ecf20Sopenharmony_ci.. _v4l2-vpx-num-partitions:
32178c2ecf20Sopenharmony_ci
32188c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS``
32198c2ecf20Sopenharmony_ci    (enum)
32208c2ecf20Sopenharmony_ci
32218c2ecf20Sopenharmony_cienum v4l2_vp8_num_partitions -
32228c2ecf20Sopenharmony_ci    The number of token partitions to use in VP8 encoder. Possible
32238c2ecf20Sopenharmony_ci    values are:
32248c2ecf20Sopenharmony_ci
32258c2ecf20Sopenharmony_ci
32268c2ecf20Sopenharmony_ci
32278c2ecf20Sopenharmony_ci.. flat-table::
32288c2ecf20Sopenharmony_ci    :header-rows:  0
32298c2ecf20Sopenharmony_ci    :stub-columns: 0
32308c2ecf20Sopenharmony_ci
32318c2ecf20Sopenharmony_ci    * - ``V4L2_CID_MPEG_VIDEO_VPX_1_PARTITION``
32328c2ecf20Sopenharmony_ci      - 1 coefficient partition
32338c2ecf20Sopenharmony_ci    * - ``V4L2_CID_MPEG_VIDEO_VPX_2_PARTITIONS``
32348c2ecf20Sopenharmony_ci      - 2 coefficient partitions
32358c2ecf20Sopenharmony_ci    * - ``V4L2_CID_MPEG_VIDEO_VPX_4_PARTITIONS``
32368c2ecf20Sopenharmony_ci      - 4 coefficient partitions
32378c2ecf20Sopenharmony_ci    * - ``V4L2_CID_MPEG_VIDEO_VPX_8_PARTITIONS``
32388c2ecf20Sopenharmony_ci      - 8 coefficient partitions
32398c2ecf20Sopenharmony_ci
32408c2ecf20Sopenharmony_ci
32418c2ecf20Sopenharmony_ci
32428c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4 (boolean)``
32438c2ecf20Sopenharmony_ci    Setting this prevents intra 4x4 mode in the intra mode decision.
32448c2ecf20Sopenharmony_ci
32458c2ecf20Sopenharmony_ci.. _v4l2-vpx-num-ref-frames:
32468c2ecf20Sopenharmony_ci
32478c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES``
32488c2ecf20Sopenharmony_ci    (enum)
32498c2ecf20Sopenharmony_ci
32508c2ecf20Sopenharmony_cienum v4l2_vp8_num_ref_frames -
32518c2ecf20Sopenharmony_ci    The number of reference pictures for encoding P frames. Possible
32528c2ecf20Sopenharmony_ci    values are:
32538c2ecf20Sopenharmony_ci
32548c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{7.9cm}|p{9.6cm}|
32558c2ecf20Sopenharmony_ci
32568c2ecf20Sopenharmony_ci.. raw:: latex
32578c2ecf20Sopenharmony_ci
32588c2ecf20Sopenharmony_ci    \small
32598c2ecf20Sopenharmony_ci
32608c2ecf20Sopenharmony_ci.. flat-table::
32618c2ecf20Sopenharmony_ci    :header-rows:  0
32628c2ecf20Sopenharmony_ci    :stub-columns: 0
32638c2ecf20Sopenharmony_ci
32648c2ecf20Sopenharmony_ci    * - ``V4L2_CID_MPEG_VIDEO_VPX_1_REF_FRAME``
32658c2ecf20Sopenharmony_ci      - Last encoded frame will be searched
32668c2ecf20Sopenharmony_ci    * - ``V4L2_CID_MPEG_VIDEO_VPX_2_REF_FRAME``
32678c2ecf20Sopenharmony_ci      - Two frames will be searched among the last encoded frame, the
32688c2ecf20Sopenharmony_ci	golden frame and the alternate reference (altref) frame. The
32698c2ecf20Sopenharmony_ci	encoder implementation will decide which two are chosen.
32708c2ecf20Sopenharmony_ci    * - ``V4L2_CID_MPEG_VIDEO_VPX_3_REF_FRAME``
32718c2ecf20Sopenharmony_ci      - The last encoded frame, the golden frame and the altref frame will
32728c2ecf20Sopenharmony_ci	be searched.
32738c2ecf20Sopenharmony_ci
32748c2ecf20Sopenharmony_ci.. raw:: latex
32758c2ecf20Sopenharmony_ci
32768c2ecf20Sopenharmony_ci    \normalsize
32778c2ecf20Sopenharmony_ci
32788c2ecf20Sopenharmony_ci
32798c2ecf20Sopenharmony_ci
32808c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL (integer)``
32818c2ecf20Sopenharmony_ci    Indicates the loop filter level. The adjustment of the loop filter
32828c2ecf20Sopenharmony_ci    level is done via a delta value against a baseline loop filter
32838c2ecf20Sopenharmony_ci    value.
32848c2ecf20Sopenharmony_ci
32858c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS (integer)``
32868c2ecf20Sopenharmony_ci    This parameter affects the loop filter. Anything above zero weakens
32878c2ecf20Sopenharmony_ci    the deblocking effect on the loop filter.
32888c2ecf20Sopenharmony_ci
32898c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD (integer)``
32908c2ecf20Sopenharmony_ci    Sets the refresh period for the golden frame. The period is defined
32918c2ecf20Sopenharmony_ci    in number of frames. For a value of 'n', every nth frame starting
32928c2ecf20Sopenharmony_ci    from the first key frame will be taken as a golden frame. For eg.
32938c2ecf20Sopenharmony_ci    for encoding sequence of 0, 1, 2, 3, 4, 5, 6, 7 where the golden
32948c2ecf20Sopenharmony_ci    frame refresh period is set as 4, the frames 0, 4, 8 etc will be
32958c2ecf20Sopenharmony_ci    taken as the golden frames as frame 0 is always a key frame.
32968c2ecf20Sopenharmony_ci
32978c2ecf20Sopenharmony_ci.. _v4l2-vpx-golden-frame-sel:
32988c2ecf20Sopenharmony_ci
32998c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL``
33008c2ecf20Sopenharmony_ci    (enum)
33018c2ecf20Sopenharmony_ci
33028c2ecf20Sopenharmony_cienum v4l2_vp8_golden_frame_sel -
33038c2ecf20Sopenharmony_ci    Selects the golden frame for encoding. Possible values are:
33048c2ecf20Sopenharmony_ci
33058c2ecf20Sopenharmony_ci.. raw:: latex
33068c2ecf20Sopenharmony_ci
33078c2ecf20Sopenharmony_ci    \scriptsize
33088c2ecf20Sopenharmony_ci
33098c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{9.0cm}|p{8.0cm}|
33108c2ecf20Sopenharmony_ci
33118c2ecf20Sopenharmony_ci.. flat-table::
33128c2ecf20Sopenharmony_ci    :header-rows:  0
33138c2ecf20Sopenharmony_ci    :stub-columns: 0
33148c2ecf20Sopenharmony_ci
33158c2ecf20Sopenharmony_ci    * - ``V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_PREV``
33168c2ecf20Sopenharmony_ci      - Use the (n-2)th frame as a golden frame, current frame index being
33178c2ecf20Sopenharmony_ci	'n'.
33188c2ecf20Sopenharmony_ci    * - ``V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_REF_PERIOD``
33198c2ecf20Sopenharmony_ci      - Use the previous specific frame indicated by
33208c2ecf20Sopenharmony_ci	``V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD`` as a
33218c2ecf20Sopenharmony_ci	golden frame.
33228c2ecf20Sopenharmony_ci
33238c2ecf20Sopenharmony_ci.. raw:: latex
33248c2ecf20Sopenharmony_ci
33258c2ecf20Sopenharmony_ci    \normalsize
33268c2ecf20Sopenharmony_ci
33278c2ecf20Sopenharmony_ci
33288c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VPX_MIN_QP (integer)``
33298c2ecf20Sopenharmony_ci    Minimum quantization parameter for VP8.
33308c2ecf20Sopenharmony_ci
33318c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VPX_MAX_QP (integer)``
33328c2ecf20Sopenharmony_ci    Maximum quantization parameter for VP8.
33338c2ecf20Sopenharmony_ci
33348c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP (integer)``
33358c2ecf20Sopenharmony_ci    Quantization parameter for an I frame for VP8.
33368c2ecf20Sopenharmony_ci
33378c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP (integer)``
33388c2ecf20Sopenharmony_ci    Quantization parameter for a P frame for VP8.
33398c2ecf20Sopenharmony_ci
33408c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-vp8-profile:
33418c2ecf20Sopenharmony_ci
33428c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VP8_PROFILE``
33438c2ecf20Sopenharmony_ci    (enum)
33448c2ecf20Sopenharmony_ci
33458c2ecf20Sopenharmony_cienum v4l2_mpeg_video_vp8_profile -
33468c2ecf20Sopenharmony_ci    This control allows selecting the profile for VP8 encoder.
33478c2ecf20Sopenharmony_ci    This is also used to enumerate supported profiles by VP8 encoder or decoder.
33488c2ecf20Sopenharmony_ci    Possible values are:
33498c2ecf20Sopenharmony_ci
33508c2ecf20Sopenharmony_ci.. flat-table::
33518c2ecf20Sopenharmony_ci    :header-rows:  0
33528c2ecf20Sopenharmony_ci    :stub-columns: 0
33538c2ecf20Sopenharmony_ci
33548c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP8_PROFILE_0``
33558c2ecf20Sopenharmony_ci      - Profile 0
33568c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP8_PROFILE_1``
33578c2ecf20Sopenharmony_ci      - Profile 1
33588c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP8_PROFILE_2``
33598c2ecf20Sopenharmony_ci      - Profile 2
33608c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP8_PROFILE_3``
33618c2ecf20Sopenharmony_ci      - Profile 3
33628c2ecf20Sopenharmony_ci
33638c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-vp9-profile:
33648c2ecf20Sopenharmony_ci
33658c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VP9_PROFILE``
33668c2ecf20Sopenharmony_ci    (enum)
33678c2ecf20Sopenharmony_ci
33688c2ecf20Sopenharmony_cienum v4l2_mpeg_video_vp9_profile -
33698c2ecf20Sopenharmony_ci    This control allows selecting the profile for VP9 encoder.
33708c2ecf20Sopenharmony_ci    This is also used to enumerate supported profiles by VP9 encoder or decoder.
33718c2ecf20Sopenharmony_ci    Possible values are:
33728c2ecf20Sopenharmony_ci
33738c2ecf20Sopenharmony_ci.. flat-table::
33748c2ecf20Sopenharmony_ci    :header-rows:  0
33758c2ecf20Sopenharmony_ci    :stub-columns: 0
33768c2ecf20Sopenharmony_ci
33778c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_PROFILE_0``
33788c2ecf20Sopenharmony_ci      - Profile 0
33798c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_PROFILE_1``
33808c2ecf20Sopenharmony_ci      - Profile 1
33818c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_PROFILE_2``
33828c2ecf20Sopenharmony_ci      - Profile 2
33838c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_PROFILE_3``
33848c2ecf20Sopenharmony_ci      - Profile 3
33858c2ecf20Sopenharmony_ci
33868c2ecf20Sopenharmony_ci.. _v4l2-mpeg-video-vp9-level:
33878c2ecf20Sopenharmony_ci
33888c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VP9_LEVEL (enum)``
33898c2ecf20Sopenharmony_ci
33908c2ecf20Sopenharmony_cienum v4l2_mpeg_video_vp9_level -
33918c2ecf20Sopenharmony_ci    This control allows selecting the level for VP9 encoder.
33928c2ecf20Sopenharmony_ci    This is also used to enumerate supported levels by VP9 encoder or decoder.
33938c2ecf20Sopenharmony_ci    More information can be found at
33948c2ecf20Sopenharmony_ci    `webmproject <https://www.webmproject.org/vp9/levels/>`__. Possible values are:
33958c2ecf20Sopenharmony_ci
33968c2ecf20Sopenharmony_ci.. flat-table::
33978c2ecf20Sopenharmony_ci    :header-rows:  0
33988c2ecf20Sopenharmony_ci    :stub-columns: 0
33998c2ecf20Sopenharmony_ci
34008c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_1_0``
34018c2ecf20Sopenharmony_ci      - Level 1
34028c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_1_1``
34038c2ecf20Sopenharmony_ci      - Level 1.1
34048c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_2_0``
34058c2ecf20Sopenharmony_ci      - Level 2
34068c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_2_1``
34078c2ecf20Sopenharmony_ci      - Level 2.1
34088c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_3_0``
34098c2ecf20Sopenharmony_ci      - Level 3
34108c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_3_1``
34118c2ecf20Sopenharmony_ci      - Level 3.1
34128c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_4_0``
34138c2ecf20Sopenharmony_ci      - Level 4
34148c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_4_1``
34158c2ecf20Sopenharmony_ci      - Level 4.1
34168c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_5_0``
34178c2ecf20Sopenharmony_ci      - Level 5
34188c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_5_1``
34198c2ecf20Sopenharmony_ci      - Level 5.1
34208c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_5_2``
34218c2ecf20Sopenharmony_ci      - Level 5.2
34228c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_6_0``
34238c2ecf20Sopenharmony_ci      - Level 6
34248c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_6_1``
34258c2ecf20Sopenharmony_ci      - Level 6.1
34268c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_6_2``
34278c2ecf20Sopenharmony_ci      - Level 6.2
34288c2ecf20Sopenharmony_ci
34298c2ecf20Sopenharmony_ci
34308c2ecf20Sopenharmony_ciHigh Efficiency Video Coding (HEVC/H.265) Control Reference
34318c2ecf20Sopenharmony_ci===========================================================
34328c2ecf20Sopenharmony_ci
34338c2ecf20Sopenharmony_ciThe HEVC/H.265 controls include controls for encoding parameters of HEVC/H.265
34348c2ecf20Sopenharmony_civideo codec.
34358c2ecf20Sopenharmony_ci
34368c2ecf20Sopenharmony_ci
34378c2ecf20Sopenharmony_ci.. _hevc-control-id:
34388c2ecf20Sopenharmony_ci
34398c2ecf20Sopenharmony_ciHEVC/H.265 Control IDs
34408c2ecf20Sopenharmony_ci----------------------
34418c2ecf20Sopenharmony_ci
34428c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP (integer)``
34438c2ecf20Sopenharmony_ci    Minimum quantization parameter for HEVC.
34448c2ecf20Sopenharmony_ci    Valid range: from 0 to 51.
34458c2ecf20Sopenharmony_ci
34468c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP (integer)``
34478c2ecf20Sopenharmony_ci    Maximum quantization parameter for HEVC.
34488c2ecf20Sopenharmony_ci    Valid range: from 0 to 51.
34498c2ecf20Sopenharmony_ci
34508c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP (integer)``
34518c2ecf20Sopenharmony_ci    Quantization parameter for an I frame for HEVC.
34528c2ecf20Sopenharmony_ci    Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
34538c2ecf20Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
34548c2ecf20Sopenharmony_ci
34558c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP (integer)``
34568c2ecf20Sopenharmony_ci    Quantization parameter for a P frame for HEVC.
34578c2ecf20Sopenharmony_ci    Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
34588c2ecf20Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
34598c2ecf20Sopenharmony_ci
34608c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP (integer)``
34618c2ecf20Sopenharmony_ci    Quantization parameter for a B frame for HEVC.
34628c2ecf20Sopenharmony_ci    Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
34638c2ecf20Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
34648c2ecf20Sopenharmony_ci
34658c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP (boolean)``
34668c2ecf20Sopenharmony_ci    HIERARCHICAL_QP allows the host to specify the quantization parameter
34678c2ecf20Sopenharmony_ci    values for each temporal layer through HIERARCHICAL_QP_LAYER. This is
34688c2ecf20Sopenharmony_ci    valid only if HIERARCHICAL_CODING_LAYER is greater than 1. Setting the
34698c2ecf20Sopenharmony_ci    control value to 1 enables setting of the QP values for the layers.
34708c2ecf20Sopenharmony_ci
34718c2ecf20Sopenharmony_ci.. _v4l2-hevc-hier-coding-type:
34728c2ecf20Sopenharmony_ci
34738c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE``
34748c2ecf20Sopenharmony_ci    (enum)
34758c2ecf20Sopenharmony_ci
34768c2ecf20Sopenharmony_cienum v4l2_mpeg_video_hevc_hier_coding_type -
34778c2ecf20Sopenharmony_ci    Selects the hierarchical coding type for encoding. Possible values are:
34788c2ecf20Sopenharmony_ci
34798c2ecf20Sopenharmony_ci.. raw:: latex
34808c2ecf20Sopenharmony_ci
34818c2ecf20Sopenharmony_ci    \footnotesize
34828c2ecf20Sopenharmony_ci
34838c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{9.0cm}|p{8.0cm}|
34848c2ecf20Sopenharmony_ci
34858c2ecf20Sopenharmony_ci.. flat-table::
34868c2ecf20Sopenharmony_ci    :header-rows:  0
34878c2ecf20Sopenharmony_ci    :stub-columns: 0
34888c2ecf20Sopenharmony_ci
34898c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B``
34908c2ecf20Sopenharmony_ci      - Use the B frame for hierarchical coding.
34918c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P``
34928c2ecf20Sopenharmony_ci      - Use the P frame for hierarchical coding.
34938c2ecf20Sopenharmony_ci
34948c2ecf20Sopenharmony_ci.. raw:: latex
34958c2ecf20Sopenharmony_ci
34968c2ecf20Sopenharmony_ci    \normalsize
34978c2ecf20Sopenharmony_ci
34988c2ecf20Sopenharmony_ci
34998c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER (integer)``
35008c2ecf20Sopenharmony_ci    Selects the hierarchical coding layer. In normal encoding
35018c2ecf20Sopenharmony_ci    (non-hierarchial coding), it should be zero. Possible values are [0, 6].
35028c2ecf20Sopenharmony_ci    0 indicates HIERARCHICAL CODING LAYER 0, 1 indicates HIERARCHICAL CODING
35038c2ecf20Sopenharmony_ci    LAYER 1 and so on.
35048c2ecf20Sopenharmony_ci
35058c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP (integer)``
35068c2ecf20Sopenharmony_ci    Indicates quantization parameter for hierarchical coding layer 0.
35078c2ecf20Sopenharmony_ci    Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
35088c2ecf20Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
35098c2ecf20Sopenharmony_ci
35108c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP (integer)``
35118c2ecf20Sopenharmony_ci    Indicates quantization parameter for hierarchical coding layer 1.
35128c2ecf20Sopenharmony_ci    Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
35138c2ecf20Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
35148c2ecf20Sopenharmony_ci
35158c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP (integer)``
35168c2ecf20Sopenharmony_ci    Indicates quantization parameter for hierarchical coding layer 2.
35178c2ecf20Sopenharmony_ci    Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
35188c2ecf20Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
35198c2ecf20Sopenharmony_ci
35208c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP (integer)``
35218c2ecf20Sopenharmony_ci    Indicates quantization parameter for hierarchical coding layer 3.
35228c2ecf20Sopenharmony_ci    Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
35238c2ecf20Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
35248c2ecf20Sopenharmony_ci
35258c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP (integer)``
35268c2ecf20Sopenharmony_ci    Indicates quantization parameter for hierarchical coding layer 4.
35278c2ecf20Sopenharmony_ci    Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
35288c2ecf20Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
35298c2ecf20Sopenharmony_ci
35308c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP (integer)``
35318c2ecf20Sopenharmony_ci    Indicates quantization parameter for hierarchical coding layer 5.
35328c2ecf20Sopenharmony_ci    Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
35338c2ecf20Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
35348c2ecf20Sopenharmony_ci
35358c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP (integer)``
35368c2ecf20Sopenharmony_ci    Indicates quantization parameter for hierarchical coding layer 6.
35378c2ecf20Sopenharmony_ci    Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
35388c2ecf20Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
35398c2ecf20Sopenharmony_ci
35408c2ecf20Sopenharmony_ci.. _v4l2-hevc-profile:
35418c2ecf20Sopenharmony_ci
35428c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_PROFILE``
35438c2ecf20Sopenharmony_ci    (enum)
35448c2ecf20Sopenharmony_ci
35458c2ecf20Sopenharmony_cienum v4l2_mpeg_video_hevc_profile -
35468c2ecf20Sopenharmony_ci    Select the desired profile for HEVC encoder.
35478c2ecf20Sopenharmony_ci
35488c2ecf20Sopenharmony_ci.. raw:: latex
35498c2ecf20Sopenharmony_ci
35508c2ecf20Sopenharmony_ci    \footnotesize
35518c2ecf20Sopenharmony_ci
35528c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{9.0cm}|p{8.0cm}|
35538c2ecf20Sopenharmony_ci
35548c2ecf20Sopenharmony_ci.. flat-table::
35558c2ecf20Sopenharmony_ci    :header-rows:  0
35568c2ecf20Sopenharmony_ci    :stub-columns: 0
35578c2ecf20Sopenharmony_ci
35588c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN``
35598c2ecf20Sopenharmony_ci      - Main profile.
35608c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE``
35618c2ecf20Sopenharmony_ci      - Main still picture profile.
35628c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10``
35638c2ecf20Sopenharmony_ci      - Main 10 profile.
35648c2ecf20Sopenharmony_ci
35658c2ecf20Sopenharmony_ci.. raw:: latex
35668c2ecf20Sopenharmony_ci
35678c2ecf20Sopenharmony_ci    \normalsize
35688c2ecf20Sopenharmony_ci
35698c2ecf20Sopenharmony_ci
35708c2ecf20Sopenharmony_ci.. _v4l2-hevc-level:
35718c2ecf20Sopenharmony_ci
35728c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_LEVEL``
35738c2ecf20Sopenharmony_ci    (enum)
35748c2ecf20Sopenharmony_ci
35758c2ecf20Sopenharmony_cienum v4l2_mpeg_video_hevc_level -
35768c2ecf20Sopenharmony_ci    Selects the desired level for HEVC encoder.
35778c2ecf20Sopenharmony_ci
35788c2ecf20Sopenharmony_ci.. raw:: latex
35798c2ecf20Sopenharmony_ci
35808c2ecf20Sopenharmony_ci    \footnotesize
35818c2ecf20Sopenharmony_ci
35828c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{9.0cm}|p{8.0cm}|
35838c2ecf20Sopenharmony_ci
35848c2ecf20Sopenharmony_ci.. flat-table::
35858c2ecf20Sopenharmony_ci    :header-rows:  0
35868c2ecf20Sopenharmony_ci    :stub-columns: 0
35878c2ecf20Sopenharmony_ci
35888c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_1``
35898c2ecf20Sopenharmony_ci      - Level 1.0
35908c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_2``
35918c2ecf20Sopenharmony_ci      - Level 2.0
35928c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_2_1``
35938c2ecf20Sopenharmony_ci      - Level 2.1
35948c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_3``
35958c2ecf20Sopenharmony_ci      - Level 3.0
35968c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_3_1``
35978c2ecf20Sopenharmony_ci      - Level 3.1
35988c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_4``
35998c2ecf20Sopenharmony_ci      - Level 4.0
36008c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1``
36018c2ecf20Sopenharmony_ci      - Level 4.1
36028c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_5``
36038c2ecf20Sopenharmony_ci      - Level 5.0
36048c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1``
36058c2ecf20Sopenharmony_ci      - Level 5.1
36068c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2``
36078c2ecf20Sopenharmony_ci      - Level 5.2
36088c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_6``
36098c2ecf20Sopenharmony_ci      - Level 6.0
36108c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1``
36118c2ecf20Sopenharmony_ci      - Level 6.1
36128c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_6_2``
36138c2ecf20Sopenharmony_ci      - Level 6.2
36148c2ecf20Sopenharmony_ci
36158c2ecf20Sopenharmony_ci.. raw:: latex
36168c2ecf20Sopenharmony_ci
36178c2ecf20Sopenharmony_ci    \normalsize
36188c2ecf20Sopenharmony_ci
36198c2ecf20Sopenharmony_ci
36208c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION (integer)``
36218c2ecf20Sopenharmony_ci    Indicates the number of evenly spaced subintervals, called ticks, within
36228c2ecf20Sopenharmony_ci    one second. This is a 16 bit unsigned integer and has a maximum value up to
36238c2ecf20Sopenharmony_ci    0xffff and a minimum value of 1.
36248c2ecf20Sopenharmony_ci
36258c2ecf20Sopenharmony_ci.. _v4l2-hevc-tier:
36268c2ecf20Sopenharmony_ci
36278c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_TIER``
36288c2ecf20Sopenharmony_ci    (enum)
36298c2ecf20Sopenharmony_ci
36308c2ecf20Sopenharmony_cienum v4l2_mpeg_video_hevc_tier -
36318c2ecf20Sopenharmony_ci    TIER_FLAG specifies tiers information of the HEVC encoded picture. Tier
36328c2ecf20Sopenharmony_ci    were made to deal with applications that differ in terms of maximum bit
36338c2ecf20Sopenharmony_ci    rate. Setting the flag to 0 selects HEVC tier as Main tier and setting
36348c2ecf20Sopenharmony_ci    this flag to 1 indicates High tier. High tier is for applications requiring
36358c2ecf20Sopenharmony_ci    high bit rates.
36368c2ecf20Sopenharmony_ci
36378c2ecf20Sopenharmony_ci.. raw:: latex
36388c2ecf20Sopenharmony_ci
36398c2ecf20Sopenharmony_ci    \footnotesize
36408c2ecf20Sopenharmony_ci
36418c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{9.0cm}|p{8.0cm}|
36428c2ecf20Sopenharmony_ci
36438c2ecf20Sopenharmony_ci.. flat-table::
36448c2ecf20Sopenharmony_ci    :header-rows:  0
36458c2ecf20Sopenharmony_ci    :stub-columns: 0
36468c2ecf20Sopenharmony_ci
36478c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_TIER_MAIN``
36488c2ecf20Sopenharmony_ci      - Main tier.
36498c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_TIER_HIGH``
36508c2ecf20Sopenharmony_ci      - High tier.
36518c2ecf20Sopenharmony_ci
36528c2ecf20Sopenharmony_ci.. raw:: latex
36538c2ecf20Sopenharmony_ci
36548c2ecf20Sopenharmony_ci    \normalsize
36558c2ecf20Sopenharmony_ci
36568c2ecf20Sopenharmony_ci
36578c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH (integer)``
36588c2ecf20Sopenharmony_ci    Selects HEVC maximum coding unit depth.
36598c2ecf20Sopenharmony_ci
36608c2ecf20Sopenharmony_ci.. _v4l2-hevc-loop-filter-mode:
36618c2ecf20Sopenharmony_ci
36628c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE``
36638c2ecf20Sopenharmony_ci    (enum)
36648c2ecf20Sopenharmony_ci
36658c2ecf20Sopenharmony_cienum v4l2_mpeg_video_hevc_loop_filter_mode -
36668c2ecf20Sopenharmony_ci    Loop filter mode for HEVC encoder. Possible values are:
36678c2ecf20Sopenharmony_ci
36688c2ecf20Sopenharmony_ci.. raw:: latex
36698c2ecf20Sopenharmony_ci
36708c2ecf20Sopenharmony_ci    \footnotesize
36718c2ecf20Sopenharmony_ci
36728c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{12.1cm}|p{5.4cm}|
36738c2ecf20Sopenharmony_ci
36748c2ecf20Sopenharmony_ci.. flat-table::
36758c2ecf20Sopenharmony_ci    :header-rows:  0
36768c2ecf20Sopenharmony_ci    :stub-columns: 0
36778c2ecf20Sopenharmony_ci
36788c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED``
36798c2ecf20Sopenharmony_ci      - Loop filter is disabled.
36808c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED``
36818c2ecf20Sopenharmony_ci      - Loop filter is enabled.
36828c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY``
36838c2ecf20Sopenharmony_ci      - Loop filter is disabled at the slice boundary.
36848c2ecf20Sopenharmony_ci
36858c2ecf20Sopenharmony_ci.. raw:: latex
36868c2ecf20Sopenharmony_ci
36878c2ecf20Sopenharmony_ci    \normalsize
36888c2ecf20Sopenharmony_ci
36898c2ecf20Sopenharmony_ci
36908c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2 (integer)``
36918c2ecf20Sopenharmony_ci    Selects HEVC loop filter beta offset. The valid range is [-6, +6].
36928c2ecf20Sopenharmony_ci
36938c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2 (integer)``
36948c2ecf20Sopenharmony_ci    Selects HEVC loop filter tc offset. The valid range is [-6, +6].
36958c2ecf20Sopenharmony_ci
36968c2ecf20Sopenharmony_ci.. _v4l2-hevc-refresh-type:
36978c2ecf20Sopenharmony_ci
36988c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE``
36998c2ecf20Sopenharmony_ci    (enum)
37008c2ecf20Sopenharmony_ci
37018c2ecf20Sopenharmony_cienum v4l2_mpeg_video_hevc_hier_refresh_type -
37028c2ecf20Sopenharmony_ci    Selects refresh type for HEVC encoder.
37038c2ecf20Sopenharmony_ci    Host has to specify the period into
37048c2ecf20Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD.
37058c2ecf20Sopenharmony_ci
37068c2ecf20Sopenharmony_ci.. raw:: latex
37078c2ecf20Sopenharmony_ci
37088c2ecf20Sopenharmony_ci    \footnotesize
37098c2ecf20Sopenharmony_ci
37108c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{8.0cm}|p{9.0cm}|
37118c2ecf20Sopenharmony_ci
37128c2ecf20Sopenharmony_ci.. flat-table::
37138c2ecf20Sopenharmony_ci    :header-rows:  0
37148c2ecf20Sopenharmony_ci    :stub-columns: 0
37158c2ecf20Sopenharmony_ci
37168c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_REFRESH_NONE``
37178c2ecf20Sopenharmony_ci      - Use the B frame for hierarchical coding.
37188c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_REFRESH_CRA``
37198c2ecf20Sopenharmony_ci      - Use CRA (Clean Random Access Unit) picture encoding.
37208c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_REFRESH_IDR``
37218c2ecf20Sopenharmony_ci      - Use IDR (Instantaneous Decoding Refresh) picture encoding.
37228c2ecf20Sopenharmony_ci
37238c2ecf20Sopenharmony_ci.. raw:: latex
37248c2ecf20Sopenharmony_ci
37258c2ecf20Sopenharmony_ci    \normalsize
37268c2ecf20Sopenharmony_ci
37278c2ecf20Sopenharmony_ci
37288c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD (integer)``
37298c2ecf20Sopenharmony_ci    Selects the refresh period for HEVC encoder.
37308c2ecf20Sopenharmony_ci    This specifies the number of I pictures between two CRA/IDR pictures.
37318c2ecf20Sopenharmony_ci    This is valid only if REFRESH_TYPE is not 0.
37328c2ecf20Sopenharmony_ci
37338c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU (boolean)``
37348c2ecf20Sopenharmony_ci    Indicates HEVC lossless encoding. Setting it to 0 disables lossless
37358c2ecf20Sopenharmony_ci    encoding. Setting it to 1 enables lossless encoding.
37368c2ecf20Sopenharmony_ci
37378c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED (boolean)``
37388c2ecf20Sopenharmony_ci    Indicates constant intra prediction for HEVC encoder. Specifies the
37398c2ecf20Sopenharmony_ci    constrained intra prediction in which intra largest coding unit (LCU)
37408c2ecf20Sopenharmony_ci    prediction is performed by using residual data and decoded samples of
37418c2ecf20Sopenharmony_ci    neighboring intra LCU only. Setting the value to 1 enables constant intra
37428c2ecf20Sopenharmony_ci    prediction and setting the value to 0 disables constant intra prediction.
37438c2ecf20Sopenharmony_ci
37448c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT (boolean)``
37458c2ecf20Sopenharmony_ci    Indicates wavefront parallel processing for HEVC encoder. Setting it to 0
37468c2ecf20Sopenharmony_ci    disables the feature and setting it to 1 enables the wavefront parallel
37478c2ecf20Sopenharmony_ci    processing.
37488c2ecf20Sopenharmony_ci
37498c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB (boolean)``
37508c2ecf20Sopenharmony_ci    Setting the value to 1 enables combination of P and B frame for HEVC
37518c2ecf20Sopenharmony_ci    encoder.
37528c2ecf20Sopenharmony_ci
37538c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID (boolean)``
37548c2ecf20Sopenharmony_ci    Indicates temporal identifier for HEVC encoder which is enabled by
37558c2ecf20Sopenharmony_ci    setting the value to 1.
37568c2ecf20Sopenharmony_ci
37578c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING (boolean)``
37588c2ecf20Sopenharmony_ci    Indicates bi-linear interpolation is conditionally used in the intra
37598c2ecf20Sopenharmony_ci    prediction filtering process in the CVS when set to 1. Indicates bi-linear
37608c2ecf20Sopenharmony_ci    interpolation is not used in the CVS when set to 0.
37618c2ecf20Sopenharmony_ci
37628c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1 (integer)``
37638c2ecf20Sopenharmony_ci    Indicates maximum number of merge candidate motion vectors.
37648c2ecf20Sopenharmony_ci    Values are from 0 to 4.
37658c2ecf20Sopenharmony_ci
37668c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION (boolean)``
37678c2ecf20Sopenharmony_ci    Indicates temporal motion vector prediction for HEVC encoder. Setting it to
37688c2ecf20Sopenharmony_ci    1 enables the prediction. Setting it to 0 disables the prediction.
37698c2ecf20Sopenharmony_ci
37708c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE (boolean)``
37718c2ecf20Sopenharmony_ci    Specifies if HEVC generates a stream with a size of the length field
37728c2ecf20Sopenharmony_ci    instead of start code pattern. The size of the length field is configurable
37738c2ecf20Sopenharmony_ci    through the V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD control. Setting
37748c2ecf20Sopenharmony_ci    the value to 0 disables encoding without startcode pattern. Setting the
37758c2ecf20Sopenharmony_ci    value to 1 will enables encoding without startcode pattern.
37768c2ecf20Sopenharmony_ci
37778c2ecf20Sopenharmony_ci.. _v4l2-hevc-size-of-length-field:
37788c2ecf20Sopenharmony_ci
37798c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD``
37808c2ecf20Sopenharmony_ci(enum)
37818c2ecf20Sopenharmony_ci
37828c2ecf20Sopenharmony_cienum v4l2_mpeg_video_hevc_size_of_length_field -
37838c2ecf20Sopenharmony_ci    Indicates the size of length field.
37848c2ecf20Sopenharmony_ci    This is valid when encoding WITHOUT_STARTCODE_ENABLE is enabled.
37858c2ecf20Sopenharmony_ci
37868c2ecf20Sopenharmony_ci.. raw:: latex
37878c2ecf20Sopenharmony_ci
37888c2ecf20Sopenharmony_ci    \footnotesize
37898c2ecf20Sopenharmony_ci
37908c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{6.0cm}|p{11.0cm}|
37918c2ecf20Sopenharmony_ci
37928c2ecf20Sopenharmony_ci.. flat-table::
37938c2ecf20Sopenharmony_ci    :header-rows:  0
37948c2ecf20Sopenharmony_ci    :stub-columns: 0
37958c2ecf20Sopenharmony_ci
37968c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_SIZE_0``
37978c2ecf20Sopenharmony_ci      - Generate start code pattern (Normal).
37988c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_SIZE_1``
37998c2ecf20Sopenharmony_ci      - Generate size of length field instead of start code pattern and length is 1.
38008c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_SIZE_2``
38018c2ecf20Sopenharmony_ci      - Generate size of length field instead of start code pattern and length is 2.
38028c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_SIZE_4``
38038c2ecf20Sopenharmony_ci      - Generate size of length field instead of start code pattern and length is 4.
38048c2ecf20Sopenharmony_ci
38058c2ecf20Sopenharmony_ci.. raw:: latex
38068c2ecf20Sopenharmony_ci
38078c2ecf20Sopenharmony_ci    \normalsize
38088c2ecf20Sopenharmony_ci
38098c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR (integer)``
38108c2ecf20Sopenharmony_ci    Indicates bit rate for hierarchical coding layer 0 for HEVC encoder.
38118c2ecf20Sopenharmony_ci
38128c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR (integer)``
38138c2ecf20Sopenharmony_ci    Indicates bit rate for hierarchical coding layer 1 for HEVC encoder.
38148c2ecf20Sopenharmony_ci
38158c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR (integer)``
38168c2ecf20Sopenharmony_ci    Indicates bit rate for hierarchical coding layer 2 for HEVC encoder.
38178c2ecf20Sopenharmony_ci
38188c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR (integer)``
38198c2ecf20Sopenharmony_ci    Indicates bit rate for hierarchical coding layer 3 for HEVC encoder.
38208c2ecf20Sopenharmony_ci
38218c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR (integer)``
38228c2ecf20Sopenharmony_ci    Indicates bit rate for hierarchical coding layer 4 for HEVC encoder.
38238c2ecf20Sopenharmony_ci
38248c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR (integer)``
38258c2ecf20Sopenharmony_ci    Indicates bit rate for hierarchical coding layer 5 for HEVC encoder.
38268c2ecf20Sopenharmony_ci
38278c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR (integer)``
38288c2ecf20Sopenharmony_ci    Indicates bit rate for hierarchical coding layer 6 for HEVC encoder.
38298c2ecf20Sopenharmony_ci
38308c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES (integer)``
38318c2ecf20Sopenharmony_ci    Selects number of P reference pictures required for HEVC encoder.
38328c2ecf20Sopenharmony_ci    P-Frame can use 1 or 2 frames for reference.
38338c2ecf20Sopenharmony_ci
38348c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR (integer)``
38358c2ecf20Sopenharmony_ci    Indicates whether to generate SPS and PPS at every IDR. Setting it to 0
38368c2ecf20Sopenharmony_ci    disables generating SPS and PPS at every IDR. Setting it to one enables
38378c2ecf20Sopenharmony_ci    generating SPS and PPS at every IDR.
38388c2ecf20Sopenharmony_ci
38398c2ecf20Sopenharmony_ci.. _v4l2-mpeg-hevc:
38408c2ecf20Sopenharmony_ci
38418c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_SPS (struct)``
38428c2ecf20Sopenharmony_ci    Specifies the Sequence Parameter Set fields (as extracted from the
38438c2ecf20Sopenharmony_ci    bitstream) for the associated HEVC slice data.
38448c2ecf20Sopenharmony_ci    These bitstream parameters are defined according to :ref:`hevc`.
38458c2ecf20Sopenharmony_ci    They are described in section 7.4.3.2 "Sequence parameter set RBSP
38468c2ecf20Sopenharmony_ci    semantics" of the specification.
38478c2ecf20Sopenharmony_ci
38488c2ecf20Sopenharmony_ci.. c:type:: v4l2_ctrl_hevc_sps
38498c2ecf20Sopenharmony_ci
38508c2ecf20Sopenharmony_ci.. cssclass:: longtable
38518c2ecf20Sopenharmony_ci
38528c2ecf20Sopenharmony_ci.. flat-table:: struct v4l2_ctrl_hevc_sps
38538c2ecf20Sopenharmony_ci    :header-rows:  0
38548c2ecf20Sopenharmony_ci    :stub-columns: 0
38558c2ecf20Sopenharmony_ci    :widths:       1 1 2
38568c2ecf20Sopenharmony_ci
38578c2ecf20Sopenharmony_ci    * - __u16
38588c2ecf20Sopenharmony_ci      - ``pic_width_in_luma_samples``
38598c2ecf20Sopenharmony_ci      -
38608c2ecf20Sopenharmony_ci    * - __u16
38618c2ecf20Sopenharmony_ci      - ``pic_height_in_luma_samples``
38628c2ecf20Sopenharmony_ci      -
38638c2ecf20Sopenharmony_ci    * - __u8
38648c2ecf20Sopenharmony_ci      - ``bit_depth_luma_minus8``
38658c2ecf20Sopenharmony_ci      -
38668c2ecf20Sopenharmony_ci    * - __u8
38678c2ecf20Sopenharmony_ci      - ``bit_depth_chroma_minus8``
38688c2ecf20Sopenharmony_ci      -
38698c2ecf20Sopenharmony_ci    * - __u8
38708c2ecf20Sopenharmony_ci      - ``log2_max_pic_order_cnt_lsb_minus4``
38718c2ecf20Sopenharmony_ci      -
38728c2ecf20Sopenharmony_ci    * - __u8
38738c2ecf20Sopenharmony_ci      - ``sps_max_dec_pic_buffering_minus1``
38748c2ecf20Sopenharmony_ci      -
38758c2ecf20Sopenharmony_ci    * - __u8
38768c2ecf20Sopenharmony_ci      - ``sps_max_num_reorder_pics``
38778c2ecf20Sopenharmony_ci      -
38788c2ecf20Sopenharmony_ci    * - __u8
38798c2ecf20Sopenharmony_ci      - ``sps_max_latency_increase_plus1``
38808c2ecf20Sopenharmony_ci      -
38818c2ecf20Sopenharmony_ci    * - __u8
38828c2ecf20Sopenharmony_ci      - ``log2_min_luma_coding_block_size_minus3``
38838c2ecf20Sopenharmony_ci      -
38848c2ecf20Sopenharmony_ci    * - __u8
38858c2ecf20Sopenharmony_ci      - ``log2_diff_max_min_luma_coding_block_size``
38868c2ecf20Sopenharmony_ci      -
38878c2ecf20Sopenharmony_ci    * - __u8
38888c2ecf20Sopenharmony_ci      - ``log2_min_luma_transform_block_size_minus2``
38898c2ecf20Sopenharmony_ci      -
38908c2ecf20Sopenharmony_ci    * - __u8
38918c2ecf20Sopenharmony_ci      - ``log2_diff_max_min_luma_transform_block_size``
38928c2ecf20Sopenharmony_ci      -
38938c2ecf20Sopenharmony_ci    * - __u8
38948c2ecf20Sopenharmony_ci      - ``max_transform_hierarchy_depth_inter``
38958c2ecf20Sopenharmony_ci      -
38968c2ecf20Sopenharmony_ci    * - __u8
38978c2ecf20Sopenharmony_ci      - ``max_transform_hierarchy_depth_intra``
38988c2ecf20Sopenharmony_ci      -
38998c2ecf20Sopenharmony_ci    * - __u8
39008c2ecf20Sopenharmony_ci      - ``pcm_sample_bit_depth_luma_minus1``
39018c2ecf20Sopenharmony_ci      -
39028c2ecf20Sopenharmony_ci    * - __u8
39038c2ecf20Sopenharmony_ci      - ``pcm_sample_bit_depth_chroma_minus1``
39048c2ecf20Sopenharmony_ci      -
39058c2ecf20Sopenharmony_ci    * - __u8
39068c2ecf20Sopenharmony_ci      - ``log2_min_pcm_luma_coding_block_size_minus3``
39078c2ecf20Sopenharmony_ci      -
39088c2ecf20Sopenharmony_ci    * - __u8
39098c2ecf20Sopenharmony_ci      - ``log2_diff_max_min_pcm_luma_coding_block_size``
39108c2ecf20Sopenharmony_ci      -
39118c2ecf20Sopenharmony_ci    * - __u8
39128c2ecf20Sopenharmony_ci      - ``num_short_term_ref_pic_sets``
39138c2ecf20Sopenharmony_ci      -
39148c2ecf20Sopenharmony_ci    * - __u8
39158c2ecf20Sopenharmony_ci      - ``num_long_term_ref_pics_sps``
39168c2ecf20Sopenharmony_ci      -
39178c2ecf20Sopenharmony_ci    * - __u8
39188c2ecf20Sopenharmony_ci      - ``chroma_format_idc``
39198c2ecf20Sopenharmony_ci      -
39208c2ecf20Sopenharmony_ci    * - __u64
39218c2ecf20Sopenharmony_ci      - ``flags``
39228c2ecf20Sopenharmony_ci      - See :ref:`Sequence Parameter Set Flags <hevc_sps_flags>`
39238c2ecf20Sopenharmony_ci
39248c2ecf20Sopenharmony_ci.. _hevc_sps_flags:
39258c2ecf20Sopenharmony_ci
39268c2ecf20Sopenharmony_ci``Sequence Parameter Set Flags``
39278c2ecf20Sopenharmony_ci
39288c2ecf20Sopenharmony_ci.. cssclass:: longtable
39298c2ecf20Sopenharmony_ci
39308c2ecf20Sopenharmony_ci.. flat-table::
39318c2ecf20Sopenharmony_ci    :header-rows:  0
39328c2ecf20Sopenharmony_ci    :stub-columns: 0
39338c2ecf20Sopenharmony_ci    :widths:       1 1 2
39348c2ecf20Sopenharmony_ci
39358c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_SPS_FLAG_SEPARATE_COLOUR_PLANE``
39368c2ecf20Sopenharmony_ci      - 0x00000001
39378c2ecf20Sopenharmony_ci      -
39388c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_SPS_FLAG_SCALING_LIST_ENABLED``
39398c2ecf20Sopenharmony_ci      - 0x00000002
39408c2ecf20Sopenharmony_ci      -
39418c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_SPS_FLAG_AMP_ENABLED``
39428c2ecf20Sopenharmony_ci      - 0x00000004
39438c2ecf20Sopenharmony_ci      -
39448c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_SPS_FLAG_SAMPLE_ADAPTIVE_OFFSET``
39458c2ecf20Sopenharmony_ci      - 0x00000008
39468c2ecf20Sopenharmony_ci      -
39478c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_SPS_FLAG_PCM_ENABLED``
39488c2ecf20Sopenharmony_ci      - 0x00000010
39498c2ecf20Sopenharmony_ci      -
39508c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_SPS_FLAG_PCM_LOOP_FILTER_DISABLED``
39518c2ecf20Sopenharmony_ci      - 0x00000020
39528c2ecf20Sopenharmony_ci      -
39538c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_SPS_FLAG_LONG_TERM_REF_PICS_PRESENT``
39548c2ecf20Sopenharmony_ci      - 0x00000040
39558c2ecf20Sopenharmony_ci      -
39568c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_SPS_FLAG_SPS_TEMPORAL_MVP_ENABLED``
39578c2ecf20Sopenharmony_ci      - 0x00000080
39588c2ecf20Sopenharmony_ci      -
39598c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_SPS_FLAG_STRONG_INTRA_SMOOTHING_ENABLED``
39608c2ecf20Sopenharmony_ci      - 0x00000100
39618c2ecf20Sopenharmony_ci      -
39628c2ecf20Sopenharmony_ci
39638c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_PPS (struct)``
39648c2ecf20Sopenharmony_ci    Specifies the Picture Parameter Set fields (as extracted from the
39658c2ecf20Sopenharmony_ci    bitstream) for the associated HEVC slice data.
39668c2ecf20Sopenharmony_ci    These bitstream parameters are defined according to :ref:`hevc`.
39678c2ecf20Sopenharmony_ci    They are described in section 7.4.3.3 "Picture parameter set RBSP
39688c2ecf20Sopenharmony_ci    semantics" of the specification.
39698c2ecf20Sopenharmony_ci
39708c2ecf20Sopenharmony_ci.. c:type:: v4l2_ctrl_hevc_pps
39718c2ecf20Sopenharmony_ci
39728c2ecf20Sopenharmony_ci.. cssclass:: longtable
39738c2ecf20Sopenharmony_ci
39748c2ecf20Sopenharmony_ci.. flat-table:: struct v4l2_ctrl_hevc_pps
39758c2ecf20Sopenharmony_ci    :header-rows:  0
39768c2ecf20Sopenharmony_ci    :stub-columns: 0
39778c2ecf20Sopenharmony_ci    :widths:       1 1 2
39788c2ecf20Sopenharmony_ci
39798c2ecf20Sopenharmony_ci    * - __u8
39808c2ecf20Sopenharmony_ci      - ``num_extra_slice_header_bits``
39818c2ecf20Sopenharmony_ci      -
39828c2ecf20Sopenharmony_ci    * - __s8
39838c2ecf20Sopenharmony_ci      - ``init_qp_minus26``
39848c2ecf20Sopenharmony_ci      -
39858c2ecf20Sopenharmony_ci    * - __u8
39868c2ecf20Sopenharmony_ci      - ``diff_cu_qp_delta_depth``
39878c2ecf20Sopenharmony_ci      -
39888c2ecf20Sopenharmony_ci    * - __s8
39898c2ecf20Sopenharmony_ci      - ``pps_cb_qp_offset``
39908c2ecf20Sopenharmony_ci      -
39918c2ecf20Sopenharmony_ci    * - __s8
39928c2ecf20Sopenharmony_ci      - ``pps_cr_qp_offset``
39938c2ecf20Sopenharmony_ci      -
39948c2ecf20Sopenharmony_ci    * - __u8
39958c2ecf20Sopenharmony_ci      - ``num_tile_columns_minus1``
39968c2ecf20Sopenharmony_ci      -
39978c2ecf20Sopenharmony_ci    * - __u8
39988c2ecf20Sopenharmony_ci      - ``num_tile_rows_minus1``
39998c2ecf20Sopenharmony_ci      -
40008c2ecf20Sopenharmony_ci    * - __u8
40018c2ecf20Sopenharmony_ci      - ``column_width_minus1[20]``
40028c2ecf20Sopenharmony_ci      -
40038c2ecf20Sopenharmony_ci    * - __u8
40048c2ecf20Sopenharmony_ci      - ``row_height_minus1[22]``
40058c2ecf20Sopenharmony_ci      -
40068c2ecf20Sopenharmony_ci    * - __s8
40078c2ecf20Sopenharmony_ci      - ``pps_beta_offset_div2``
40088c2ecf20Sopenharmony_ci      -
40098c2ecf20Sopenharmony_ci    * - __s8
40108c2ecf20Sopenharmony_ci      - ``pps_tc_offset_div2``
40118c2ecf20Sopenharmony_ci      -
40128c2ecf20Sopenharmony_ci    * - __u8
40138c2ecf20Sopenharmony_ci      - ``log2_parallel_merge_level_minus2``
40148c2ecf20Sopenharmony_ci      -
40158c2ecf20Sopenharmony_ci    * - __u8
40168c2ecf20Sopenharmony_ci      - ``padding[4]``
40178c2ecf20Sopenharmony_ci      - Applications and drivers must set this to zero.
40188c2ecf20Sopenharmony_ci    * - __u64
40198c2ecf20Sopenharmony_ci      - ``flags``
40208c2ecf20Sopenharmony_ci      - See :ref:`Picture Parameter Set Flags <hevc_pps_flags>`
40218c2ecf20Sopenharmony_ci
40228c2ecf20Sopenharmony_ci.. _hevc_pps_flags:
40238c2ecf20Sopenharmony_ci
40248c2ecf20Sopenharmony_ci``Picture Parameter Set Flags``
40258c2ecf20Sopenharmony_ci
40268c2ecf20Sopenharmony_ci.. cssclass:: longtable
40278c2ecf20Sopenharmony_ci
40288c2ecf20Sopenharmony_ci.. flat-table::
40298c2ecf20Sopenharmony_ci    :header-rows:  0
40308c2ecf20Sopenharmony_ci    :stub-columns: 0
40318c2ecf20Sopenharmony_ci    :widths:       1 1 2
40328c2ecf20Sopenharmony_ci
40338c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_PPS_FLAG_DEPENDENT_SLICE_SEGMENT_ENABLED``
40348c2ecf20Sopenharmony_ci      - 0x00000001
40358c2ecf20Sopenharmony_ci      -
40368c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_PPS_FLAG_OUTPUT_FLAG_PRESENT``
40378c2ecf20Sopenharmony_ci      - 0x00000002
40388c2ecf20Sopenharmony_ci      -
40398c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_PPS_FLAG_SIGN_DATA_HIDING_ENABLED``
40408c2ecf20Sopenharmony_ci      - 0x00000004
40418c2ecf20Sopenharmony_ci      -
40428c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_PPS_FLAG_CABAC_INIT_PRESENT``
40438c2ecf20Sopenharmony_ci      - 0x00000008
40448c2ecf20Sopenharmony_ci      -
40458c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_PPS_FLAG_CONSTRAINED_INTRA_PRED``
40468c2ecf20Sopenharmony_ci      - 0x00000010
40478c2ecf20Sopenharmony_ci      -
40488c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_PPS_FLAG_TRANSFORM_SKIP_ENABLED``
40498c2ecf20Sopenharmony_ci      - 0x00000020
40508c2ecf20Sopenharmony_ci      -
40518c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_PPS_FLAG_CU_QP_DELTA_ENABLED``
40528c2ecf20Sopenharmony_ci      - 0x00000040
40538c2ecf20Sopenharmony_ci      -
40548c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_PPS_FLAG_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT``
40558c2ecf20Sopenharmony_ci      - 0x00000080
40568c2ecf20Sopenharmony_ci      -
40578c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_PPS_FLAG_WEIGHTED_PRED``
40588c2ecf20Sopenharmony_ci      - 0x00000100
40598c2ecf20Sopenharmony_ci      -
40608c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_PPS_FLAG_WEIGHTED_BIPRED``
40618c2ecf20Sopenharmony_ci      - 0x00000200
40628c2ecf20Sopenharmony_ci      -
40638c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_PPS_FLAG_TRANSQUANT_BYPASS_ENABLED``
40648c2ecf20Sopenharmony_ci      - 0x00000400
40658c2ecf20Sopenharmony_ci      -
40668c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_PPS_FLAG_TILES_ENABLED``
40678c2ecf20Sopenharmony_ci      - 0x00000800
40688c2ecf20Sopenharmony_ci      -
40698c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_PPS_FLAG_ENTROPY_CODING_SYNC_ENABLED``
40708c2ecf20Sopenharmony_ci      - 0x00001000
40718c2ecf20Sopenharmony_ci      -
40728c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_PPS_FLAG_LOOP_FILTER_ACROSS_TILES_ENABLED``
40738c2ecf20Sopenharmony_ci      - 0x00002000
40748c2ecf20Sopenharmony_ci      -
40758c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_PPS_FLAG_PPS_LOOP_FILTER_ACROSS_SLICES_ENABLED``
40768c2ecf20Sopenharmony_ci      - 0x00004000
40778c2ecf20Sopenharmony_ci      -
40788c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_PPS_FLAG_DEBLOCKING_FILTER_OVERRIDE_ENABLED``
40798c2ecf20Sopenharmony_ci      - 0x00008000
40808c2ecf20Sopenharmony_ci      -
40818c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_PPS_FLAG_PPS_DISABLE_DEBLOCKING_FILTER``
40828c2ecf20Sopenharmony_ci      - 0x00010000
40838c2ecf20Sopenharmony_ci      -
40848c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_PPS_FLAG_LISTS_MODIFICATION_PRESENT``
40858c2ecf20Sopenharmony_ci      - 0x00020000
40868c2ecf20Sopenharmony_ci      -
40878c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_PPS_FLAG_SLICE_SEGMENT_HEADER_EXTENSION_PRESENT``
40888c2ecf20Sopenharmony_ci      - 0x00040000
40898c2ecf20Sopenharmony_ci      -
40908c2ecf20Sopenharmony_ci
40918c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_SLICE_PARAMS (struct)``
40928c2ecf20Sopenharmony_ci    Specifies various slice-specific parameters, especially from the NAL unit
40938c2ecf20Sopenharmony_ci    header, general slice segment header and weighted prediction parameter
40948c2ecf20Sopenharmony_ci    parts of the bitstream.
40958c2ecf20Sopenharmony_ci    These bitstream parameters are defined according to :ref:`hevc`.
40968c2ecf20Sopenharmony_ci    They are described in section 7.4.7 "General slice segment header
40978c2ecf20Sopenharmony_ci    semantics" of the specification.
40988c2ecf20Sopenharmony_ci
40998c2ecf20Sopenharmony_ci.. c:type:: v4l2_ctrl_hevc_slice_params
41008c2ecf20Sopenharmony_ci
41018c2ecf20Sopenharmony_ci.. cssclass:: longtable
41028c2ecf20Sopenharmony_ci
41038c2ecf20Sopenharmony_ci.. flat-table:: struct v4l2_ctrl_hevc_slice_params
41048c2ecf20Sopenharmony_ci    :header-rows:  0
41058c2ecf20Sopenharmony_ci    :stub-columns: 0
41068c2ecf20Sopenharmony_ci    :widths:       1 1 2
41078c2ecf20Sopenharmony_ci
41088c2ecf20Sopenharmony_ci    * - __u32
41098c2ecf20Sopenharmony_ci      - ``bit_size``
41108c2ecf20Sopenharmony_ci      - Size (in bits) of the current slice data.
41118c2ecf20Sopenharmony_ci    * - __u32
41128c2ecf20Sopenharmony_ci      - ``data_bit_offset``
41138c2ecf20Sopenharmony_ci      - Offset (in bits) to the video data in the current slice data.
41148c2ecf20Sopenharmony_ci    * - __u8
41158c2ecf20Sopenharmony_ci      - ``nal_unit_type``
41168c2ecf20Sopenharmony_ci      -
41178c2ecf20Sopenharmony_ci    * - __u8
41188c2ecf20Sopenharmony_ci      - ``nuh_temporal_id_plus1``
41198c2ecf20Sopenharmony_ci      -
41208c2ecf20Sopenharmony_ci    * - __u8
41218c2ecf20Sopenharmony_ci      - ``slice_type``
41228c2ecf20Sopenharmony_ci      -
41238c2ecf20Sopenharmony_ci	(V4L2_HEVC_SLICE_TYPE_I, V4L2_HEVC_SLICE_TYPE_P or
41248c2ecf20Sopenharmony_ci	V4L2_HEVC_SLICE_TYPE_B).
41258c2ecf20Sopenharmony_ci    * - __u8
41268c2ecf20Sopenharmony_ci      - ``colour_plane_id``
41278c2ecf20Sopenharmony_ci      -
41288c2ecf20Sopenharmony_ci    * - __u16
41298c2ecf20Sopenharmony_ci      - ``slice_pic_order_cnt``
41308c2ecf20Sopenharmony_ci      -
41318c2ecf20Sopenharmony_ci    * - __u8
41328c2ecf20Sopenharmony_ci      - ``num_ref_idx_l0_active_minus1``
41338c2ecf20Sopenharmony_ci      -
41348c2ecf20Sopenharmony_ci    * - __u8
41358c2ecf20Sopenharmony_ci      - ``num_ref_idx_l1_active_minus1``
41368c2ecf20Sopenharmony_ci      -
41378c2ecf20Sopenharmony_ci    * - __u8
41388c2ecf20Sopenharmony_ci      - ``collocated_ref_idx``
41398c2ecf20Sopenharmony_ci      -
41408c2ecf20Sopenharmony_ci    * - __u8
41418c2ecf20Sopenharmony_ci      - ``five_minus_max_num_merge_cand``
41428c2ecf20Sopenharmony_ci      -
41438c2ecf20Sopenharmony_ci    * - __s8
41448c2ecf20Sopenharmony_ci      - ``slice_qp_delta``
41458c2ecf20Sopenharmony_ci      -
41468c2ecf20Sopenharmony_ci    * - __s8
41478c2ecf20Sopenharmony_ci      - ``slice_cb_qp_offset``
41488c2ecf20Sopenharmony_ci      -
41498c2ecf20Sopenharmony_ci    * - __s8
41508c2ecf20Sopenharmony_ci      - ``slice_cr_qp_offset``
41518c2ecf20Sopenharmony_ci      -
41528c2ecf20Sopenharmony_ci    * - __s8
41538c2ecf20Sopenharmony_ci      - ``slice_act_y_qp_offset``
41548c2ecf20Sopenharmony_ci      -
41558c2ecf20Sopenharmony_ci    * - __s8
41568c2ecf20Sopenharmony_ci      - ``slice_act_cb_qp_offset``
41578c2ecf20Sopenharmony_ci      -
41588c2ecf20Sopenharmony_ci    * - __s8
41598c2ecf20Sopenharmony_ci      - ``slice_act_cr_qp_offset``
41608c2ecf20Sopenharmony_ci      -
41618c2ecf20Sopenharmony_ci    * - __s8
41628c2ecf20Sopenharmony_ci      - ``slice_beta_offset_div2``
41638c2ecf20Sopenharmony_ci      -
41648c2ecf20Sopenharmony_ci    * - __s8
41658c2ecf20Sopenharmony_ci      - ``slice_tc_offset_div2``
41668c2ecf20Sopenharmony_ci      -
41678c2ecf20Sopenharmony_ci    * - __u8
41688c2ecf20Sopenharmony_ci      - ``pic_struct``
41698c2ecf20Sopenharmony_ci      -
41708c2ecf20Sopenharmony_ci    * - __u8
41718c2ecf20Sopenharmony_ci      - ``num_active_dpb_entries``
41728c2ecf20Sopenharmony_ci      - The number of entries in ``dpb``.
41738c2ecf20Sopenharmony_ci    * - __u8
41748c2ecf20Sopenharmony_ci      - ``ref_idx_l0[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]``
41758c2ecf20Sopenharmony_ci      - The list of L0 reference elements as indices in the DPB.
41768c2ecf20Sopenharmony_ci    * - __u8
41778c2ecf20Sopenharmony_ci      - ``ref_idx_l1[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]``
41788c2ecf20Sopenharmony_ci      - The list of L1 reference elements as indices in the DPB.
41798c2ecf20Sopenharmony_ci    * - __u8
41808c2ecf20Sopenharmony_ci      - ``num_rps_poc_st_curr_before``
41818c2ecf20Sopenharmony_ci      - The number of reference pictures in the short-term set that come before
41828c2ecf20Sopenharmony_ci        the current frame.
41838c2ecf20Sopenharmony_ci    * - __u8
41848c2ecf20Sopenharmony_ci      - ``num_rps_poc_st_curr_after``
41858c2ecf20Sopenharmony_ci      - The number of reference pictures in the short-term set that come after
41868c2ecf20Sopenharmony_ci        the current frame.
41878c2ecf20Sopenharmony_ci    * - __u8
41888c2ecf20Sopenharmony_ci      - ``num_rps_poc_lt_curr``
41898c2ecf20Sopenharmony_ci      - The number of reference pictures in the long-term set.
41908c2ecf20Sopenharmony_ci    * - __u8
41918c2ecf20Sopenharmony_ci      - ``padding[7]``
41928c2ecf20Sopenharmony_ci      - Applications and drivers must set this to zero.
41938c2ecf20Sopenharmony_ci    * - struct :c:type:`v4l2_hevc_dpb_entry`
41948c2ecf20Sopenharmony_ci      - ``dpb[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]``
41958c2ecf20Sopenharmony_ci      - The decoded picture buffer, for meta-data about reference frames.
41968c2ecf20Sopenharmony_ci    * - struct :c:type:`v4l2_hevc_pred_weight_table`
41978c2ecf20Sopenharmony_ci      - ``pred_weight_table``
41988c2ecf20Sopenharmony_ci      - The prediction weight coefficients for inter-picture prediction.
41998c2ecf20Sopenharmony_ci    * - __u64
42008c2ecf20Sopenharmony_ci      - ``flags``
42018c2ecf20Sopenharmony_ci      - See :ref:`Slice Parameters Flags <hevc_slice_params_flags>`
42028c2ecf20Sopenharmony_ci
42038c2ecf20Sopenharmony_ci.. _hevc_slice_params_flags:
42048c2ecf20Sopenharmony_ci
42058c2ecf20Sopenharmony_ci``Slice Parameters Flags``
42068c2ecf20Sopenharmony_ci
42078c2ecf20Sopenharmony_ci.. cssclass:: longtable
42088c2ecf20Sopenharmony_ci
42098c2ecf20Sopenharmony_ci.. flat-table::
42108c2ecf20Sopenharmony_ci    :header-rows:  0
42118c2ecf20Sopenharmony_ci    :stub-columns: 0
42128c2ecf20Sopenharmony_ci    :widths:       1 1 2
42138c2ecf20Sopenharmony_ci
42148c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_SAO_LUMA``
42158c2ecf20Sopenharmony_ci      - 0x00000001
42168c2ecf20Sopenharmony_ci      -
42178c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_SAO_CHROMA``
42188c2ecf20Sopenharmony_ci      - 0x00000002
42198c2ecf20Sopenharmony_ci      -
42208c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_TEMPORAL_MVP_ENABLED``
42218c2ecf20Sopenharmony_ci      - 0x00000004
42228c2ecf20Sopenharmony_ci      -
42238c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_MVD_L1_ZERO``
42248c2ecf20Sopenharmony_ci      - 0x00000008
42258c2ecf20Sopenharmony_ci      -
42268c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_CABAC_INIT``
42278c2ecf20Sopenharmony_ci      - 0x00000010
42288c2ecf20Sopenharmony_ci      -
42298c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_COLLOCATED_FROM_L0``
42308c2ecf20Sopenharmony_ci      - 0x00000020
42318c2ecf20Sopenharmony_ci      -
42328c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_USE_INTEGER_MV``
42338c2ecf20Sopenharmony_ci      - 0x00000040
42348c2ecf20Sopenharmony_ci      -
42358c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_DEBLOCKING_FILTER_DISABLED``
42368c2ecf20Sopenharmony_ci      - 0x00000080
42378c2ecf20Sopenharmony_ci      -
42388c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_LOOP_FILTER_ACROSS_SLICES_ENABLED``
42398c2ecf20Sopenharmony_ci      - 0x00000100
42408c2ecf20Sopenharmony_ci      -
42418c2ecf20Sopenharmony_ci    * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_DEPENDENT_SLICE_SEGMENT``
42428c2ecf20Sopenharmony_ci      - 0x00000200
42438c2ecf20Sopenharmony_ci      -
42448c2ecf20Sopenharmony_ci
42458c2ecf20Sopenharmony_ci.. c:type:: v4l2_hevc_dpb_entry
42468c2ecf20Sopenharmony_ci
42478c2ecf20Sopenharmony_ci.. cssclass:: longtable
42488c2ecf20Sopenharmony_ci
42498c2ecf20Sopenharmony_ci.. flat-table:: struct v4l2_hevc_dpb_entry
42508c2ecf20Sopenharmony_ci    :header-rows:  0
42518c2ecf20Sopenharmony_ci    :stub-columns: 0
42528c2ecf20Sopenharmony_ci    :widths:       1 1 2
42538c2ecf20Sopenharmony_ci
42548c2ecf20Sopenharmony_ci    * - __u64
42558c2ecf20Sopenharmony_ci      - ``timestamp``
42568c2ecf20Sopenharmony_ci      - Timestamp of the V4L2 capture buffer to use as reference, used
42578c2ecf20Sopenharmony_ci        with B-coded and P-coded frames. The timestamp refers to the
42588c2ecf20Sopenharmony_ci	``timestamp`` field in struct :c:type:`v4l2_buffer`. Use the
42598c2ecf20Sopenharmony_ci	:c:func:`v4l2_timeval_to_ns()` function to convert the struct
42608c2ecf20Sopenharmony_ci	:c:type:`timeval` in struct :c:type:`v4l2_buffer` to a __u64.
42618c2ecf20Sopenharmony_ci    * - __u8
42628c2ecf20Sopenharmony_ci      - ``rps``
42638c2ecf20Sopenharmony_ci      - The reference set for the reference frame
42648c2ecf20Sopenharmony_ci        (V4L2_HEVC_DPB_ENTRY_RPS_ST_CURR_BEFORE,
42658c2ecf20Sopenharmony_ci        V4L2_HEVC_DPB_ENTRY_RPS_ST_CURR_AFTER or
42668c2ecf20Sopenharmony_ci        V4L2_HEVC_DPB_ENTRY_RPS_LT_CURR)
42678c2ecf20Sopenharmony_ci    * - __u8
42688c2ecf20Sopenharmony_ci      - ``field_pic``
42698c2ecf20Sopenharmony_ci      - Whether the reference is a field picture or a frame.
42708c2ecf20Sopenharmony_ci    * - __u16
42718c2ecf20Sopenharmony_ci      - ``pic_order_cnt[2]``
42728c2ecf20Sopenharmony_ci      - The picture order count of the reference. Only the first element of the
42738c2ecf20Sopenharmony_ci        array is used for frame pictures, while the first element identifies the
42748c2ecf20Sopenharmony_ci        top field and the second the bottom field in field-coded pictures.
42758c2ecf20Sopenharmony_ci    * - __u8
42768c2ecf20Sopenharmony_ci      - ``padding[2]``
42778c2ecf20Sopenharmony_ci      - Applications and drivers must set this to zero.
42788c2ecf20Sopenharmony_ci
42798c2ecf20Sopenharmony_ci.. c:type:: v4l2_hevc_pred_weight_table
42808c2ecf20Sopenharmony_ci
42818c2ecf20Sopenharmony_ci.. cssclass:: longtable
42828c2ecf20Sopenharmony_ci
42838c2ecf20Sopenharmony_ci.. flat-table:: struct v4l2_hevc_pred_weight_table
42848c2ecf20Sopenharmony_ci    :header-rows:  0
42858c2ecf20Sopenharmony_ci    :stub-columns: 0
42868c2ecf20Sopenharmony_ci    :widths:       1 1 2
42878c2ecf20Sopenharmony_ci
42888c2ecf20Sopenharmony_ci    * - __u8
42898c2ecf20Sopenharmony_ci      - ``luma_log2_weight_denom``
42908c2ecf20Sopenharmony_ci      -
42918c2ecf20Sopenharmony_ci    * - __s8
42928c2ecf20Sopenharmony_ci      - ``delta_chroma_log2_weight_denom``
42938c2ecf20Sopenharmony_ci      -
42948c2ecf20Sopenharmony_ci    * - __s8
42958c2ecf20Sopenharmony_ci      - ``delta_luma_weight_l0[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]``
42968c2ecf20Sopenharmony_ci      -
42978c2ecf20Sopenharmony_ci    * - __s8
42988c2ecf20Sopenharmony_ci      - ``luma_offset_l0[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]``
42998c2ecf20Sopenharmony_ci      -
43008c2ecf20Sopenharmony_ci    * - __s8
43018c2ecf20Sopenharmony_ci      - ``delta_chroma_weight_l0[V4L2_HEVC_DPB_ENTRIES_NUM_MAX][2]``
43028c2ecf20Sopenharmony_ci      -
43038c2ecf20Sopenharmony_ci    * - __s8
43048c2ecf20Sopenharmony_ci      - ``chroma_offset_l0[V4L2_HEVC_DPB_ENTRIES_NUM_MAX][2]``
43058c2ecf20Sopenharmony_ci      -
43068c2ecf20Sopenharmony_ci    * - __s8
43078c2ecf20Sopenharmony_ci      - ``delta_luma_weight_l1[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]``
43088c2ecf20Sopenharmony_ci      -
43098c2ecf20Sopenharmony_ci    * - __s8
43108c2ecf20Sopenharmony_ci      - ``luma_offset_l1[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]``
43118c2ecf20Sopenharmony_ci      -
43128c2ecf20Sopenharmony_ci    * - __s8
43138c2ecf20Sopenharmony_ci      - ``delta_chroma_weight_l1[V4L2_HEVC_DPB_ENTRIES_NUM_MAX][2]``
43148c2ecf20Sopenharmony_ci      -
43158c2ecf20Sopenharmony_ci    * - __s8
43168c2ecf20Sopenharmony_ci      - ``chroma_offset_l1[V4L2_HEVC_DPB_ENTRIES_NUM_MAX][2]``
43178c2ecf20Sopenharmony_ci      -
43188c2ecf20Sopenharmony_ci    * - __u8
43198c2ecf20Sopenharmony_ci      - ``padding[6]``
43208c2ecf20Sopenharmony_ci      - Applications and drivers must set this to zero.
43218c2ecf20Sopenharmony_ci
43228c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_DECODE_MODE (enum)``
43238c2ecf20Sopenharmony_ci    Specifies the decoding mode to use. Currently exposes slice-based and
43248c2ecf20Sopenharmony_ci    frame-based decoding but new modes might be added later on.
43258c2ecf20Sopenharmony_ci    This control is used as a modifier for V4L2_PIX_FMT_HEVC_SLICE
43268c2ecf20Sopenharmony_ci    pixel format. Applications that support V4L2_PIX_FMT_HEVC_SLICE
43278c2ecf20Sopenharmony_ci    are required to set this control in order to specify the decoding mode
43288c2ecf20Sopenharmony_ci    that is expected for the buffer.
43298c2ecf20Sopenharmony_ci    Drivers may expose a single or multiple decoding modes, depending
43308c2ecf20Sopenharmony_ci    on what they can support.
43318c2ecf20Sopenharmony_ci
43328c2ecf20Sopenharmony_ci    .. note::
43338c2ecf20Sopenharmony_ci
43348c2ecf20Sopenharmony_ci       This menu control is not yet part of the public kernel API and
43358c2ecf20Sopenharmony_ci       it is expected to change.
43368c2ecf20Sopenharmony_ci
43378c2ecf20Sopenharmony_ci.. c:type:: v4l2_mpeg_video_hevc_decode_mode
43388c2ecf20Sopenharmony_ci
43398c2ecf20Sopenharmony_ci.. cssclass:: longtable
43408c2ecf20Sopenharmony_ci
43418c2ecf20Sopenharmony_ci.. flat-table::
43428c2ecf20Sopenharmony_ci    :header-rows:  0
43438c2ecf20Sopenharmony_ci    :stub-columns: 0
43448c2ecf20Sopenharmony_ci    :widths:       1 1 2
43458c2ecf20Sopenharmony_ci
43468c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_DECODE_MODE_SLICE_BASED``
43478c2ecf20Sopenharmony_ci      - 0
43488c2ecf20Sopenharmony_ci      - Decoding is done at the slice granularity.
43498c2ecf20Sopenharmony_ci        The OUTPUT buffer must contain a single slice.
43508c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_DECODE_MODE_FRAME_BASED``
43518c2ecf20Sopenharmony_ci      - 1
43528c2ecf20Sopenharmony_ci      - Decoding is done at the frame granularity.
43538c2ecf20Sopenharmony_ci        The OUTPUT buffer must contain all slices needed to decode the
43548c2ecf20Sopenharmony_ci        frame. The OUTPUT buffer must also contain both fields.
43558c2ecf20Sopenharmony_ci
43568c2ecf20Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_START_CODE (enum)``
43578c2ecf20Sopenharmony_ci    Specifies the HEVC slice start code expected for each slice.
43588c2ecf20Sopenharmony_ci    This control is used as a modifier for V4L2_PIX_FMT_HEVC_SLICE
43598c2ecf20Sopenharmony_ci    pixel format. Applications that support V4L2_PIX_FMT_HEVC_SLICE
43608c2ecf20Sopenharmony_ci    are required to set this control in order to specify the start code
43618c2ecf20Sopenharmony_ci    that is expected for the buffer.
43628c2ecf20Sopenharmony_ci    Drivers may expose a single or multiple start codes, depending
43638c2ecf20Sopenharmony_ci    on what they can support.
43648c2ecf20Sopenharmony_ci
43658c2ecf20Sopenharmony_ci    .. note::
43668c2ecf20Sopenharmony_ci
43678c2ecf20Sopenharmony_ci       This menu control is not yet part of the public kernel API and
43688c2ecf20Sopenharmony_ci       it is expected to change.
43698c2ecf20Sopenharmony_ci
43708c2ecf20Sopenharmony_ci.. c:type:: v4l2_mpeg_video_hevc_start_code
43718c2ecf20Sopenharmony_ci
43728c2ecf20Sopenharmony_ci.. cssclass:: longtable
43738c2ecf20Sopenharmony_ci
43748c2ecf20Sopenharmony_ci.. flat-table::
43758c2ecf20Sopenharmony_ci    :header-rows:  0
43768c2ecf20Sopenharmony_ci    :stub-columns: 0
43778c2ecf20Sopenharmony_ci    :widths:       1 1 2
43788c2ecf20Sopenharmony_ci
43798c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_START_CODE_NONE``
43808c2ecf20Sopenharmony_ci      - 0
43818c2ecf20Sopenharmony_ci      - Selecting this value specifies that HEVC slices are passed
43828c2ecf20Sopenharmony_ci        to the driver without any start code.
43838c2ecf20Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_START_CODE_ANNEX_B``
43848c2ecf20Sopenharmony_ci      - 1
43858c2ecf20Sopenharmony_ci      - Selecting this value specifies that HEVC slices are expected
43868c2ecf20Sopenharmony_ci        to be prefixed by Annex B start codes. According to :ref:`hevc`
43878c2ecf20Sopenharmony_ci        valid start codes can be 3-bytes 0x000001 or 4-bytes 0x00000001.
4388