162306a36Sopenharmony_ci.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
262306a36Sopenharmony_ci
362306a36Sopenharmony_ci.. _codec-controls:
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci***********************
662306a36Sopenharmony_ciCodec Control Reference
762306a36Sopenharmony_ci***********************
862306a36Sopenharmony_ci
962306a36Sopenharmony_ciBelow all controls within the Codec control class are described. First
1062306a36Sopenharmony_cithe generic controls, then controls specific for certain hardware.
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci.. note::
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci   These controls are applicable to all codecs and not just MPEG. The
1562306a36Sopenharmony_ci   defines are prefixed with V4L2_CID_MPEG/V4L2_MPEG as the controls
1662306a36Sopenharmony_ci   were originally made for MPEG codecs and later extended to cover all
1762306a36Sopenharmony_ci   encoding formats.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciGeneric Codec Controls
2162306a36Sopenharmony_ci======================
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci.. _mpeg-control-id:
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ciCodec Control IDs
2762306a36Sopenharmony_ci-----------------
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci``V4L2_CID_CODEC_CLASS (class)``
3062306a36Sopenharmony_ci    The Codec class descriptor. Calling
3162306a36Sopenharmony_ci    :ref:`VIDIOC_QUERYCTRL` for this control will
3262306a36Sopenharmony_ci    return a description of this control class. This description can be
3362306a36Sopenharmony_ci    used as the caption of a Tab page in a GUI, for example.
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci.. _v4l2-mpeg-stream-type:
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci``V4L2_CID_MPEG_STREAM_TYPE``
3862306a36Sopenharmony_ci    (enum)
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_cienum v4l2_mpeg_stream_type -
4162306a36Sopenharmony_ci    The MPEG-1, -2 or -4 output stream type. One cannot assume anything
4262306a36Sopenharmony_ci    here. Each hardware MPEG encoder tends to support different subsets
4362306a36Sopenharmony_ci    of the available MPEG stream types. This control is specific to
4462306a36Sopenharmony_ci    multiplexed MPEG streams. The currently defined stream types are:
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci.. flat-table::
4962306a36Sopenharmony_ci    :header-rows:  0
5062306a36Sopenharmony_ci    :stub-columns: 0
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci    * - ``V4L2_MPEG_STREAM_TYPE_MPEG2_PS``
5362306a36Sopenharmony_ci      - MPEG-2 program stream
5462306a36Sopenharmony_ci    * - ``V4L2_MPEG_STREAM_TYPE_MPEG2_TS``
5562306a36Sopenharmony_ci      - MPEG-2 transport stream
5662306a36Sopenharmony_ci    * - ``V4L2_MPEG_STREAM_TYPE_MPEG1_SS``
5762306a36Sopenharmony_ci      - MPEG-1 system stream
5862306a36Sopenharmony_ci    * - ``V4L2_MPEG_STREAM_TYPE_MPEG2_DVD``
5962306a36Sopenharmony_ci      - MPEG-2 DVD-compatible stream
6062306a36Sopenharmony_ci    * - ``V4L2_MPEG_STREAM_TYPE_MPEG1_VCD``
6162306a36Sopenharmony_ci      - MPEG-1 VCD-compatible stream
6262306a36Sopenharmony_ci    * - ``V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD``
6362306a36Sopenharmony_ci      - MPEG-2 SVCD-compatible stream
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci``V4L2_CID_MPEG_STREAM_PID_PMT (integer)``
6862306a36Sopenharmony_ci    Program Map Table Packet ID for the MPEG transport stream (default
6962306a36Sopenharmony_ci    16)
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci``V4L2_CID_MPEG_STREAM_PID_AUDIO (integer)``
7262306a36Sopenharmony_ci    Audio Packet ID for the MPEG transport stream (default 256)
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci``V4L2_CID_MPEG_STREAM_PID_VIDEO (integer)``
7562306a36Sopenharmony_ci    Video Packet ID for the MPEG transport stream (default 260)
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci``V4L2_CID_MPEG_STREAM_PID_PCR (integer)``
7862306a36Sopenharmony_ci    Packet ID for the MPEG transport stream carrying PCR fields (default
7962306a36Sopenharmony_ci    259)
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci``V4L2_CID_MPEG_STREAM_PES_ID_AUDIO (integer)``
8262306a36Sopenharmony_ci    Audio ID for MPEG PES
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ci``V4L2_CID_MPEG_STREAM_PES_ID_VIDEO (integer)``
8562306a36Sopenharmony_ci    Video ID for MPEG PES
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci.. _v4l2-mpeg-stream-vbi-fmt:
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ci``V4L2_CID_MPEG_STREAM_VBI_FMT``
9062306a36Sopenharmony_ci    (enum)
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_cienum v4l2_mpeg_stream_vbi_fmt -
9362306a36Sopenharmony_ci    Some cards can embed VBI data (e. g. Closed Caption, Teletext) into
9462306a36Sopenharmony_ci    the MPEG stream. This control selects whether VBI data should be
9562306a36Sopenharmony_ci    embedded, and if so, what embedding method should be used. The list
9662306a36Sopenharmony_ci    of possible VBI formats depends on the driver. The currently defined
9762306a36Sopenharmony_ci    VBI format types are:
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ci
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci.. tabularcolumns:: |p{6.6 cm}|p{10.9cm}|
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ci.. flat-table::
10462306a36Sopenharmony_ci    :header-rows:  0
10562306a36Sopenharmony_ci    :stub-columns: 0
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci    * - ``V4L2_MPEG_STREAM_VBI_FMT_NONE``
10862306a36Sopenharmony_ci      - No VBI in the MPEG stream
10962306a36Sopenharmony_ci    * - ``V4L2_MPEG_STREAM_VBI_FMT_IVTV``
11062306a36Sopenharmony_ci      - VBI in private packets, IVTV format (documented in the kernel
11162306a36Sopenharmony_ci	sources in the file
11262306a36Sopenharmony_ci	``Documentation/userspace-api/media/drivers/cx2341x-uapi.rst``)
11362306a36Sopenharmony_ci
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ci
11662306a36Sopenharmony_ci.. _v4l2-mpeg-audio-sampling-freq:
11762306a36Sopenharmony_ci
11862306a36Sopenharmony_ci``V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ``
11962306a36Sopenharmony_ci    (enum)
12062306a36Sopenharmony_ci
12162306a36Sopenharmony_cienum v4l2_mpeg_audio_sampling_freq -
12262306a36Sopenharmony_ci    MPEG Audio sampling frequency. Possible values are:
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ci
12662306a36Sopenharmony_ci.. flat-table::
12762306a36Sopenharmony_ci    :header-rows:  0
12862306a36Sopenharmony_ci    :stub-columns: 0
12962306a36Sopenharmony_ci
13062306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100``
13162306a36Sopenharmony_ci      - 44.1 kHz
13262306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000``
13362306a36Sopenharmony_ci      - 48 kHz
13462306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000``
13562306a36Sopenharmony_ci      - 32 kHz
13662306a36Sopenharmony_ci
13762306a36Sopenharmony_ci
13862306a36Sopenharmony_ci
13962306a36Sopenharmony_ci.. _v4l2-mpeg-audio-encoding:
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ci``V4L2_CID_MPEG_AUDIO_ENCODING``
14262306a36Sopenharmony_ci    (enum)
14362306a36Sopenharmony_ci
14462306a36Sopenharmony_cienum v4l2_mpeg_audio_encoding -
14562306a36Sopenharmony_ci    MPEG Audio encoding. This control is specific to multiplexed MPEG
14662306a36Sopenharmony_ci    streams. Possible values are:
14762306a36Sopenharmony_ci
14862306a36Sopenharmony_ci
14962306a36Sopenharmony_ci
15062306a36Sopenharmony_ci.. flat-table::
15162306a36Sopenharmony_ci    :header-rows:  0
15262306a36Sopenharmony_ci    :stub-columns: 0
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_ENCODING_LAYER_1``
15562306a36Sopenharmony_ci      - MPEG-1/2 Layer I encoding
15662306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_ENCODING_LAYER_2``
15762306a36Sopenharmony_ci      - MPEG-1/2 Layer II encoding
15862306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_ENCODING_LAYER_3``
15962306a36Sopenharmony_ci      - MPEG-1/2 Layer III encoding
16062306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_ENCODING_AAC``
16162306a36Sopenharmony_ci      - MPEG-2/4 AAC (Advanced Audio Coding)
16262306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_ENCODING_AC3``
16362306a36Sopenharmony_ci      - AC-3 aka ATSC A/52 encoding
16462306a36Sopenharmony_ci
16562306a36Sopenharmony_ci
16662306a36Sopenharmony_ci
16762306a36Sopenharmony_ci.. _v4l2-mpeg-audio-l1-bitrate:
16862306a36Sopenharmony_ci
16962306a36Sopenharmony_ci``V4L2_CID_MPEG_AUDIO_L1_BITRATE``
17062306a36Sopenharmony_ci    (enum)
17162306a36Sopenharmony_ci
17262306a36Sopenharmony_cienum v4l2_mpeg_audio_l1_bitrate -
17362306a36Sopenharmony_ci    MPEG-1/2 Layer I bitrate. Possible values are:
17462306a36Sopenharmony_ci
17562306a36Sopenharmony_ci
17662306a36Sopenharmony_ci
17762306a36Sopenharmony_ci.. flat-table::
17862306a36Sopenharmony_ci    :header-rows:  0
17962306a36Sopenharmony_ci    :stub-columns: 0
18062306a36Sopenharmony_ci
18162306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L1_BITRATE_32K``
18262306a36Sopenharmony_ci      - 32 kbit/s
18362306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L1_BITRATE_64K``
18462306a36Sopenharmony_ci      - 64 kbit/s
18562306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L1_BITRATE_96K``
18662306a36Sopenharmony_ci      - 96 kbit/s
18762306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L1_BITRATE_128K``
18862306a36Sopenharmony_ci      - 128 kbit/s
18962306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L1_BITRATE_160K``
19062306a36Sopenharmony_ci      - 160 kbit/s
19162306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L1_BITRATE_192K``
19262306a36Sopenharmony_ci      - 192 kbit/s
19362306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L1_BITRATE_224K``
19462306a36Sopenharmony_ci      - 224 kbit/s
19562306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L1_BITRATE_256K``
19662306a36Sopenharmony_ci      - 256 kbit/s
19762306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L1_BITRATE_288K``
19862306a36Sopenharmony_ci      - 288 kbit/s
19962306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L1_BITRATE_320K``
20062306a36Sopenharmony_ci      - 320 kbit/s
20162306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L1_BITRATE_352K``
20262306a36Sopenharmony_ci      - 352 kbit/s
20362306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L1_BITRATE_384K``
20462306a36Sopenharmony_ci      - 384 kbit/s
20562306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L1_BITRATE_416K``
20662306a36Sopenharmony_ci      - 416 kbit/s
20762306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L1_BITRATE_448K``
20862306a36Sopenharmony_ci      - 448 kbit/s
20962306a36Sopenharmony_ci
21062306a36Sopenharmony_ci
21162306a36Sopenharmony_ci
21262306a36Sopenharmony_ci.. _v4l2-mpeg-audio-l2-bitrate:
21362306a36Sopenharmony_ci
21462306a36Sopenharmony_ci``V4L2_CID_MPEG_AUDIO_L2_BITRATE``
21562306a36Sopenharmony_ci    (enum)
21662306a36Sopenharmony_ci
21762306a36Sopenharmony_cienum v4l2_mpeg_audio_l2_bitrate -
21862306a36Sopenharmony_ci    MPEG-1/2 Layer II bitrate. Possible values are:
21962306a36Sopenharmony_ci
22062306a36Sopenharmony_ci
22162306a36Sopenharmony_ci
22262306a36Sopenharmony_ci.. flat-table::
22362306a36Sopenharmony_ci    :header-rows:  0
22462306a36Sopenharmony_ci    :stub-columns: 0
22562306a36Sopenharmony_ci
22662306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L2_BITRATE_32K``
22762306a36Sopenharmony_ci      - 32 kbit/s
22862306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L2_BITRATE_48K``
22962306a36Sopenharmony_ci      - 48 kbit/s
23062306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L2_BITRATE_56K``
23162306a36Sopenharmony_ci      - 56 kbit/s
23262306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L2_BITRATE_64K``
23362306a36Sopenharmony_ci      - 64 kbit/s
23462306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L2_BITRATE_80K``
23562306a36Sopenharmony_ci      - 80 kbit/s
23662306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L2_BITRATE_96K``
23762306a36Sopenharmony_ci      - 96 kbit/s
23862306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L2_BITRATE_112K``
23962306a36Sopenharmony_ci      - 112 kbit/s
24062306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L2_BITRATE_128K``
24162306a36Sopenharmony_ci      - 128 kbit/s
24262306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L2_BITRATE_160K``
24362306a36Sopenharmony_ci      - 160 kbit/s
24462306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L2_BITRATE_192K``
24562306a36Sopenharmony_ci      - 192 kbit/s
24662306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L2_BITRATE_224K``
24762306a36Sopenharmony_ci      - 224 kbit/s
24862306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L2_BITRATE_256K``
24962306a36Sopenharmony_ci      - 256 kbit/s
25062306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L2_BITRATE_320K``
25162306a36Sopenharmony_ci      - 320 kbit/s
25262306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L2_BITRATE_384K``
25362306a36Sopenharmony_ci      - 384 kbit/s
25462306a36Sopenharmony_ci
25562306a36Sopenharmony_ci
25662306a36Sopenharmony_ci
25762306a36Sopenharmony_ci.. _v4l2-mpeg-audio-l3-bitrate:
25862306a36Sopenharmony_ci
25962306a36Sopenharmony_ci``V4L2_CID_MPEG_AUDIO_L3_BITRATE``
26062306a36Sopenharmony_ci    (enum)
26162306a36Sopenharmony_ci
26262306a36Sopenharmony_cienum v4l2_mpeg_audio_l3_bitrate -
26362306a36Sopenharmony_ci    MPEG-1/2 Layer III bitrate. Possible values are:
26462306a36Sopenharmony_ci
26562306a36Sopenharmony_ci
26662306a36Sopenharmony_ci
26762306a36Sopenharmony_ci.. flat-table::
26862306a36Sopenharmony_ci    :header-rows:  0
26962306a36Sopenharmony_ci    :stub-columns: 0
27062306a36Sopenharmony_ci
27162306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L3_BITRATE_32K``
27262306a36Sopenharmony_ci      - 32 kbit/s
27362306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L3_BITRATE_40K``
27462306a36Sopenharmony_ci      - 40 kbit/s
27562306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L3_BITRATE_48K``
27662306a36Sopenharmony_ci      - 48 kbit/s
27762306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L3_BITRATE_56K``
27862306a36Sopenharmony_ci      - 56 kbit/s
27962306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L3_BITRATE_64K``
28062306a36Sopenharmony_ci      - 64 kbit/s
28162306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L3_BITRATE_80K``
28262306a36Sopenharmony_ci      - 80 kbit/s
28362306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L3_BITRATE_96K``
28462306a36Sopenharmony_ci      - 96 kbit/s
28562306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L3_BITRATE_112K``
28662306a36Sopenharmony_ci      - 112 kbit/s
28762306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L3_BITRATE_128K``
28862306a36Sopenharmony_ci      - 128 kbit/s
28962306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L3_BITRATE_160K``
29062306a36Sopenharmony_ci      - 160 kbit/s
29162306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L3_BITRATE_192K``
29262306a36Sopenharmony_ci      - 192 kbit/s
29362306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L3_BITRATE_224K``
29462306a36Sopenharmony_ci      - 224 kbit/s
29562306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L3_BITRATE_256K``
29662306a36Sopenharmony_ci      - 256 kbit/s
29762306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_L3_BITRATE_320K``
29862306a36Sopenharmony_ci      - 320 kbit/s
29962306a36Sopenharmony_ci
30062306a36Sopenharmony_ci
30162306a36Sopenharmony_ci
30262306a36Sopenharmony_ci``V4L2_CID_MPEG_AUDIO_AAC_BITRATE (integer)``
30362306a36Sopenharmony_ci    AAC bitrate in bits per second.
30462306a36Sopenharmony_ci
30562306a36Sopenharmony_ci.. _v4l2-mpeg-audio-ac3-bitrate:
30662306a36Sopenharmony_ci
30762306a36Sopenharmony_ci``V4L2_CID_MPEG_AUDIO_AC3_BITRATE``
30862306a36Sopenharmony_ci    (enum)
30962306a36Sopenharmony_ci
31062306a36Sopenharmony_cienum v4l2_mpeg_audio_ac3_bitrate -
31162306a36Sopenharmony_ci    AC-3 bitrate. Possible values are:
31262306a36Sopenharmony_ci
31362306a36Sopenharmony_ci
31462306a36Sopenharmony_ci
31562306a36Sopenharmony_ci.. flat-table::
31662306a36Sopenharmony_ci    :header-rows:  0
31762306a36Sopenharmony_ci    :stub-columns: 0
31862306a36Sopenharmony_ci
31962306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_32K``
32062306a36Sopenharmony_ci      - 32 kbit/s
32162306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_40K``
32262306a36Sopenharmony_ci      - 40 kbit/s
32362306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_48K``
32462306a36Sopenharmony_ci      - 48 kbit/s
32562306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_56K``
32662306a36Sopenharmony_ci      - 56 kbit/s
32762306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_64K``
32862306a36Sopenharmony_ci      - 64 kbit/s
32962306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_80K``
33062306a36Sopenharmony_ci      - 80 kbit/s
33162306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_96K``
33262306a36Sopenharmony_ci      - 96 kbit/s
33362306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_112K``
33462306a36Sopenharmony_ci      - 112 kbit/s
33562306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_128K``
33662306a36Sopenharmony_ci      - 128 kbit/s
33762306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_160K``
33862306a36Sopenharmony_ci      - 160 kbit/s
33962306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_192K``
34062306a36Sopenharmony_ci      - 192 kbit/s
34162306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_224K``
34262306a36Sopenharmony_ci      - 224 kbit/s
34362306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_256K``
34462306a36Sopenharmony_ci      - 256 kbit/s
34562306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_320K``
34662306a36Sopenharmony_ci      - 320 kbit/s
34762306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_384K``
34862306a36Sopenharmony_ci      - 384 kbit/s
34962306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_448K``
35062306a36Sopenharmony_ci      - 448 kbit/s
35162306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_512K``
35262306a36Sopenharmony_ci      - 512 kbit/s
35362306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_576K``
35462306a36Sopenharmony_ci      - 576 kbit/s
35562306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_640K``
35662306a36Sopenharmony_ci      - 640 kbit/s
35762306a36Sopenharmony_ci
35862306a36Sopenharmony_ci
35962306a36Sopenharmony_ci
36062306a36Sopenharmony_ci.. _v4l2-mpeg-audio-mode:
36162306a36Sopenharmony_ci
36262306a36Sopenharmony_ci``V4L2_CID_MPEG_AUDIO_MODE``
36362306a36Sopenharmony_ci    (enum)
36462306a36Sopenharmony_ci
36562306a36Sopenharmony_cienum v4l2_mpeg_audio_mode -
36662306a36Sopenharmony_ci    MPEG Audio mode. Possible values are:
36762306a36Sopenharmony_ci
36862306a36Sopenharmony_ci
36962306a36Sopenharmony_ci
37062306a36Sopenharmony_ci.. flat-table::
37162306a36Sopenharmony_ci    :header-rows:  0
37262306a36Sopenharmony_ci    :stub-columns: 0
37362306a36Sopenharmony_ci
37462306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_MODE_STEREO``
37562306a36Sopenharmony_ci      - Stereo
37662306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_MODE_JOINT_STEREO``
37762306a36Sopenharmony_ci      - Joint Stereo
37862306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_MODE_DUAL``
37962306a36Sopenharmony_ci      - Bilingual
38062306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_MODE_MONO``
38162306a36Sopenharmony_ci      - Mono
38262306a36Sopenharmony_ci
38362306a36Sopenharmony_ci
38462306a36Sopenharmony_ci
38562306a36Sopenharmony_ci.. _v4l2-mpeg-audio-mode-extension:
38662306a36Sopenharmony_ci
38762306a36Sopenharmony_ci``V4L2_CID_MPEG_AUDIO_MODE_EXTENSION``
38862306a36Sopenharmony_ci    (enum)
38962306a36Sopenharmony_ci
39062306a36Sopenharmony_cienum v4l2_mpeg_audio_mode_extension -
39162306a36Sopenharmony_ci    Joint Stereo audio mode extension. In Layer I and II they indicate
39262306a36Sopenharmony_ci    which subbands are in intensity stereo. All other subbands are coded
39362306a36Sopenharmony_ci    in stereo. Layer III is not (yet) supported. Possible values are:
39462306a36Sopenharmony_ci
39562306a36Sopenharmony_ci.. tabularcolumns:: |p{9.1cm}|p{8.4cm}|
39662306a36Sopenharmony_ci
39762306a36Sopenharmony_ci.. flat-table::
39862306a36Sopenharmony_ci    :header-rows:  0
39962306a36Sopenharmony_ci    :stub-columns: 0
40062306a36Sopenharmony_ci
40162306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4``
40262306a36Sopenharmony_ci      - Subbands 4-31 in intensity stereo
40362306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8``
40462306a36Sopenharmony_ci      - Subbands 8-31 in intensity stereo
40562306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12``
40662306a36Sopenharmony_ci      - Subbands 12-31 in intensity stereo
40762306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16``
40862306a36Sopenharmony_ci      - Subbands 16-31 in intensity stereo
40962306a36Sopenharmony_ci
41062306a36Sopenharmony_ci
41162306a36Sopenharmony_ci
41262306a36Sopenharmony_ci.. _v4l2-mpeg-audio-emphasis:
41362306a36Sopenharmony_ci
41462306a36Sopenharmony_ci``V4L2_CID_MPEG_AUDIO_EMPHASIS``
41562306a36Sopenharmony_ci    (enum)
41662306a36Sopenharmony_ci
41762306a36Sopenharmony_cienum v4l2_mpeg_audio_emphasis -
41862306a36Sopenharmony_ci    Audio Emphasis. Possible values are:
41962306a36Sopenharmony_ci
42062306a36Sopenharmony_ci
42162306a36Sopenharmony_ci
42262306a36Sopenharmony_ci.. flat-table::
42362306a36Sopenharmony_ci    :header-rows:  0
42462306a36Sopenharmony_ci    :stub-columns: 0
42562306a36Sopenharmony_ci
42662306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_EMPHASIS_NONE``
42762306a36Sopenharmony_ci      - None
42862306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_EMPHASIS_50_DIV_15_uS``
42962306a36Sopenharmony_ci      - 50/15 microsecond emphasis
43062306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17``
43162306a36Sopenharmony_ci      - CCITT J.17
43262306a36Sopenharmony_ci
43362306a36Sopenharmony_ci
43462306a36Sopenharmony_ci
43562306a36Sopenharmony_ci.. _v4l2-mpeg-audio-crc:
43662306a36Sopenharmony_ci
43762306a36Sopenharmony_ci``V4L2_CID_MPEG_AUDIO_CRC``
43862306a36Sopenharmony_ci    (enum)
43962306a36Sopenharmony_ci
44062306a36Sopenharmony_cienum v4l2_mpeg_audio_crc -
44162306a36Sopenharmony_ci    CRC method. Possible values are:
44262306a36Sopenharmony_ci
44362306a36Sopenharmony_ci
44462306a36Sopenharmony_ci
44562306a36Sopenharmony_ci.. flat-table::
44662306a36Sopenharmony_ci    :header-rows:  0
44762306a36Sopenharmony_ci    :stub-columns: 0
44862306a36Sopenharmony_ci
44962306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_CRC_NONE``
45062306a36Sopenharmony_ci      - None
45162306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_CRC_CRC16``
45262306a36Sopenharmony_ci      - 16 bit parity check
45362306a36Sopenharmony_ci
45462306a36Sopenharmony_ci
45562306a36Sopenharmony_ci
45662306a36Sopenharmony_ci``V4L2_CID_MPEG_AUDIO_MUTE (boolean)``
45762306a36Sopenharmony_ci    Mutes the audio when capturing. This is not done by muting audio
45862306a36Sopenharmony_ci    hardware, which can still produce a slight hiss, but in the encoder
45962306a36Sopenharmony_ci    itself, guaranteeing a fixed and reproducible audio bitstream. 0 =
46062306a36Sopenharmony_ci    unmuted, 1 = muted.
46162306a36Sopenharmony_ci
46262306a36Sopenharmony_ci.. _v4l2-mpeg-audio-dec-playback:
46362306a36Sopenharmony_ci
46462306a36Sopenharmony_ci``V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK``
46562306a36Sopenharmony_ci    (enum)
46662306a36Sopenharmony_ci
46762306a36Sopenharmony_cienum v4l2_mpeg_audio_dec_playback -
46862306a36Sopenharmony_ci    Determines how monolingual audio should be played back. Possible
46962306a36Sopenharmony_ci    values are:
47062306a36Sopenharmony_ci
47162306a36Sopenharmony_ci
47262306a36Sopenharmony_ci
47362306a36Sopenharmony_ci.. tabularcolumns:: |p{9.8cm}|p{7.7cm}|
47462306a36Sopenharmony_ci
47562306a36Sopenharmony_ci.. flat-table::
47662306a36Sopenharmony_ci    :header-rows:  0
47762306a36Sopenharmony_ci    :stub-columns: 0
47862306a36Sopenharmony_ci
47962306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_AUTO``
48062306a36Sopenharmony_ci      - Automatically determines the best playback mode.
48162306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_STEREO``
48262306a36Sopenharmony_ci      - Stereo playback.
48362306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_LEFT``
48462306a36Sopenharmony_ci      - Left channel playback.
48562306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_RIGHT``
48662306a36Sopenharmony_ci      - Right channel playback.
48762306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_MONO``
48862306a36Sopenharmony_ci      - Mono playback.
48962306a36Sopenharmony_ci    * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_SWAPPED_STEREO``
49062306a36Sopenharmony_ci      - Stereo playback with swapped left and right channels.
49162306a36Sopenharmony_ci
49262306a36Sopenharmony_ci
49362306a36Sopenharmony_ci
49462306a36Sopenharmony_ci.. _v4l2-mpeg-audio-dec-multilingual-playback:
49562306a36Sopenharmony_ci
49662306a36Sopenharmony_ci``V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK``
49762306a36Sopenharmony_ci    (enum)
49862306a36Sopenharmony_ci
49962306a36Sopenharmony_cienum v4l2_mpeg_audio_dec_playback -
50062306a36Sopenharmony_ci    Determines how multilingual audio should be played back.
50162306a36Sopenharmony_ci
50262306a36Sopenharmony_ci.. _v4l2-mpeg-video-encoding:
50362306a36Sopenharmony_ci
50462306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_ENCODING``
50562306a36Sopenharmony_ci    (enum)
50662306a36Sopenharmony_ci
50762306a36Sopenharmony_cienum v4l2_mpeg_video_encoding -
50862306a36Sopenharmony_ci    MPEG Video encoding method. This control is specific to multiplexed
50962306a36Sopenharmony_ci    MPEG streams. Possible values are:
51062306a36Sopenharmony_ci
51162306a36Sopenharmony_ci
51262306a36Sopenharmony_ci
51362306a36Sopenharmony_ci.. flat-table::
51462306a36Sopenharmony_ci    :header-rows:  0
51562306a36Sopenharmony_ci    :stub-columns: 0
51662306a36Sopenharmony_ci
51762306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_ENCODING_MPEG_1``
51862306a36Sopenharmony_ci      - MPEG-1 Video encoding
51962306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_ENCODING_MPEG_2``
52062306a36Sopenharmony_ci      - MPEG-2 Video encoding
52162306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC``
52262306a36Sopenharmony_ci      - MPEG-4 AVC (H.264) Video encoding
52362306a36Sopenharmony_ci
52462306a36Sopenharmony_ci
52562306a36Sopenharmony_ci
52662306a36Sopenharmony_ci.. _v4l2-mpeg-video-aspect:
52762306a36Sopenharmony_ci
52862306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_ASPECT``
52962306a36Sopenharmony_ci    (enum)
53062306a36Sopenharmony_ci
53162306a36Sopenharmony_cienum v4l2_mpeg_video_aspect -
53262306a36Sopenharmony_ci    Video aspect. Possible values are:
53362306a36Sopenharmony_ci
53462306a36Sopenharmony_ci
53562306a36Sopenharmony_ci
53662306a36Sopenharmony_ci.. flat-table::
53762306a36Sopenharmony_ci    :header-rows:  0
53862306a36Sopenharmony_ci    :stub-columns: 0
53962306a36Sopenharmony_ci
54062306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_ASPECT_1x1``
54162306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_ASPECT_4x3``
54262306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_ASPECT_16x9``
54362306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_ASPECT_221x100``
54462306a36Sopenharmony_ci
54562306a36Sopenharmony_ci
54662306a36Sopenharmony_ci
54762306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_B_FRAMES (integer)``
54862306a36Sopenharmony_ci    Number of B-Frames (default 2)
54962306a36Sopenharmony_ci
55062306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_GOP_SIZE (integer)``
55162306a36Sopenharmony_ci    GOP size (default 12)
55262306a36Sopenharmony_ci
55362306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_GOP_CLOSURE (boolean)``
55462306a36Sopenharmony_ci    GOP closure (default 1)
55562306a36Sopenharmony_ci
55662306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_PULLDOWN (boolean)``
55762306a36Sopenharmony_ci    Enable 3:2 pulldown (default 0)
55862306a36Sopenharmony_ci
55962306a36Sopenharmony_ci.. _v4l2-mpeg-video-bitrate-mode:
56062306a36Sopenharmony_ci
56162306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_BITRATE_MODE``
56262306a36Sopenharmony_ci    (enum)
56362306a36Sopenharmony_ci
56462306a36Sopenharmony_cienum v4l2_mpeg_video_bitrate_mode -
56562306a36Sopenharmony_ci    Video bitrate mode. Possible values are:
56662306a36Sopenharmony_ci
56762306a36Sopenharmony_ci
56862306a36Sopenharmony_ci
56962306a36Sopenharmony_ci.. flat-table::
57062306a36Sopenharmony_ci    :header-rows:  0
57162306a36Sopenharmony_ci    :stub-columns: 0
57262306a36Sopenharmony_ci
57362306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_BITRATE_MODE_VBR``
57462306a36Sopenharmony_ci      - Variable bitrate
57562306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_BITRATE_MODE_CBR``
57662306a36Sopenharmony_ci      - Constant bitrate
57762306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_BITRATE_MODE_CQ``
57862306a36Sopenharmony_ci      - Constant quality
57962306a36Sopenharmony_ci
58062306a36Sopenharmony_ci
58162306a36Sopenharmony_ci
58262306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_BITRATE (integer)``
58362306a36Sopenharmony_ci    Average video bitrate in bits per second.
58462306a36Sopenharmony_ci
58562306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_BITRATE_PEAK (integer)``
58662306a36Sopenharmony_ci    Peak video bitrate in bits per second. Must be larger or equal to
58762306a36Sopenharmony_ci    the average video bitrate. It is ignored if the video bitrate mode
58862306a36Sopenharmony_ci    is set to constant bitrate.
58962306a36Sopenharmony_ci
59062306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY (integer)``
59162306a36Sopenharmony_ci    Constant quality level control. This control is applicable when
59262306a36Sopenharmony_ci    ``V4L2_CID_MPEG_VIDEO_BITRATE_MODE`` value is
59362306a36Sopenharmony_ci    ``V4L2_MPEG_VIDEO_BITRATE_MODE_CQ``. Valid range is 1 to 100
59462306a36Sopenharmony_ci    where 1 indicates lowest quality and 100 indicates highest quality.
59562306a36Sopenharmony_ci    Encoder will decide the appropriate quantization parameter and
59662306a36Sopenharmony_ci    bitrate to produce requested frame quality.
59762306a36Sopenharmony_ci
59862306a36Sopenharmony_ci
59962306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE (enum)``
60062306a36Sopenharmony_ci
60162306a36Sopenharmony_cienum v4l2_mpeg_video_frame_skip_mode -
60262306a36Sopenharmony_ci    Indicates in what conditions the encoder should skip frames. If
60362306a36Sopenharmony_ci    encoding a frame would cause the encoded stream to be larger then a
60462306a36Sopenharmony_ci    chosen data limit then the frame will be skipped. Possible values
60562306a36Sopenharmony_ci    are:
60662306a36Sopenharmony_ci
60762306a36Sopenharmony_ci
60862306a36Sopenharmony_ci.. tabularcolumns:: |p{8.2cm}|p{9.3cm}|
60962306a36Sopenharmony_ci
61062306a36Sopenharmony_ci.. raw:: latex
61162306a36Sopenharmony_ci
61262306a36Sopenharmony_ci    \small
61362306a36Sopenharmony_ci
61462306a36Sopenharmony_ci.. flat-table::
61562306a36Sopenharmony_ci    :header-rows:  0
61662306a36Sopenharmony_ci    :stub-columns: 0
61762306a36Sopenharmony_ci
61862306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_DISABLED``
61962306a36Sopenharmony_ci      - Frame skip mode is disabled.
62062306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT``
62162306a36Sopenharmony_ci      - Frame skip mode enabled and buffer limit is set by the chosen
62262306a36Sopenharmony_ci        level and is defined by the standard.
62362306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT``
62462306a36Sopenharmony_ci      - Frame skip mode enabled and buffer limit is set by the
62562306a36Sopenharmony_ci        :ref:`VBV (MPEG1/2/4) <v4l2-mpeg-video-vbv-size>` or
62662306a36Sopenharmony_ci        :ref:`CPB (H264) buffer size <v4l2-mpeg-video-h264-cpb-size>` control.
62762306a36Sopenharmony_ci
62862306a36Sopenharmony_ci.. raw:: latex
62962306a36Sopenharmony_ci
63062306a36Sopenharmony_ci    \normalsize
63162306a36Sopenharmony_ci
63262306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION (integer)``
63362306a36Sopenharmony_ci    For every captured frame, skip this many subsequent frames (default
63462306a36Sopenharmony_ci    0).
63562306a36Sopenharmony_ci
63662306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MUTE (boolean)``
63762306a36Sopenharmony_ci    "Mutes" the video to a fixed color when capturing. This is useful
63862306a36Sopenharmony_ci    for testing, to produce a fixed video bitstream. 0 = unmuted, 1 =
63962306a36Sopenharmony_ci    muted.
64062306a36Sopenharmony_ci
64162306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MUTE_YUV (integer)``
64262306a36Sopenharmony_ci    Sets the "mute" color of the video. The supplied 32-bit integer is
64362306a36Sopenharmony_ci    interpreted as follows (bit 0 = least significant bit):
64462306a36Sopenharmony_ci
64562306a36Sopenharmony_ci
64662306a36Sopenharmony_ci
64762306a36Sopenharmony_ci.. flat-table::
64862306a36Sopenharmony_ci    :header-rows:  0
64962306a36Sopenharmony_ci    :stub-columns: 0
65062306a36Sopenharmony_ci
65162306a36Sopenharmony_ci    * - Bit 0:7
65262306a36Sopenharmony_ci      - V chrominance information
65362306a36Sopenharmony_ci    * - Bit 8:15
65462306a36Sopenharmony_ci      - U chrominance information
65562306a36Sopenharmony_ci    * - Bit 16:23
65662306a36Sopenharmony_ci      - Y luminance information
65762306a36Sopenharmony_ci    * - Bit 24:31
65862306a36Sopenharmony_ci      - Must be zero.
65962306a36Sopenharmony_ci
66062306a36Sopenharmony_ci
66162306a36Sopenharmony_ci
66262306a36Sopenharmony_ci.. _v4l2-mpeg-video-dec-pts:
66362306a36Sopenharmony_ci
66462306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_DEC_PTS (integer64)``
66562306a36Sopenharmony_ci    This read-only control returns the 33-bit video Presentation Time
66662306a36Sopenharmony_ci    Stamp as defined in ITU T-REC-H.222.0 and ISO/IEC 13818-1 of the
66762306a36Sopenharmony_ci    currently displayed frame. This is the same PTS as is used in
66862306a36Sopenharmony_ci    :ref:`VIDIOC_DECODER_CMD`.
66962306a36Sopenharmony_ci
67062306a36Sopenharmony_ci.. _v4l2-mpeg-video-dec-frame:
67162306a36Sopenharmony_ci
67262306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_DEC_FRAME (integer64)``
67362306a36Sopenharmony_ci    This read-only control returns the frame counter of the frame that
67462306a36Sopenharmony_ci    is currently displayed (decoded). This value is reset to 0 whenever
67562306a36Sopenharmony_ci    the decoder is started.
67662306a36Sopenharmony_ci
67762306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_DEC_CONCEAL_COLOR (integer64)``
67862306a36Sopenharmony_ci    This control sets the conceal color in YUV color space. It describes
67962306a36Sopenharmony_ci    the client preference of the error conceal color in case of an error
68062306a36Sopenharmony_ci    where the reference frame is missing. The decoder should fill the
68162306a36Sopenharmony_ci    reference buffer with the preferred color and use it for future
68262306a36Sopenharmony_ci    decoding. The control is using 16 bits per channel.
68362306a36Sopenharmony_ci    Applicable to decoders.
68462306a36Sopenharmony_ci
68562306a36Sopenharmony_ci.. flat-table::
68662306a36Sopenharmony_ci    :header-rows:  0
68762306a36Sopenharmony_ci    :stub-columns: 0
68862306a36Sopenharmony_ci
68962306a36Sopenharmony_ci    * -
69062306a36Sopenharmony_ci      - 8bit  format
69162306a36Sopenharmony_ci      - 10bit format
69262306a36Sopenharmony_ci      - 12bit format
69362306a36Sopenharmony_ci    * - Y luminance
69462306a36Sopenharmony_ci      - Bit 0:7
69562306a36Sopenharmony_ci      - Bit 0:9
69662306a36Sopenharmony_ci      - Bit 0:11
69762306a36Sopenharmony_ci    * - Cb chrominance
69862306a36Sopenharmony_ci      - Bit 16:23
69962306a36Sopenharmony_ci      - Bit 16:25
70062306a36Sopenharmony_ci      - Bit 16:27
70162306a36Sopenharmony_ci    * - Cr chrominance
70262306a36Sopenharmony_ci      - Bit 32:39
70362306a36Sopenharmony_ci      - Bit 32:41
70462306a36Sopenharmony_ci      - Bit 32:43
70562306a36Sopenharmony_ci    * - Must be zero
70662306a36Sopenharmony_ci      - Bit 48:63
70762306a36Sopenharmony_ci      - Bit 48:63
70862306a36Sopenharmony_ci      - Bit 48:63
70962306a36Sopenharmony_ci
71062306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE (boolean)``
71162306a36Sopenharmony_ci    If enabled the decoder expects to receive a single slice per buffer,
71262306a36Sopenharmony_ci    otherwise the decoder expects a single frame in per buffer.
71362306a36Sopenharmony_ci    Applicable to the decoder, all codecs.
71462306a36Sopenharmony_ci
71562306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY_ENABLE (boolean)``
71662306a36Sopenharmony_ci    If the display delay is enabled then the decoder is forced to return
71762306a36Sopenharmony_ci    a CAPTURE buffer (decoded frame) after processing a certain number
71862306a36Sopenharmony_ci    of OUTPUT buffers. The delay can be set through
71962306a36Sopenharmony_ci    ``V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY``. This
72062306a36Sopenharmony_ci    feature can be used for example for generating thumbnails of videos.
72162306a36Sopenharmony_ci    Applicable to the decoder.
72262306a36Sopenharmony_ci
72362306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY (integer)``
72462306a36Sopenharmony_ci    Display delay value for decoder. The decoder is forced to
72562306a36Sopenharmony_ci    return a decoded frame after the set 'display delay' number of
72662306a36Sopenharmony_ci    frames. If this number is low it may result in frames returned out
72762306a36Sopenharmony_ci    of display order, in addition the hardware may still be using the
72862306a36Sopenharmony_ci    returned buffer as a reference picture for subsequent frames.
72962306a36Sopenharmony_ci
73062306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_AU_DELIMITER (boolean)``
73162306a36Sopenharmony_ci    If enabled then, AUD (Access Unit Delimiter) NALUs will be generated.
73262306a36Sopenharmony_ci    That could be useful to find the start of a frame without having to
73362306a36Sopenharmony_ci    fully parse each NALU. Applicable to the H264 and HEVC encoders.
73462306a36Sopenharmony_ci
73562306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE (boolean)``
73662306a36Sopenharmony_ci    Enable writing sample aspect ratio in the Video Usability
73762306a36Sopenharmony_ci    Information. Applicable to the H264 encoder.
73862306a36Sopenharmony_ci
73962306a36Sopenharmony_ci.. _v4l2-mpeg-video-h264-vui-sar-idc:
74062306a36Sopenharmony_ci
74162306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC``
74262306a36Sopenharmony_ci    (enum)
74362306a36Sopenharmony_ci
74462306a36Sopenharmony_cienum v4l2_mpeg_video_h264_vui_sar_idc -
74562306a36Sopenharmony_ci    VUI sample aspect ratio indicator for H.264 encoding. The value is
74662306a36Sopenharmony_ci    defined in the table E-1 in the standard. Applicable to the H264
74762306a36Sopenharmony_ci    encoder.
74862306a36Sopenharmony_ci
74962306a36Sopenharmony_ci
75062306a36Sopenharmony_ci
75162306a36Sopenharmony_ci.. flat-table::
75262306a36Sopenharmony_ci    :header-rows:  0
75362306a36Sopenharmony_ci    :stub-columns: 0
75462306a36Sopenharmony_ci
75562306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_UNSPECIFIED``
75662306a36Sopenharmony_ci      - Unspecified
75762306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_1x1``
75862306a36Sopenharmony_ci      - 1x1
75962306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_12x11``
76062306a36Sopenharmony_ci      - 12x11
76162306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_10x11``
76262306a36Sopenharmony_ci      - 10x11
76362306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_16x11``
76462306a36Sopenharmony_ci      - 16x11
76562306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_40x33``
76662306a36Sopenharmony_ci      - 40x33
76762306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_24x11``
76862306a36Sopenharmony_ci      - 24x11
76962306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_20x11``
77062306a36Sopenharmony_ci      - 20x11
77162306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_32x11``
77262306a36Sopenharmony_ci      - 32x11
77362306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_80x33``
77462306a36Sopenharmony_ci      - 80x33
77562306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_18x11``
77662306a36Sopenharmony_ci      - 18x11
77762306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_15x11``
77862306a36Sopenharmony_ci      - 15x11
77962306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_64x33``
78062306a36Sopenharmony_ci      - 64x33
78162306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_160x99``
78262306a36Sopenharmony_ci      - 160x99
78362306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_4x3``
78462306a36Sopenharmony_ci      - 4x3
78562306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_3x2``
78662306a36Sopenharmony_ci      - 3x2
78762306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_2x1``
78862306a36Sopenharmony_ci      - 2x1
78962306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_EXTENDED``
79062306a36Sopenharmony_ci      - Extended SAR
79162306a36Sopenharmony_ci
79262306a36Sopenharmony_ci
79362306a36Sopenharmony_ci
79462306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH (integer)``
79562306a36Sopenharmony_ci    Extended sample aspect ratio width for H.264 VUI encoding.
79662306a36Sopenharmony_ci    Applicable to the H264 encoder.
79762306a36Sopenharmony_ci
79862306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT (integer)``
79962306a36Sopenharmony_ci    Extended sample aspect ratio height for H.264 VUI encoding.
80062306a36Sopenharmony_ci    Applicable to the H264 encoder.
80162306a36Sopenharmony_ci
80262306a36Sopenharmony_ci.. _v4l2-mpeg-video-h264-level:
80362306a36Sopenharmony_ci
80462306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_LEVEL``
80562306a36Sopenharmony_ci    (enum)
80662306a36Sopenharmony_ci
80762306a36Sopenharmony_cienum v4l2_mpeg_video_h264_level -
80862306a36Sopenharmony_ci    The level information for the H264 video elementary stream.
80962306a36Sopenharmony_ci    Applicable to the H264 encoder. Possible values are:
81062306a36Sopenharmony_ci
81162306a36Sopenharmony_ci
81262306a36Sopenharmony_ci
81362306a36Sopenharmony_ci.. flat-table::
81462306a36Sopenharmony_ci    :header-rows:  0
81562306a36Sopenharmony_ci    :stub-columns: 0
81662306a36Sopenharmony_ci
81762306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1_0``
81862306a36Sopenharmony_ci      - Level 1.0
81962306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1B``
82062306a36Sopenharmony_ci      - Level 1B
82162306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1_1``
82262306a36Sopenharmony_ci      - Level 1.1
82362306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1_2``
82462306a36Sopenharmony_ci      - Level 1.2
82562306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1_3``
82662306a36Sopenharmony_ci      - Level 1.3
82762306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_2_0``
82862306a36Sopenharmony_ci      - Level 2.0
82962306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_2_1``
83062306a36Sopenharmony_ci      - Level 2.1
83162306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_2_2``
83262306a36Sopenharmony_ci      - Level 2.2
83362306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_3_0``
83462306a36Sopenharmony_ci      - Level 3.0
83562306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_3_1``
83662306a36Sopenharmony_ci      - Level 3.1
83762306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_3_2``
83862306a36Sopenharmony_ci      - Level 3.2
83962306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_4_0``
84062306a36Sopenharmony_ci      - Level 4.0
84162306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_4_1``
84262306a36Sopenharmony_ci      - Level 4.1
84362306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_4_2``
84462306a36Sopenharmony_ci      - Level 4.2
84562306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_5_0``
84662306a36Sopenharmony_ci      - Level 5.0
84762306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_5_1``
84862306a36Sopenharmony_ci      - Level 5.1
84962306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_5_2``
85062306a36Sopenharmony_ci      - Level 5.2
85162306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_6_0``
85262306a36Sopenharmony_ci      - Level 6.0
85362306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_6_1``
85462306a36Sopenharmony_ci      - Level 6.1
85562306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LEVEL_6_2``
85662306a36Sopenharmony_ci      - Level 6.2
85762306a36Sopenharmony_ci
85862306a36Sopenharmony_ci
85962306a36Sopenharmony_ci
86062306a36Sopenharmony_ci.. _v4l2-mpeg-video-mpeg2-level:
86162306a36Sopenharmony_ci
86262306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL``
86362306a36Sopenharmony_ci    (enum)
86462306a36Sopenharmony_ci
86562306a36Sopenharmony_cienum v4l2_mpeg_video_mpeg2_level -
86662306a36Sopenharmony_ci    The level information for the MPEG2 elementary stream. Applicable to
86762306a36Sopenharmony_ci    MPEG2 codecs. Possible values are:
86862306a36Sopenharmony_ci
86962306a36Sopenharmony_ci
87062306a36Sopenharmony_ci
87162306a36Sopenharmony_ci.. flat-table::
87262306a36Sopenharmony_ci    :header-rows:  0
87362306a36Sopenharmony_ci    :stub-columns: 0
87462306a36Sopenharmony_ci
87562306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG2_LEVEL_LOW``
87662306a36Sopenharmony_ci      - Low Level (LL)
87762306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN``
87862306a36Sopenharmony_ci      - Main Level (ML)
87962306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH_1440``
88062306a36Sopenharmony_ci      - High-1440 Level (H-14)
88162306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH``
88262306a36Sopenharmony_ci      - High Level (HL)
88362306a36Sopenharmony_ci
88462306a36Sopenharmony_ci
88562306a36Sopenharmony_ci
88662306a36Sopenharmony_ci.. _v4l2-mpeg-video-mpeg4-level:
88762306a36Sopenharmony_ci
88862306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL``
88962306a36Sopenharmony_ci    (enum)
89062306a36Sopenharmony_ci
89162306a36Sopenharmony_cienum v4l2_mpeg_video_mpeg4_level -
89262306a36Sopenharmony_ci    The level information for the MPEG4 elementary stream. Applicable to
89362306a36Sopenharmony_ci    the MPEG4 encoder. Possible values are:
89462306a36Sopenharmony_ci
89562306a36Sopenharmony_ci
89662306a36Sopenharmony_ci
89762306a36Sopenharmony_ci.. flat-table::
89862306a36Sopenharmony_ci    :header-rows:  0
89962306a36Sopenharmony_ci    :stub-columns: 0
90062306a36Sopenharmony_ci
90162306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_0``
90262306a36Sopenharmony_ci      - Level 0
90362306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B``
90462306a36Sopenharmony_ci      - Level 0b
90562306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_1``
90662306a36Sopenharmony_ci      - Level 1
90762306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_2``
90862306a36Sopenharmony_ci      - Level 2
90962306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_3``
91062306a36Sopenharmony_ci      - Level 3
91162306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_3B``
91262306a36Sopenharmony_ci      - Level 3b
91362306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_4``
91462306a36Sopenharmony_ci      - Level 4
91562306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_5``
91662306a36Sopenharmony_ci      - Level 5
91762306a36Sopenharmony_ci
91862306a36Sopenharmony_ci
91962306a36Sopenharmony_ci
92062306a36Sopenharmony_ci.. _v4l2-mpeg-video-h264-profile:
92162306a36Sopenharmony_ci
92262306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_PROFILE``
92362306a36Sopenharmony_ci    (enum)
92462306a36Sopenharmony_ci
92562306a36Sopenharmony_cienum v4l2_mpeg_video_h264_profile -
92662306a36Sopenharmony_ci    The profile information for H264. Applicable to the H264 encoder.
92762306a36Sopenharmony_ci    Possible values are:
92862306a36Sopenharmony_ci
92962306a36Sopenharmony_ci.. raw:: latex
93062306a36Sopenharmony_ci
93162306a36Sopenharmony_ci    \small
93262306a36Sopenharmony_ci
93362306a36Sopenharmony_ci.. tabularcolumns:: |p{10.2cm}|p{7.3cm}|
93462306a36Sopenharmony_ci
93562306a36Sopenharmony_ci.. flat-table::
93662306a36Sopenharmony_ci    :header-rows:  0
93762306a36Sopenharmony_ci    :stub-columns: 0
93862306a36Sopenharmony_ci
93962306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE``
94062306a36Sopenharmony_ci      - Baseline profile
94162306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE``
94262306a36Sopenharmony_ci      - Constrained Baseline profile
94362306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_MAIN``
94462306a36Sopenharmony_ci      - Main profile
94562306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_EXTENDED``
94662306a36Sopenharmony_ci      - Extended profile
94762306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH``
94862306a36Sopenharmony_ci      - High profile
94962306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10``
95062306a36Sopenharmony_ci      - High 10 profile
95162306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422``
95262306a36Sopenharmony_ci      - High 422 profile
95362306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_PREDICTIVE``
95462306a36Sopenharmony_ci      - High 444 Predictive profile
95562306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10_INTRA``
95662306a36Sopenharmony_ci      - High 10 Intra profile
95762306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422_INTRA``
95862306a36Sopenharmony_ci      - High 422 Intra profile
95962306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_INTRA``
96062306a36Sopenharmony_ci      - High 444 Intra profile
96162306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_CAVLC_444_INTRA``
96262306a36Sopenharmony_ci      - CAVLC 444 Intra profile
96362306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_BASELINE``
96462306a36Sopenharmony_ci      - Scalable Baseline profile
96562306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH``
96662306a36Sopenharmony_ci      - Scalable High profile
96762306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH_INTRA``
96862306a36Sopenharmony_ci      - Scalable High Intra profile
96962306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_STEREO_HIGH``
97062306a36Sopenharmony_ci      - Stereo High profile
97162306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH``
97262306a36Sopenharmony_ci      - Multiview High profile
97362306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH``
97462306a36Sopenharmony_ci      - Constrained High profile
97562306a36Sopenharmony_ci
97662306a36Sopenharmony_ci.. raw:: latex
97762306a36Sopenharmony_ci
97862306a36Sopenharmony_ci    \normalsize
97962306a36Sopenharmony_ci
98062306a36Sopenharmony_ci.. _v4l2-mpeg-video-mpeg2-profile:
98162306a36Sopenharmony_ci
98262306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MPEG2_PROFILE``
98362306a36Sopenharmony_ci    (enum)
98462306a36Sopenharmony_ci
98562306a36Sopenharmony_cienum v4l2_mpeg_video_mpeg2_profile -
98662306a36Sopenharmony_ci    The profile information for MPEG2. Applicable to MPEG2 codecs.
98762306a36Sopenharmony_ci    Possible values are:
98862306a36Sopenharmony_ci
98962306a36Sopenharmony_ci.. raw:: latex
99062306a36Sopenharmony_ci
99162306a36Sopenharmony_ci    \small
99262306a36Sopenharmony_ci
99362306a36Sopenharmony_ci.. tabularcolumns:: |p{10.2cm}|p{7.3cm}|
99462306a36Sopenharmony_ci
99562306a36Sopenharmony_ci.. flat-table::
99662306a36Sopenharmony_ci    :header-rows:  0
99762306a36Sopenharmony_ci    :stub-columns: 0
99862306a36Sopenharmony_ci
99962306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_SIMPLE``
100062306a36Sopenharmony_ci      - Simple profile (SP)
100162306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN``
100262306a36Sopenharmony_ci      - Main profile (MP)
100362306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_SNR_SCALABLE``
100462306a36Sopenharmony_ci      - SNR Scalable profile (SNR)
100562306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_SPATIALLY_SCALABLE``
100662306a36Sopenharmony_ci      - Spatially Scalable profile (Spt)
100762306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_HIGH``
100862306a36Sopenharmony_ci      - High profile (HP)
100962306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_MULTIVIEW``
101062306a36Sopenharmony_ci      - Multi-view profile (MVP)
101162306a36Sopenharmony_ci
101262306a36Sopenharmony_ci
101362306a36Sopenharmony_ci.. raw:: latex
101462306a36Sopenharmony_ci
101562306a36Sopenharmony_ci    \normalsize
101662306a36Sopenharmony_ci
101762306a36Sopenharmony_ci.. _v4l2-mpeg-video-mpeg4-profile:
101862306a36Sopenharmony_ci
101962306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE``
102062306a36Sopenharmony_ci    (enum)
102162306a36Sopenharmony_ci
102262306a36Sopenharmony_cienum v4l2_mpeg_video_mpeg4_profile -
102362306a36Sopenharmony_ci    The profile information for MPEG4. Applicable to the MPEG4 encoder.
102462306a36Sopenharmony_ci    Possible values are:
102562306a36Sopenharmony_ci
102662306a36Sopenharmony_ci.. raw:: latex
102762306a36Sopenharmony_ci
102862306a36Sopenharmony_ci    \small
102962306a36Sopenharmony_ci
103062306a36Sopenharmony_ci.. tabularcolumns:: |p{11.8cm}|p{5.7cm}|
103162306a36Sopenharmony_ci
103262306a36Sopenharmony_ci.. flat-table::
103362306a36Sopenharmony_ci    :header-rows:  0
103462306a36Sopenharmony_ci    :stub-columns: 0
103562306a36Sopenharmony_ci
103662306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE``
103762306a36Sopenharmony_ci      - Simple profile
103862306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE``
103962306a36Sopenharmony_ci      - Advanced Simple profile
104062306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_CORE``
104162306a36Sopenharmony_ci      - Core profile
104262306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE_SCALABLE``
104362306a36Sopenharmony_ci      - Simple Scalable profile
104462306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY``
104562306a36Sopenharmony_ci      - Advanced Coding Efficiency profile
104662306a36Sopenharmony_ci
104762306a36Sopenharmony_ci.. raw:: latex
104862306a36Sopenharmony_ci
104962306a36Sopenharmony_ci    \normalsize
105062306a36Sopenharmony_ci
105162306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MAX_REF_PIC (integer)``
105262306a36Sopenharmony_ci    The maximum number of reference pictures used for encoding.
105362306a36Sopenharmony_ci    Applicable to the encoder.
105462306a36Sopenharmony_ci
105562306a36Sopenharmony_ci.. _v4l2-mpeg-video-multi-slice-mode:
105662306a36Sopenharmony_ci
105762306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE``
105862306a36Sopenharmony_ci    (enum)
105962306a36Sopenharmony_ci
106062306a36Sopenharmony_cienum v4l2_mpeg_video_multi_slice_mode -
106162306a36Sopenharmony_ci    Determines how the encoder should handle division of frame into
106262306a36Sopenharmony_ci    slices. Applicable to the encoder. Possible values are:
106362306a36Sopenharmony_ci
106462306a36Sopenharmony_ci
106562306a36Sopenharmony_ci
106662306a36Sopenharmony_ci.. tabularcolumns:: |p{9.6cm}|p{7.9cm}|
106762306a36Sopenharmony_ci
106862306a36Sopenharmony_ci.. flat-table::
106962306a36Sopenharmony_ci    :header-rows:  0
107062306a36Sopenharmony_ci    :stub-columns: 0
107162306a36Sopenharmony_ci
107262306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE``
107362306a36Sopenharmony_ci      - Single slice per frame.
107462306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB``
107562306a36Sopenharmony_ci      - Multiple slices with set maximum number of macroblocks per slice.
107662306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES``
107762306a36Sopenharmony_ci      - Multiple slice with set maximum size in bytes per slice.
107862306a36Sopenharmony_ci
107962306a36Sopenharmony_ci
108062306a36Sopenharmony_ci
108162306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB (integer)``
108262306a36Sopenharmony_ci    The maximum number of macroblocks in a slice. Used when
108362306a36Sopenharmony_ci    ``V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE`` is set to
108462306a36Sopenharmony_ci    ``V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB``. Applicable to the
108562306a36Sopenharmony_ci    encoder.
108662306a36Sopenharmony_ci
108762306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES (integer)``
108862306a36Sopenharmony_ci    The maximum size of a slice in bytes. Used when
108962306a36Sopenharmony_ci    ``V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE`` is set to
109062306a36Sopenharmony_ci    ``V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES``. Applicable to the
109162306a36Sopenharmony_ci    encoder.
109262306a36Sopenharmony_ci
109362306a36Sopenharmony_ci.. _v4l2-mpeg-video-h264-loop-filter-mode:
109462306a36Sopenharmony_ci
109562306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE``
109662306a36Sopenharmony_ci    (enum)
109762306a36Sopenharmony_ci
109862306a36Sopenharmony_cienum v4l2_mpeg_video_h264_loop_filter_mode -
109962306a36Sopenharmony_ci    Loop filter mode for H264 encoder. Possible values are:
110062306a36Sopenharmony_ci
110162306a36Sopenharmony_ci.. raw:: latex
110262306a36Sopenharmony_ci
110362306a36Sopenharmony_ci    \small
110462306a36Sopenharmony_ci
110562306a36Sopenharmony_ci.. tabularcolumns:: |p{13.5cm}|p{4.0cm}|
110662306a36Sopenharmony_ci
110762306a36Sopenharmony_ci.. flat-table::
110862306a36Sopenharmony_ci    :header-rows:  0
110962306a36Sopenharmony_ci    :stub-columns: 0
111062306a36Sopenharmony_ci
111162306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED``
111262306a36Sopenharmony_ci      - Loop filter is enabled.
111362306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED``
111462306a36Sopenharmony_ci      - Loop filter is disabled.
111562306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY``
111662306a36Sopenharmony_ci      - Loop filter is disabled at the slice boundary.
111762306a36Sopenharmony_ci
111862306a36Sopenharmony_ci.. raw:: latex
111962306a36Sopenharmony_ci
112062306a36Sopenharmony_ci    \normalsize
112162306a36Sopenharmony_ci
112262306a36Sopenharmony_ci
112362306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA (integer)``
112462306a36Sopenharmony_ci    Loop filter alpha coefficient, defined in the H264 standard.
112562306a36Sopenharmony_ci    This value corresponds to the slice_alpha_c0_offset_div2 slice header
112662306a36Sopenharmony_ci    field, and should be in the range of -6 to +6, inclusive. The actual alpha
112762306a36Sopenharmony_ci    offset FilterOffsetA is twice this value.
112862306a36Sopenharmony_ci    Applicable to the H264 encoder.
112962306a36Sopenharmony_ci
113062306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA (integer)``
113162306a36Sopenharmony_ci    Loop filter beta coefficient, defined in the H264 standard.
113262306a36Sopenharmony_ci    This corresponds to the slice_beta_offset_div2 slice header field, and
113362306a36Sopenharmony_ci    should be in the range of -6 to +6, inclusive. The actual beta offset
113462306a36Sopenharmony_ci    FilterOffsetB is twice this value.
113562306a36Sopenharmony_ci    Applicable to the H264 encoder.
113662306a36Sopenharmony_ci
113762306a36Sopenharmony_ci.. _v4l2-mpeg-video-h264-entropy-mode:
113862306a36Sopenharmony_ci
113962306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE``
114062306a36Sopenharmony_ci    (enum)
114162306a36Sopenharmony_ci
114262306a36Sopenharmony_cienum v4l2_mpeg_video_h264_entropy_mode -
114362306a36Sopenharmony_ci    Entropy coding mode for H264 - CABAC/CAVALC. Applicable to the H264
114462306a36Sopenharmony_ci    encoder. Possible values are:
114562306a36Sopenharmony_ci
114662306a36Sopenharmony_ci
114762306a36Sopenharmony_ci.. tabularcolumns:: |p{9.0cm}|p{8.5cm}|
114862306a36Sopenharmony_ci
114962306a36Sopenharmony_ci
115062306a36Sopenharmony_ci.. flat-table::
115162306a36Sopenharmony_ci    :header-rows:  0
115262306a36Sopenharmony_ci    :stub-columns: 0
115362306a36Sopenharmony_ci
115462306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC``
115562306a36Sopenharmony_ci      - Use CAVLC entropy coding.
115662306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC``
115762306a36Sopenharmony_ci      - Use CABAC entropy coding.
115862306a36Sopenharmony_ci
115962306a36Sopenharmony_ci
116062306a36Sopenharmony_ci
116162306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM (boolean)``
116262306a36Sopenharmony_ci    Enable 8X8 transform for H264. Applicable to the H264 encoder.
116362306a36Sopenharmony_ci
116462306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_CONSTRAINED_INTRA_PREDICTION (boolean)``
116562306a36Sopenharmony_ci    Enable constrained intra prediction for H264. Applicable to the H264
116662306a36Sopenharmony_ci    encoder.
116762306a36Sopenharmony_ci
116862306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET (integer)``
116962306a36Sopenharmony_ci    Specify the offset that should be added to the luma quantization
117062306a36Sopenharmony_ci    parameter to determine the chroma quantization parameter. Applicable
117162306a36Sopenharmony_ci    to the H264 encoder.
117262306a36Sopenharmony_ci
117362306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB (integer)``
117462306a36Sopenharmony_ci    Cyclic intra macroblock refresh. This is the number of continuous
117562306a36Sopenharmony_ci    macroblocks refreshed every frame. Each frame a successive set of
117662306a36Sopenharmony_ci    macroblocks is refreshed until the cycle completes and starts from
117762306a36Sopenharmony_ci    the top of the frame. Setting this control to zero means that
117862306a36Sopenharmony_ci    macroblocks will not be refreshed.  Note that this control will not
117962306a36Sopenharmony_ci    take effect when ``V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD`` control
118062306a36Sopenharmony_ci    is set to non zero value.
118162306a36Sopenharmony_ci    Applicable to H264, H263 and MPEG4 encoder.
118262306a36Sopenharmony_ci
118362306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE (enum)``
118462306a36Sopenharmony_ci
118562306a36Sopenharmony_cienum v4l2_mpeg_video_intra_refresh_period_type -
118662306a36Sopenharmony_ci    Sets the type of intra refresh. The period to refresh
118762306a36Sopenharmony_ci    the whole frame is specified by V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD.
118862306a36Sopenharmony_ci    Note that if this control is not present, then it is undefined what
118962306a36Sopenharmony_ci    refresh type is used and it is up to the driver to decide.
119062306a36Sopenharmony_ci    Applicable to H264 and HEVC encoders. Possible values are:
119162306a36Sopenharmony_ci
119262306a36Sopenharmony_ci.. tabularcolumns:: |p{9.6cm}|p{7.9cm}|
119362306a36Sopenharmony_ci
119462306a36Sopenharmony_ci.. flat-table::
119562306a36Sopenharmony_ci    :header-rows:  0
119662306a36Sopenharmony_ci    :stub-columns: 0
119762306a36Sopenharmony_ci
119862306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_RANDOM``
119962306a36Sopenharmony_ci      - The whole frame is completely refreshed randomly
120062306a36Sopenharmony_ci        after the specified period.
120162306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_CYCLIC``
120262306a36Sopenharmony_ci      - The whole frame MBs are completely refreshed in cyclic order
120362306a36Sopenharmony_ci        after the specified period.
120462306a36Sopenharmony_ci
120562306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD (integer)``
120662306a36Sopenharmony_ci    Intra macroblock refresh period. This sets the period to refresh
120762306a36Sopenharmony_ci    the whole frame. In other words, this defines the number of frames
120862306a36Sopenharmony_ci    for which the whole frame will be intra-refreshed.  An example:
120962306a36Sopenharmony_ci    setting period to 1 means that the whole frame will be refreshed,
121062306a36Sopenharmony_ci    setting period to 2 means that the half of macroblocks will be
121162306a36Sopenharmony_ci    intra-refreshed on frameX and the other half of macroblocks
121262306a36Sopenharmony_ci    will be refreshed in frameX + 1 and so on. Setting the period to
121362306a36Sopenharmony_ci    zero means no period is specified.
121462306a36Sopenharmony_ci    Note that if the client sets this control to non zero value the
121562306a36Sopenharmony_ci    ``V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB`` control shall be
121662306a36Sopenharmony_ci    ignored. Applicable to H264 and HEVC encoders.
121762306a36Sopenharmony_ci
121862306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE (boolean)``
121962306a36Sopenharmony_ci    Frame level rate control enable. If this control is disabled then
122062306a36Sopenharmony_ci    the quantization parameter for each frame type is constant and set
122162306a36Sopenharmony_ci    with appropriate controls (e.g.
122262306a36Sopenharmony_ci    ``V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP``). If frame rate control is
122362306a36Sopenharmony_ci    enabled then quantization parameter is adjusted to meet the chosen
122462306a36Sopenharmony_ci    bitrate. Minimum and maximum value for the quantization parameter
122562306a36Sopenharmony_ci    can be set with appropriate controls (e.g.
122662306a36Sopenharmony_ci    ``V4L2_CID_MPEG_VIDEO_H263_MIN_QP``). Applicable to encoders.
122762306a36Sopenharmony_ci
122862306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE (boolean)``
122962306a36Sopenharmony_ci    Macroblock level rate control enable. Applicable to the MPEG4 and
123062306a36Sopenharmony_ci    H264 encoders.
123162306a36Sopenharmony_ci
123262306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MPEG4_QPEL (boolean)``
123362306a36Sopenharmony_ci    Quarter pixel motion estimation for MPEG4. Applicable to the MPEG4
123462306a36Sopenharmony_ci    encoder.
123562306a36Sopenharmony_ci
123662306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (integer)``
123762306a36Sopenharmony_ci    Quantization parameter for an I frame for H263. Valid range: from 1
123862306a36Sopenharmony_ci    to 31.
123962306a36Sopenharmony_ci
124062306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H263_MIN_QP (integer)``
124162306a36Sopenharmony_ci    Minimum quantization parameter for H263. Valid range: from 1 to 31.
124262306a36Sopenharmony_ci
124362306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H263_MAX_QP (integer)``
124462306a36Sopenharmony_ci    Maximum quantization parameter for H263. Valid range: from 1 to 31.
124562306a36Sopenharmony_ci
124662306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (integer)``
124762306a36Sopenharmony_ci    Quantization parameter for an P frame for H263. Valid range: from 1
124862306a36Sopenharmony_ci    to 31.
124962306a36Sopenharmony_ci
125062306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP (integer)``
125162306a36Sopenharmony_ci    Quantization parameter for an B frame for H263. Valid range: from 1
125262306a36Sopenharmony_ci    to 31.
125362306a36Sopenharmony_ci
125462306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP (integer)``
125562306a36Sopenharmony_ci    Quantization parameter for an I frame for H264. Valid range: from 0
125662306a36Sopenharmony_ci    to 51.
125762306a36Sopenharmony_ci
125862306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_MIN_QP (integer)``
125962306a36Sopenharmony_ci    Minimum quantization parameter for H264. Valid range: from 0 to 51.
126062306a36Sopenharmony_ci
126162306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_MAX_QP (integer)``
126262306a36Sopenharmony_ci    Maximum quantization parameter for H264. Valid range: from 0 to 51.
126362306a36Sopenharmony_ci
126462306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP (integer)``
126562306a36Sopenharmony_ci    Quantization parameter for an P frame for H264. Valid range: from 0
126662306a36Sopenharmony_ci    to 51.
126762306a36Sopenharmony_ci
126862306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP (integer)``
126962306a36Sopenharmony_ci    Quantization parameter for an B frame for H264. Valid range: from 0
127062306a36Sopenharmony_ci    to 51.
127162306a36Sopenharmony_ci
127262306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MIN_QP (integer)``
127362306a36Sopenharmony_ci    Minimum quantization parameter for the H264 I frame to limit I frame
127462306a36Sopenharmony_ci    quality to a range. Valid range: from 0 to 51. If
127562306a36Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_H264_MIN_QP is also set, the quantization parameter
127662306a36Sopenharmony_ci    should be chosen to meet both requirements.
127762306a36Sopenharmony_ci
127862306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MAX_QP (integer)``
127962306a36Sopenharmony_ci    Maximum quantization parameter for the H264 I frame to limit I frame
128062306a36Sopenharmony_ci    quality to a range. Valid range: from 0 to 51. If
128162306a36Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_H264_MAX_QP is also set, the quantization parameter
128262306a36Sopenharmony_ci    should be chosen to meet both requirements.
128362306a36Sopenharmony_ci
128462306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MIN_QP (integer)``
128562306a36Sopenharmony_ci    Minimum quantization parameter for the H264 P frame to limit P frame
128662306a36Sopenharmony_ci    quality to a range. Valid range: from 0 to 51. If
128762306a36Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_H264_MIN_QP is also set, the quantization parameter
128862306a36Sopenharmony_ci    should be chosen to meet both requirements.
128962306a36Sopenharmony_ci
129062306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MAX_QP (integer)``
129162306a36Sopenharmony_ci    Maximum quantization parameter for the H264 P frame to limit P frame
129262306a36Sopenharmony_ci    quality to a range. Valid range: from 0 to 51. If
129362306a36Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_H264_MAX_QP is also set, the quantization parameter
129462306a36Sopenharmony_ci    should be chosen to meet both requirements.
129562306a36Sopenharmony_ci
129662306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MIN_QP (integer)``
129762306a36Sopenharmony_ci    Minimum quantization parameter for the H264 B frame to limit B frame
129862306a36Sopenharmony_ci    quality to a range. Valid range: from 0 to 51. If
129962306a36Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_H264_MIN_QP is also set, the quantization parameter
130062306a36Sopenharmony_ci    should be chosen to meet both requirements.
130162306a36Sopenharmony_ci
130262306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_B_FRAME_MAX_QP (integer)``
130362306a36Sopenharmony_ci    Maximum quantization parameter for the H264 B frame to limit B frame
130462306a36Sopenharmony_ci    quality to a range. Valid range: from 0 to 51. If
130562306a36Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_H264_MAX_QP is also set, the quantization parameter
130662306a36Sopenharmony_ci    should be chosen to meet both requirements.
130762306a36Sopenharmony_ci
130862306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP (integer)``
130962306a36Sopenharmony_ci    Quantization parameter for an I frame for MPEG4. Valid range: from 1
131062306a36Sopenharmony_ci    to 31.
131162306a36Sopenharmony_ci
131262306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP (integer)``
131362306a36Sopenharmony_ci    Minimum quantization parameter for MPEG4. Valid range: from 1 to 31.
131462306a36Sopenharmony_ci
131562306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP (integer)``
131662306a36Sopenharmony_ci    Maximum quantization parameter for MPEG4. Valid range: from 1 to 31.
131762306a36Sopenharmony_ci
131862306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP (integer)``
131962306a36Sopenharmony_ci    Quantization parameter for an P frame for MPEG4. Valid range: from 1
132062306a36Sopenharmony_ci    to 31.
132162306a36Sopenharmony_ci
132262306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP (integer)``
132362306a36Sopenharmony_ci    Quantization parameter for an B frame for MPEG4. Valid range: from 1
132462306a36Sopenharmony_ci    to 31.
132562306a36Sopenharmony_ci
132662306a36Sopenharmony_ci.. _v4l2-mpeg-video-vbv-size:
132762306a36Sopenharmony_ci
132862306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VBV_SIZE (integer)``
132962306a36Sopenharmony_ci    The Video Buffer Verifier size in kilobytes, it is used as a
133062306a36Sopenharmony_ci    limitation of frame skip. The VBV is defined in the standard as a
133162306a36Sopenharmony_ci    mean to verify that the produced stream will be successfully
133262306a36Sopenharmony_ci    decoded. The standard describes it as "Part of a hypothetical
133362306a36Sopenharmony_ci    decoder that is conceptually connected to the output of the encoder.
133462306a36Sopenharmony_ci    Its purpose is to provide a constraint on the variability of the
133562306a36Sopenharmony_ci    data rate that an encoder or editing process may produce.".
133662306a36Sopenharmony_ci    Applicable to the MPEG1, MPEG2, MPEG4 encoders.
133762306a36Sopenharmony_ci
133862306a36Sopenharmony_ci.. _v4l2-mpeg-video-vbv-delay:
133962306a36Sopenharmony_ci
134062306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VBV_DELAY (integer)``
134162306a36Sopenharmony_ci    Sets the initial delay in milliseconds for VBV buffer control.
134262306a36Sopenharmony_ci
134362306a36Sopenharmony_ci.. _v4l2-mpeg-video-hor-search-range:
134462306a36Sopenharmony_ci
134562306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE (integer)``
134662306a36Sopenharmony_ci    Horizontal search range defines maximum horizontal search area in
134762306a36Sopenharmony_ci    pixels to search and match for the present Macroblock (MB) in the
134862306a36Sopenharmony_ci    reference picture. This V4L2 control macro is used to set horizontal
134962306a36Sopenharmony_ci    search range for motion estimation module in video encoder.
135062306a36Sopenharmony_ci
135162306a36Sopenharmony_ci.. _v4l2-mpeg-video-vert-search-range:
135262306a36Sopenharmony_ci
135362306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE (integer)``
135462306a36Sopenharmony_ci    Vertical search range defines maximum vertical search area in pixels
135562306a36Sopenharmony_ci    to search and match for the present Macroblock (MB) in the reference
135662306a36Sopenharmony_ci    picture. This V4L2 control macro is used to set vertical search
135762306a36Sopenharmony_ci    range for motion estimation module in video encoder.
135862306a36Sopenharmony_ci
135962306a36Sopenharmony_ci.. _v4l2-mpeg-video-force-key-frame:
136062306a36Sopenharmony_ci
136162306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME (button)``
136262306a36Sopenharmony_ci    Force a key frame for the next queued buffer. Applicable to
136362306a36Sopenharmony_ci    encoders. This is a general, codec-agnostic keyframe control.
136462306a36Sopenharmony_ci
136562306a36Sopenharmony_ci.. _v4l2-mpeg-video-h264-cpb-size:
136662306a36Sopenharmony_ci
136762306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE (integer)``
136862306a36Sopenharmony_ci    The Coded Picture Buffer size in kilobytes, it is used as a
136962306a36Sopenharmony_ci    limitation of frame skip. The CPB is defined in the H264 standard as
137062306a36Sopenharmony_ci    a mean to verify that the produced stream will be successfully
137162306a36Sopenharmony_ci    decoded. Applicable to the H264 encoder.
137262306a36Sopenharmony_ci
137362306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_I_PERIOD (integer)``
137462306a36Sopenharmony_ci    Period between I-frames in the open GOP for H264. In case of an open
137562306a36Sopenharmony_ci    GOP this is the period between two I-frames. The period between IDR
137662306a36Sopenharmony_ci    (Instantaneous Decoding Refresh) frames is taken from the GOP_SIZE
137762306a36Sopenharmony_ci    control. An IDR frame, which stands for Instantaneous Decoding
137862306a36Sopenharmony_ci    Refresh is an I-frame after which no prior frames are referenced.
137962306a36Sopenharmony_ci    This means that a stream can be restarted from an IDR frame without
138062306a36Sopenharmony_ci    the need to store or decode any previous frames. Applicable to the
138162306a36Sopenharmony_ci    H264 encoder.
138262306a36Sopenharmony_ci
138362306a36Sopenharmony_ci.. _v4l2-mpeg-video-header-mode:
138462306a36Sopenharmony_ci
138562306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEADER_MODE``
138662306a36Sopenharmony_ci    (enum)
138762306a36Sopenharmony_ci
138862306a36Sopenharmony_cienum v4l2_mpeg_video_header_mode -
138962306a36Sopenharmony_ci    Determines whether the header is returned as the first buffer or is
139062306a36Sopenharmony_ci    it returned together with the first frame. Applicable to encoders.
139162306a36Sopenharmony_ci    Possible values are:
139262306a36Sopenharmony_ci
139362306a36Sopenharmony_ci.. raw:: latex
139462306a36Sopenharmony_ci
139562306a36Sopenharmony_ci    \small
139662306a36Sopenharmony_ci
139762306a36Sopenharmony_ci.. tabularcolumns:: |p{10.3cm}|p{7.2cm}|
139862306a36Sopenharmony_ci
139962306a36Sopenharmony_ci.. flat-table::
140062306a36Sopenharmony_ci    :header-rows:  0
140162306a36Sopenharmony_ci    :stub-columns: 0
140262306a36Sopenharmony_ci
140362306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE``
140462306a36Sopenharmony_ci      - The stream header is returned separately in the first buffer.
140562306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME``
140662306a36Sopenharmony_ci      - The stream header is returned together with the first encoded
140762306a36Sopenharmony_ci	frame.
140862306a36Sopenharmony_ci
140962306a36Sopenharmony_ci.. raw:: latex
141062306a36Sopenharmony_ci
141162306a36Sopenharmony_ci    \normalsize
141262306a36Sopenharmony_ci
141362306a36Sopenharmony_ci
141462306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER (boolean)``
141562306a36Sopenharmony_ci    Repeat the video sequence headers. Repeating these headers makes
141662306a36Sopenharmony_ci    random access to the video stream easier. Applicable to the MPEG1, 2
141762306a36Sopenharmony_ci    and 4 encoder.
141862306a36Sopenharmony_ci
141962306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER (boolean)``
142062306a36Sopenharmony_ci    Enabled the deblocking post processing filter for MPEG4 decoder.
142162306a36Sopenharmony_ci    Applicable to the MPEG4 decoder.
142262306a36Sopenharmony_ci
142362306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MPEG4_VOP_TIME_RES (integer)``
142462306a36Sopenharmony_ci    vop_time_increment_resolution value for MPEG4. Applicable to the
142562306a36Sopenharmony_ci    MPEG4 encoder.
142662306a36Sopenharmony_ci
142762306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_MPEG4_VOP_TIME_INC (integer)``
142862306a36Sopenharmony_ci    vop_time_increment value for MPEG4. Applicable to the MPEG4
142962306a36Sopenharmony_ci    encoder.
143062306a36Sopenharmony_ci
143162306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING (boolean)``
143262306a36Sopenharmony_ci    Enable generation of frame packing supplemental enhancement
143362306a36Sopenharmony_ci    information in the encoded bitstream. The frame packing SEI message
143462306a36Sopenharmony_ci    contains the arrangement of L and R planes for 3D viewing.
143562306a36Sopenharmony_ci    Applicable to the H264 encoder.
143662306a36Sopenharmony_ci
143762306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0 (boolean)``
143862306a36Sopenharmony_ci    Sets current frame as frame0 in frame packing SEI. Applicable to the
143962306a36Sopenharmony_ci    H264 encoder.
144062306a36Sopenharmony_ci
144162306a36Sopenharmony_ci.. _v4l2-mpeg-video-h264-sei-fp-arrangement-type:
144262306a36Sopenharmony_ci
144362306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE``
144462306a36Sopenharmony_ci    (enum)
144562306a36Sopenharmony_ci
144662306a36Sopenharmony_cienum v4l2_mpeg_video_h264_sei_fp_arrangement_type -
144762306a36Sopenharmony_ci    Frame packing arrangement type for H264 SEI. Applicable to the H264
144862306a36Sopenharmony_ci    encoder. Possible values are:
144962306a36Sopenharmony_ci
145062306a36Sopenharmony_ci.. raw:: latex
145162306a36Sopenharmony_ci
145262306a36Sopenharmony_ci    \small
145362306a36Sopenharmony_ci
145462306a36Sopenharmony_ci.. tabularcolumns:: |p{12cm}|p{5.5cm}|
145562306a36Sopenharmony_ci
145662306a36Sopenharmony_ci.. flat-table::
145762306a36Sopenharmony_ci    :header-rows:  0
145862306a36Sopenharmony_ci    :stub-columns: 0
145962306a36Sopenharmony_ci
146062306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_CHEKERBOARD``
146162306a36Sopenharmony_ci      - Pixels are alternatively from L and R.
146262306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_COLUMN``
146362306a36Sopenharmony_ci      - L and R are interlaced by column.
146462306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_ROW``
146562306a36Sopenharmony_ci      - L and R are interlaced by row.
146662306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_SIDE_BY_SIDE``
146762306a36Sopenharmony_ci      - L is on the left, R on the right.
146862306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TOP_BOTTOM``
146962306a36Sopenharmony_ci      - L is on top, R on bottom.
147062306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TEMPORAL``
147162306a36Sopenharmony_ci      - One view per frame.
147262306a36Sopenharmony_ci
147362306a36Sopenharmony_ci.. raw:: latex
147462306a36Sopenharmony_ci
147562306a36Sopenharmony_ci    \normalsize
147662306a36Sopenharmony_ci
147762306a36Sopenharmony_ci
147862306a36Sopenharmony_ci
147962306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_FMO (boolean)``
148062306a36Sopenharmony_ci    Enables flexible macroblock ordering in the encoded bitstream. It is
148162306a36Sopenharmony_ci    a technique used for restructuring the ordering of macroblocks in
148262306a36Sopenharmony_ci    pictures. Applicable to the H264 encoder.
148362306a36Sopenharmony_ci
148462306a36Sopenharmony_ci.. _v4l2-mpeg-video-h264-fmo-map-type:
148562306a36Sopenharmony_ci
148662306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE``
148762306a36Sopenharmony_ci   (enum)
148862306a36Sopenharmony_ci
148962306a36Sopenharmony_cienum v4l2_mpeg_video_h264_fmo_map_type -
149062306a36Sopenharmony_ci    When using FMO, the map type divides the image in different scan
149162306a36Sopenharmony_ci    patterns of macroblocks. Applicable to the H264 encoder. Possible
149262306a36Sopenharmony_ci    values are:
149362306a36Sopenharmony_ci
149462306a36Sopenharmony_ci.. raw:: latex
149562306a36Sopenharmony_ci
149662306a36Sopenharmony_ci    \small
149762306a36Sopenharmony_ci
149862306a36Sopenharmony_ci.. tabularcolumns:: |p{12.5cm}|p{5.0cm}|
149962306a36Sopenharmony_ci
150062306a36Sopenharmony_ci.. flat-table::
150162306a36Sopenharmony_ci    :header-rows:  0
150262306a36Sopenharmony_ci    :stub-columns: 0
150362306a36Sopenharmony_ci
150462306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_INTERLEAVED_SLICES``
150562306a36Sopenharmony_ci      - Slices are interleaved one after other with macroblocks in run
150662306a36Sopenharmony_ci	length order.
150762306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_SCATTERED_SLICES``
150862306a36Sopenharmony_ci      - Scatters the macroblocks based on a mathematical function known to
150962306a36Sopenharmony_ci	both encoder and decoder.
151062306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_FOREGROUND_WITH_LEFT_OVER``
151162306a36Sopenharmony_ci      - Macroblocks arranged in rectangular areas or regions of interest.
151262306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_BOX_OUT``
151362306a36Sopenharmony_ci      - Slice groups grow in a cyclic way from centre to outwards.
151462306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_RASTER_SCAN``
151562306a36Sopenharmony_ci      - Slice groups grow in raster scan pattern from left to right.
151662306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_WIPE_SCAN``
151762306a36Sopenharmony_ci      - Slice groups grow in wipe scan pattern from top to bottom.
151862306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_EXPLICIT``
151962306a36Sopenharmony_ci      - User defined map type.
152062306a36Sopenharmony_ci
152162306a36Sopenharmony_ci.. raw:: latex
152262306a36Sopenharmony_ci
152362306a36Sopenharmony_ci    \normalsize
152462306a36Sopenharmony_ci
152562306a36Sopenharmony_ci
152662306a36Sopenharmony_ci
152762306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP (integer)``
152862306a36Sopenharmony_ci    Number of slice groups in FMO. Applicable to the H264 encoder.
152962306a36Sopenharmony_ci
153062306a36Sopenharmony_ci.. _v4l2-mpeg-video-h264-fmo-change-direction:
153162306a36Sopenharmony_ci
153262306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION``
153362306a36Sopenharmony_ci    (enum)
153462306a36Sopenharmony_ci
153562306a36Sopenharmony_cienum v4l2_mpeg_video_h264_fmo_change_dir -
153662306a36Sopenharmony_ci    Specifies a direction of the slice group change for raster and wipe
153762306a36Sopenharmony_ci    maps. Applicable to the H264 encoder. Possible values are:
153862306a36Sopenharmony_ci
153962306a36Sopenharmony_ci.. tabularcolumns:: |p{9.6cm}|p{7.9cm}|
154062306a36Sopenharmony_ci
154162306a36Sopenharmony_ci.. flat-table::
154262306a36Sopenharmony_ci    :header-rows:  0
154362306a36Sopenharmony_ci    :stub-columns: 0
154462306a36Sopenharmony_ci
154562306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_RIGHT``
154662306a36Sopenharmony_ci      - Raster scan or wipe right.
154762306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT``
154862306a36Sopenharmony_ci      - Reverse raster scan or wipe left.
154962306a36Sopenharmony_ci
155062306a36Sopenharmony_ci
155162306a36Sopenharmony_ci
155262306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE (integer)``
155362306a36Sopenharmony_ci    Specifies the size of the first slice group for raster and wipe map.
155462306a36Sopenharmony_ci    Applicable to the H264 encoder.
155562306a36Sopenharmony_ci
155662306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH (integer)``
155762306a36Sopenharmony_ci    Specifies the number of consecutive macroblocks for the interleaved
155862306a36Sopenharmony_ci    map. Applicable to the H264 encoder.
155962306a36Sopenharmony_ci
156062306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_ASO (boolean)``
156162306a36Sopenharmony_ci    Enables arbitrary slice ordering in encoded bitstream. Applicable to
156262306a36Sopenharmony_ci    the H264 encoder.
156362306a36Sopenharmony_ci
156462306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER (integer)``
156562306a36Sopenharmony_ci    Specifies the slice order in ASO. Applicable to the H264 encoder.
156662306a36Sopenharmony_ci    The supplied 32-bit integer is interpreted as follows (bit 0 = least
156762306a36Sopenharmony_ci    significant bit):
156862306a36Sopenharmony_ci
156962306a36Sopenharmony_ci
157062306a36Sopenharmony_ci
157162306a36Sopenharmony_ci.. flat-table::
157262306a36Sopenharmony_ci    :header-rows:  0
157362306a36Sopenharmony_ci    :stub-columns: 0
157462306a36Sopenharmony_ci
157562306a36Sopenharmony_ci    * - Bit 0:15
157662306a36Sopenharmony_ci      - Slice ID
157762306a36Sopenharmony_ci    * - Bit 16:32
157862306a36Sopenharmony_ci      - Slice position or order
157962306a36Sopenharmony_ci
158062306a36Sopenharmony_ci
158162306a36Sopenharmony_ci
158262306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING (boolean)``
158362306a36Sopenharmony_ci    Enables H264 hierarchical coding. Applicable to the H264 encoder.
158462306a36Sopenharmony_ci
158562306a36Sopenharmony_ci.. _v4l2-mpeg-video-h264-hierarchical-coding-type:
158662306a36Sopenharmony_ci
158762306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE``
158862306a36Sopenharmony_ci    (enum)
158962306a36Sopenharmony_ci
159062306a36Sopenharmony_cienum v4l2_mpeg_video_h264_hierarchical_coding_type -
159162306a36Sopenharmony_ci    Specifies the hierarchical coding type. Applicable to the H264
159262306a36Sopenharmony_ci    encoder. Possible values are:
159362306a36Sopenharmony_ci
159462306a36Sopenharmony_ci
159562306a36Sopenharmony_ci
159662306a36Sopenharmony_ci.. flat-table::
159762306a36Sopenharmony_ci    :header-rows:  0
159862306a36Sopenharmony_ci    :stub-columns: 0
159962306a36Sopenharmony_ci
160062306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B``
160162306a36Sopenharmony_ci      - Hierarchical B coding.
160262306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P``
160362306a36Sopenharmony_ci      - Hierarchical P coding.
160462306a36Sopenharmony_ci
160562306a36Sopenharmony_ci
160662306a36Sopenharmony_ci
160762306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER (integer)``
160862306a36Sopenharmony_ci    Specifies the number of hierarchical coding layers. Applicable to
160962306a36Sopenharmony_ci    the H264 encoder.
161062306a36Sopenharmony_ci
161162306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP (integer)``
161262306a36Sopenharmony_ci    Specifies a user defined QP for each layer. Applicable to the H264
161362306a36Sopenharmony_ci    encoder. The supplied 32-bit integer is interpreted as follows (bit
161462306a36Sopenharmony_ci    0 = least significant bit):
161562306a36Sopenharmony_ci
161662306a36Sopenharmony_ci
161762306a36Sopenharmony_ci
161862306a36Sopenharmony_ci.. flat-table::
161962306a36Sopenharmony_ci    :header-rows:  0
162062306a36Sopenharmony_ci    :stub-columns: 0
162162306a36Sopenharmony_ci
162262306a36Sopenharmony_ci    * - Bit 0:15
162362306a36Sopenharmony_ci      - QP value
162462306a36Sopenharmony_ci    * - Bit 16:32
162562306a36Sopenharmony_ci      - Layer number
162662306a36Sopenharmony_ci
162762306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L0_BR (integer)``
162862306a36Sopenharmony_ci    Indicates bit rate (bps) for hierarchical coding layer 0 for H264 encoder.
162962306a36Sopenharmony_ci
163062306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L1_BR (integer)``
163162306a36Sopenharmony_ci    Indicates bit rate (bps) for hierarchical coding layer 1 for H264 encoder.
163262306a36Sopenharmony_ci
163362306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L2_BR (integer)``
163462306a36Sopenharmony_ci    Indicates bit rate (bps) for hierarchical coding layer 2 for H264 encoder.
163562306a36Sopenharmony_ci
163662306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L3_BR (integer)``
163762306a36Sopenharmony_ci    Indicates bit rate (bps) for hierarchical coding layer 3 for H264 encoder.
163862306a36Sopenharmony_ci
163962306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L4_BR (integer)``
164062306a36Sopenharmony_ci    Indicates bit rate (bps) for hierarchical coding layer 4 for H264 encoder.
164162306a36Sopenharmony_ci
164262306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L5_BR (integer)``
164362306a36Sopenharmony_ci    Indicates bit rate (bps) for hierarchical coding layer 5 for H264 encoder.
164462306a36Sopenharmony_ci
164562306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_H264_HIER_CODING_L6_BR (integer)``
164662306a36Sopenharmony_ci    Indicates bit rate (bps) for hierarchical coding layer 6 for H264 encoder.
164762306a36Sopenharmony_ci
164862306a36Sopenharmony_ci``V4L2_CID_FWHT_I_FRAME_QP (integer)``
164962306a36Sopenharmony_ci    Quantization parameter for an I frame for FWHT. Valid range: from 1
165062306a36Sopenharmony_ci    to 31.
165162306a36Sopenharmony_ci
165262306a36Sopenharmony_ci``V4L2_CID_FWHT_P_FRAME_QP (integer)``
165362306a36Sopenharmony_ci    Quantization parameter for a P frame for FWHT. Valid range: from 1
165462306a36Sopenharmony_ci    to 31.
165562306a36Sopenharmony_ci
165662306a36Sopenharmony_ci.. raw:: latex
165762306a36Sopenharmony_ci
165862306a36Sopenharmony_ci    \normalsize
165962306a36Sopenharmony_ci
166062306a36Sopenharmony_ci
166162306a36Sopenharmony_ciMFC 5.1 MPEG Controls
166262306a36Sopenharmony_ci=====================
166362306a36Sopenharmony_ci
166462306a36Sopenharmony_ciThe following MPEG class controls deal with MPEG decoding and encoding
166562306a36Sopenharmony_cisettings that are specific to the Multi Format Codec 5.1 device present
166662306a36Sopenharmony_ciin the S5P family of SoCs by Samsung.
166762306a36Sopenharmony_ci
166862306a36Sopenharmony_ci
166962306a36Sopenharmony_ci.. _mfc51-control-id:
167062306a36Sopenharmony_ci
167162306a36Sopenharmony_ciMFC 5.1 Control IDs
167262306a36Sopenharmony_ci-------------------
167362306a36Sopenharmony_ci
167462306a36Sopenharmony_ci``V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE (boolean)``
167562306a36Sopenharmony_ci    If the display delay is enabled then the decoder is forced to return
167662306a36Sopenharmony_ci    a CAPTURE buffer (decoded frame) after processing a certain number
167762306a36Sopenharmony_ci    of OUTPUT buffers. The delay can be set through
167862306a36Sopenharmony_ci    ``V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY``. This
167962306a36Sopenharmony_ci    feature can be used for example for generating thumbnails of videos.
168062306a36Sopenharmony_ci    Applicable to the H264 decoder.
168162306a36Sopenharmony_ci
168262306a36Sopenharmony_ci    .. note::
168362306a36Sopenharmony_ci
168462306a36Sopenharmony_ci       This control is deprecated. Use the standard
168562306a36Sopenharmony_ci       ``V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY_ENABLE`` control instead.
168662306a36Sopenharmony_ci
168762306a36Sopenharmony_ci``V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY (integer)``
168862306a36Sopenharmony_ci    Display delay value for H264 decoder. The decoder is forced to
168962306a36Sopenharmony_ci    return a decoded frame after the set 'display delay' number of
169062306a36Sopenharmony_ci    frames. If this number is low it may result in frames returned out
169162306a36Sopenharmony_ci    of display order, in addition the hardware may still be using the
169262306a36Sopenharmony_ci    returned buffer as a reference picture for subsequent frames.
169362306a36Sopenharmony_ci
169462306a36Sopenharmony_ci    .. note::
169562306a36Sopenharmony_ci
169662306a36Sopenharmony_ci       This control is deprecated. Use the standard
169762306a36Sopenharmony_ci       ``V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY`` control instead.
169862306a36Sopenharmony_ci
169962306a36Sopenharmony_ci``V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P (integer)``
170062306a36Sopenharmony_ci    The number of reference pictures used for encoding a P picture.
170162306a36Sopenharmony_ci    Applicable to the H264 encoder.
170262306a36Sopenharmony_ci
170362306a36Sopenharmony_ci``V4L2_CID_MPEG_MFC51_VIDEO_PADDING (boolean)``
170462306a36Sopenharmony_ci    Padding enable in the encoder - use a color instead of repeating
170562306a36Sopenharmony_ci    border pixels. Applicable to encoders.
170662306a36Sopenharmony_ci
170762306a36Sopenharmony_ci``V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV (integer)``
170862306a36Sopenharmony_ci    Padding color in the encoder. Applicable to encoders. The supplied
170962306a36Sopenharmony_ci    32-bit integer is interpreted as follows (bit 0 = least significant
171062306a36Sopenharmony_ci    bit):
171162306a36Sopenharmony_ci
171262306a36Sopenharmony_ci
171362306a36Sopenharmony_ci
171462306a36Sopenharmony_ci.. flat-table::
171562306a36Sopenharmony_ci    :header-rows:  0
171662306a36Sopenharmony_ci    :stub-columns: 0
171762306a36Sopenharmony_ci
171862306a36Sopenharmony_ci    * - Bit 0:7
171962306a36Sopenharmony_ci      - V chrominance information
172062306a36Sopenharmony_ci    * - Bit 8:15
172162306a36Sopenharmony_ci      - U chrominance information
172262306a36Sopenharmony_ci    * - Bit 16:23
172362306a36Sopenharmony_ci      - Y luminance information
172462306a36Sopenharmony_ci    * - Bit 24:31
172562306a36Sopenharmony_ci      - Must be zero.
172662306a36Sopenharmony_ci
172762306a36Sopenharmony_ci
172862306a36Sopenharmony_ci
172962306a36Sopenharmony_ci``V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF (integer)``
173062306a36Sopenharmony_ci    Reaction coefficient for MFC rate control. Applicable to encoders.
173162306a36Sopenharmony_ci
173262306a36Sopenharmony_ci    .. note::
173362306a36Sopenharmony_ci
173462306a36Sopenharmony_ci       #. Valid only when the frame level RC is enabled.
173562306a36Sopenharmony_ci
173662306a36Sopenharmony_ci       #. For tight CBR, this field must be small (ex. 2 ~ 10). For
173762306a36Sopenharmony_ci	  VBR, this field must be large (ex. 100 ~ 1000).
173862306a36Sopenharmony_ci
173962306a36Sopenharmony_ci       #. It is not recommended to use the greater number than
174062306a36Sopenharmony_ci	  FRAME_RATE * (10^9 / BIT_RATE).
174162306a36Sopenharmony_ci
174262306a36Sopenharmony_ci``V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK (boolean)``
174362306a36Sopenharmony_ci    Adaptive rate control for dark region. Valid only when H.264 and
174462306a36Sopenharmony_ci    macroblock level RC is enabled
174562306a36Sopenharmony_ci    (``V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE``). Applicable to the H264
174662306a36Sopenharmony_ci    encoder.
174762306a36Sopenharmony_ci
174862306a36Sopenharmony_ci``V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH (boolean)``
174962306a36Sopenharmony_ci    Adaptive rate control for smooth region. Valid only when H.264 and
175062306a36Sopenharmony_ci    macroblock level RC is enabled
175162306a36Sopenharmony_ci    (``V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE``). Applicable to the H264
175262306a36Sopenharmony_ci    encoder.
175362306a36Sopenharmony_ci
175462306a36Sopenharmony_ci``V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC (boolean)``
175562306a36Sopenharmony_ci    Adaptive rate control for static region. Valid only when H.264 and
175662306a36Sopenharmony_ci    macroblock level RC is enabled
175762306a36Sopenharmony_ci    (``V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE``). Applicable to the H264
175862306a36Sopenharmony_ci    encoder.
175962306a36Sopenharmony_ci
176062306a36Sopenharmony_ci``V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY (boolean)``
176162306a36Sopenharmony_ci    Adaptive rate control for activity region. Valid only when H.264 and
176262306a36Sopenharmony_ci    macroblock level RC is enabled
176362306a36Sopenharmony_ci    (``V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE``). Applicable to the H264
176462306a36Sopenharmony_ci    encoder.
176562306a36Sopenharmony_ci
176662306a36Sopenharmony_ci.. _v4l2-mpeg-mfc51-video-frame-skip-mode:
176762306a36Sopenharmony_ci
176862306a36Sopenharmony_ci``V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE``
176962306a36Sopenharmony_ci    (enum)
177062306a36Sopenharmony_ci
177162306a36Sopenharmony_ci    .. note::
177262306a36Sopenharmony_ci
177362306a36Sopenharmony_ci       This control is deprecated. Use the standard
177462306a36Sopenharmony_ci       ``V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE`` control instead.
177562306a36Sopenharmony_ci
177662306a36Sopenharmony_cienum v4l2_mpeg_mfc51_video_frame_skip_mode -
177762306a36Sopenharmony_ci    Indicates in what conditions the encoder should skip frames. If
177862306a36Sopenharmony_ci    encoding a frame would cause the encoded stream to be larger then a
177962306a36Sopenharmony_ci    chosen data limit then the frame will be skipped. Possible values
178062306a36Sopenharmony_ci    are:
178162306a36Sopenharmony_ci
178262306a36Sopenharmony_ci
178362306a36Sopenharmony_ci.. tabularcolumns:: |p{9.4cm}|p{8.1cm}|
178462306a36Sopenharmony_ci
178562306a36Sopenharmony_ci.. raw:: latex
178662306a36Sopenharmony_ci
178762306a36Sopenharmony_ci    \small
178862306a36Sopenharmony_ci
178962306a36Sopenharmony_ci.. flat-table::
179062306a36Sopenharmony_ci    :header-rows:  0
179162306a36Sopenharmony_ci    :stub-columns: 0
179262306a36Sopenharmony_ci
179362306a36Sopenharmony_ci    * - ``V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_DISABLED``
179462306a36Sopenharmony_ci      - Frame skip mode is disabled.
179562306a36Sopenharmony_ci    * - ``V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT``
179662306a36Sopenharmony_ci      - Frame skip mode enabled and buffer limit is set by the chosen
179762306a36Sopenharmony_ci	level and is defined by the standard.
179862306a36Sopenharmony_ci    * - ``V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT``
179962306a36Sopenharmony_ci      - Frame skip mode enabled and buffer limit is set by the VBV
180062306a36Sopenharmony_ci	(MPEG1/2/4) or CPB (H264) buffer size control.
180162306a36Sopenharmony_ci
180262306a36Sopenharmony_ci.. raw:: latex
180362306a36Sopenharmony_ci
180462306a36Sopenharmony_ci    \normalsize
180562306a36Sopenharmony_ci
180662306a36Sopenharmony_ci``V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT (integer)``
180762306a36Sopenharmony_ci    Enable rate-control with fixed target bit. If this setting is
180862306a36Sopenharmony_ci    enabled, then the rate control logic of the encoder will calculate
180962306a36Sopenharmony_ci    the average bitrate for a GOP and keep it below or equal the set
181062306a36Sopenharmony_ci    bitrate target. Otherwise the rate control logic calculates the
181162306a36Sopenharmony_ci    overall average bitrate for the stream and keeps it below or equal
181262306a36Sopenharmony_ci    to the set bitrate. In the first case the average bitrate for the
181362306a36Sopenharmony_ci    whole stream will be smaller then the set bitrate. This is caused
181462306a36Sopenharmony_ci    because the average is calculated for smaller number of frames, on
181562306a36Sopenharmony_ci    the other hand enabling this setting will ensure that the stream
181662306a36Sopenharmony_ci    will meet tight bandwidth constraints. Applicable to encoders.
181762306a36Sopenharmony_ci
181862306a36Sopenharmony_ci.. _v4l2-mpeg-mfc51-video-force-frame-type:
181962306a36Sopenharmony_ci
182062306a36Sopenharmony_ci``V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE``
182162306a36Sopenharmony_ci    (enum)
182262306a36Sopenharmony_ci
182362306a36Sopenharmony_cienum v4l2_mpeg_mfc51_video_force_frame_type -
182462306a36Sopenharmony_ci    Force a frame type for the next queued buffer. Applicable to
182562306a36Sopenharmony_ci    encoders. Possible values are:
182662306a36Sopenharmony_ci
182762306a36Sopenharmony_ci.. tabularcolumns:: |p{9.9cm}|p{7.6cm}|
182862306a36Sopenharmony_ci
182962306a36Sopenharmony_ci.. flat-table::
183062306a36Sopenharmony_ci    :header-rows:  0
183162306a36Sopenharmony_ci    :stub-columns: 0
183262306a36Sopenharmony_ci
183362306a36Sopenharmony_ci    * - ``V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_DISABLED``
183462306a36Sopenharmony_ci      - Forcing a specific frame type disabled.
183562306a36Sopenharmony_ci    * - ``V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_I_FRAME``
183662306a36Sopenharmony_ci      - Force an I-frame.
183762306a36Sopenharmony_ci    * - ``V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_NOT_CODED``
183862306a36Sopenharmony_ci      - Force a non-coded frame.
183962306a36Sopenharmony_ci
184062306a36Sopenharmony_ci
184162306a36Sopenharmony_ciCX2341x MPEG Controls
184262306a36Sopenharmony_ci=====================
184362306a36Sopenharmony_ci
184462306a36Sopenharmony_ciThe following MPEG class controls deal with MPEG encoding settings that
184562306a36Sopenharmony_ciare specific to the Conexant CX23415 and CX23416 MPEG encoding chips.
184662306a36Sopenharmony_ci
184762306a36Sopenharmony_ci
184862306a36Sopenharmony_ci.. _cx2341x-control-id:
184962306a36Sopenharmony_ci
185062306a36Sopenharmony_ciCX2341x Control IDs
185162306a36Sopenharmony_ci-------------------
185262306a36Sopenharmony_ci
185362306a36Sopenharmony_ci.. _v4l2-mpeg-cx2341x-video-spatial-filter-mode:
185462306a36Sopenharmony_ci
185562306a36Sopenharmony_ci``V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE``
185662306a36Sopenharmony_ci    (enum)
185762306a36Sopenharmony_ci
185862306a36Sopenharmony_cienum v4l2_mpeg_cx2341x_video_spatial_filter_mode -
185962306a36Sopenharmony_ci    Sets the Spatial Filter mode (default ``MANUAL``). Possible values
186062306a36Sopenharmony_ci    are:
186162306a36Sopenharmony_ci
186262306a36Sopenharmony_ci
186362306a36Sopenharmony_ci.. tabularcolumns:: |p{11.5cm}|p{6.0cm}|
186462306a36Sopenharmony_ci
186562306a36Sopenharmony_ci.. flat-table::
186662306a36Sopenharmony_ci    :header-rows:  0
186762306a36Sopenharmony_ci    :stub-columns: 0
186862306a36Sopenharmony_ci
186962306a36Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL``
187062306a36Sopenharmony_ci      - Choose the filter manually
187162306a36Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO``
187262306a36Sopenharmony_ci      - Choose the filter automatically
187362306a36Sopenharmony_ci
187462306a36Sopenharmony_ci
187562306a36Sopenharmony_ci
187662306a36Sopenharmony_ci``V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER (integer (0-15))``
187762306a36Sopenharmony_ci    The setting for the Spatial Filter. 0 = off, 15 = maximum. (Default
187862306a36Sopenharmony_ci    is 0.)
187962306a36Sopenharmony_ci
188062306a36Sopenharmony_ci.. _luma-spatial-filter-type:
188162306a36Sopenharmony_ci
188262306a36Sopenharmony_ci``V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE``
188362306a36Sopenharmony_ci    (enum)
188462306a36Sopenharmony_ci
188562306a36Sopenharmony_cienum v4l2_mpeg_cx2341x_video_luma_spatial_filter_type -
188662306a36Sopenharmony_ci    Select the algorithm to use for the Luma Spatial Filter (default
188762306a36Sopenharmony_ci    ``1D_HOR``). Possible values:
188862306a36Sopenharmony_ci
188962306a36Sopenharmony_ci.. tabularcolumns:: |p{13.1cm}|p{4.4cm}|
189062306a36Sopenharmony_ci
189162306a36Sopenharmony_ci.. raw:: latex
189262306a36Sopenharmony_ci
189362306a36Sopenharmony_ci    \footnotesize
189462306a36Sopenharmony_ci
189562306a36Sopenharmony_ci.. flat-table::
189662306a36Sopenharmony_ci    :header-rows:  0
189762306a36Sopenharmony_ci    :stub-columns: 0
189862306a36Sopenharmony_ci
189962306a36Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF``
190062306a36Sopenharmony_ci      - No filter
190162306a36Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR``
190262306a36Sopenharmony_ci      - One-dimensional horizontal
190362306a36Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT``
190462306a36Sopenharmony_ci      - One-dimensional vertical
190562306a36Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE``
190662306a36Sopenharmony_ci      - Two-dimensional separable
190762306a36Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE``
190862306a36Sopenharmony_ci      - Two-dimensional symmetrical non-separable
190962306a36Sopenharmony_ci
191062306a36Sopenharmony_ci.. raw:: latex
191162306a36Sopenharmony_ci
191262306a36Sopenharmony_ci    \normalsize
191362306a36Sopenharmony_ci
191462306a36Sopenharmony_ci.. _chroma-spatial-filter-type:
191562306a36Sopenharmony_ci
191662306a36Sopenharmony_ci``V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE``
191762306a36Sopenharmony_ci    (enum)
191862306a36Sopenharmony_ci
191962306a36Sopenharmony_cienum v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type -
192062306a36Sopenharmony_ci    Select the algorithm for the Chroma Spatial Filter (default
192162306a36Sopenharmony_ci    ``1D_HOR``). Possible values are:
192262306a36Sopenharmony_ci
192362306a36Sopenharmony_ci.. raw:: latex
192462306a36Sopenharmony_ci
192562306a36Sopenharmony_ci    \footnotesize
192662306a36Sopenharmony_ci
192762306a36Sopenharmony_ci.. tabularcolumns:: |p{11.0cm}|p{6.5cm}|
192862306a36Sopenharmony_ci
192962306a36Sopenharmony_ci.. flat-table::
193062306a36Sopenharmony_ci    :header-rows:  0
193162306a36Sopenharmony_ci    :stub-columns: 0
193262306a36Sopenharmony_ci
193362306a36Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF``
193462306a36Sopenharmony_ci      - No filter
193562306a36Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR``
193662306a36Sopenharmony_ci      - One-dimensional horizontal
193762306a36Sopenharmony_ci
193862306a36Sopenharmony_ci.. raw:: latex
193962306a36Sopenharmony_ci
194062306a36Sopenharmony_ci    \normalsize
194162306a36Sopenharmony_ci
194262306a36Sopenharmony_ci.. _v4l2-mpeg-cx2341x-video-temporal-filter-mode:
194362306a36Sopenharmony_ci
194462306a36Sopenharmony_ci``V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE``
194562306a36Sopenharmony_ci    (enum)
194662306a36Sopenharmony_ci
194762306a36Sopenharmony_cienum v4l2_mpeg_cx2341x_video_temporal_filter_mode -
194862306a36Sopenharmony_ci    Sets the Temporal Filter mode (default ``MANUAL``). Possible values
194962306a36Sopenharmony_ci    are:
195062306a36Sopenharmony_ci
195162306a36Sopenharmony_ci.. raw:: latex
195262306a36Sopenharmony_ci
195362306a36Sopenharmony_ci    \footnotesize
195462306a36Sopenharmony_ci
195562306a36Sopenharmony_ci.. flat-table::
195662306a36Sopenharmony_ci    :header-rows:  0
195762306a36Sopenharmony_ci    :stub-columns: 0
195862306a36Sopenharmony_ci
195962306a36Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL``
196062306a36Sopenharmony_ci      - Choose the filter manually
196162306a36Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO``
196262306a36Sopenharmony_ci      - Choose the filter automatically
196362306a36Sopenharmony_ci
196462306a36Sopenharmony_ci.. raw:: latex
196562306a36Sopenharmony_ci
196662306a36Sopenharmony_ci    \normalsize
196762306a36Sopenharmony_ci
196862306a36Sopenharmony_ci``V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER (integer (0-31))``
196962306a36Sopenharmony_ci    The setting for the Temporal Filter. 0 = off, 31 = maximum. (Default
197062306a36Sopenharmony_ci    is 8 for full-scale capturing and 0 for scaled capturing.)
197162306a36Sopenharmony_ci
197262306a36Sopenharmony_ci.. _v4l2-mpeg-cx2341x-video-median-filter-type:
197362306a36Sopenharmony_ci
197462306a36Sopenharmony_ci``V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE``
197562306a36Sopenharmony_ci    (enum)
197662306a36Sopenharmony_ci
197762306a36Sopenharmony_cienum v4l2_mpeg_cx2341x_video_median_filter_type -
197862306a36Sopenharmony_ci    Median Filter Type (default ``OFF``). Possible values are:
197962306a36Sopenharmony_ci
198062306a36Sopenharmony_ci
198162306a36Sopenharmony_ci.. raw:: latex
198262306a36Sopenharmony_ci
198362306a36Sopenharmony_ci    \small
198462306a36Sopenharmony_ci
198562306a36Sopenharmony_ci.. tabularcolumns:: |p{11.0cm}|p{6.5cm}|
198662306a36Sopenharmony_ci
198762306a36Sopenharmony_ci.. flat-table::
198862306a36Sopenharmony_ci    :header-rows:  0
198962306a36Sopenharmony_ci    :stub-columns: 0
199062306a36Sopenharmony_ci
199162306a36Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF``
199262306a36Sopenharmony_ci      - No filter
199362306a36Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR``
199462306a36Sopenharmony_ci      - Horizontal filter
199562306a36Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_VERT``
199662306a36Sopenharmony_ci      - Vertical filter
199762306a36Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT``
199862306a36Sopenharmony_ci      - Horizontal and vertical filter
199962306a36Sopenharmony_ci    * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG``
200062306a36Sopenharmony_ci      - Diagonal filter
200162306a36Sopenharmony_ci
200262306a36Sopenharmony_ci.. raw:: latex
200362306a36Sopenharmony_ci
200462306a36Sopenharmony_ci    \normalsize
200562306a36Sopenharmony_ci
200662306a36Sopenharmony_ci``V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM (integer (0-255))``
200762306a36Sopenharmony_ci    Threshold above which the luminance median filter is enabled
200862306a36Sopenharmony_ci    (default 0)
200962306a36Sopenharmony_ci
201062306a36Sopenharmony_ci``V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP (integer (0-255))``
201162306a36Sopenharmony_ci    Threshold below which the luminance median filter is enabled
201262306a36Sopenharmony_ci    (default 255)
201362306a36Sopenharmony_ci
201462306a36Sopenharmony_ci``V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM (integer (0-255))``
201562306a36Sopenharmony_ci    Threshold above which the chroma median filter is enabled (default
201662306a36Sopenharmony_ci    0)
201762306a36Sopenharmony_ci
201862306a36Sopenharmony_ci``V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP (integer (0-255))``
201962306a36Sopenharmony_ci    Threshold below which the chroma median filter is enabled (default
202062306a36Sopenharmony_ci    255)
202162306a36Sopenharmony_ci
202262306a36Sopenharmony_ci``V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS (boolean)``
202362306a36Sopenharmony_ci    The CX2341X MPEG encoder can insert one empty MPEG-2 PES packet into
202462306a36Sopenharmony_ci    the stream between every four video frames. The packet size is 2048
202562306a36Sopenharmony_ci    bytes, including the packet_start_code_prefix and stream_id
202662306a36Sopenharmony_ci    fields. The stream_id is 0xBF (private stream 2). The payload
202762306a36Sopenharmony_ci    consists of 0x00 bytes, to be filled in by the application. 0 = do
202862306a36Sopenharmony_ci    not insert, 1 = insert packets.
202962306a36Sopenharmony_ci
203062306a36Sopenharmony_ci
203162306a36Sopenharmony_ciVPX Control Reference
203262306a36Sopenharmony_ci=====================
203362306a36Sopenharmony_ci
203462306a36Sopenharmony_ciThe VPX controls include controls for encoding parameters of VPx video
203562306a36Sopenharmony_cicodec.
203662306a36Sopenharmony_ci
203762306a36Sopenharmony_ci
203862306a36Sopenharmony_ci.. _vpx-control-id:
203962306a36Sopenharmony_ci
204062306a36Sopenharmony_ciVPX Control IDs
204162306a36Sopenharmony_ci---------------
204262306a36Sopenharmony_ci
204362306a36Sopenharmony_ci.. _v4l2-vpx-num-partitions:
204462306a36Sopenharmony_ci
204562306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS``
204662306a36Sopenharmony_ci    (enum)
204762306a36Sopenharmony_ci
204862306a36Sopenharmony_cienum v4l2_vp8_num_partitions -
204962306a36Sopenharmony_ci    The number of token partitions to use in VP8 encoder. Possible
205062306a36Sopenharmony_ci    values are:
205162306a36Sopenharmony_ci
205262306a36Sopenharmony_ci
205362306a36Sopenharmony_ci
205462306a36Sopenharmony_ci.. flat-table::
205562306a36Sopenharmony_ci    :header-rows:  0
205662306a36Sopenharmony_ci    :stub-columns: 0
205762306a36Sopenharmony_ci
205862306a36Sopenharmony_ci    * - ``V4L2_CID_MPEG_VIDEO_VPX_1_PARTITION``
205962306a36Sopenharmony_ci      - 1 coefficient partition
206062306a36Sopenharmony_ci    * - ``V4L2_CID_MPEG_VIDEO_VPX_2_PARTITIONS``
206162306a36Sopenharmony_ci      - 2 coefficient partitions
206262306a36Sopenharmony_ci    * - ``V4L2_CID_MPEG_VIDEO_VPX_4_PARTITIONS``
206362306a36Sopenharmony_ci      - 4 coefficient partitions
206462306a36Sopenharmony_ci    * - ``V4L2_CID_MPEG_VIDEO_VPX_8_PARTITIONS``
206562306a36Sopenharmony_ci      - 8 coefficient partitions
206662306a36Sopenharmony_ci
206762306a36Sopenharmony_ci
206862306a36Sopenharmony_ci
206962306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4 (boolean)``
207062306a36Sopenharmony_ci    Setting this prevents intra 4x4 mode in the intra mode decision.
207162306a36Sopenharmony_ci
207262306a36Sopenharmony_ci.. _v4l2-vpx-num-ref-frames:
207362306a36Sopenharmony_ci
207462306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES``
207562306a36Sopenharmony_ci    (enum)
207662306a36Sopenharmony_ci
207762306a36Sopenharmony_cienum v4l2_vp8_num_ref_frames -
207862306a36Sopenharmony_ci    The number of reference pictures for encoding P frames. Possible
207962306a36Sopenharmony_ci    values are:
208062306a36Sopenharmony_ci
208162306a36Sopenharmony_ci.. tabularcolumns:: |p{7.5cm}|p{7.5cm}|
208262306a36Sopenharmony_ci
208362306a36Sopenharmony_ci.. raw:: latex
208462306a36Sopenharmony_ci
208562306a36Sopenharmony_ci    \small
208662306a36Sopenharmony_ci
208762306a36Sopenharmony_ci.. flat-table::
208862306a36Sopenharmony_ci    :header-rows:  0
208962306a36Sopenharmony_ci    :stub-columns: 0
209062306a36Sopenharmony_ci
209162306a36Sopenharmony_ci    * - ``V4L2_CID_MPEG_VIDEO_VPX_1_REF_FRAME``
209262306a36Sopenharmony_ci      - Last encoded frame will be searched
209362306a36Sopenharmony_ci    * - ``V4L2_CID_MPEG_VIDEO_VPX_2_REF_FRAME``
209462306a36Sopenharmony_ci      - Two frames will be searched among the last encoded frame, the
209562306a36Sopenharmony_ci	golden frame and the alternate reference (altref) frame. The
209662306a36Sopenharmony_ci	encoder implementation will decide which two are chosen.
209762306a36Sopenharmony_ci    * - ``V4L2_CID_MPEG_VIDEO_VPX_3_REF_FRAME``
209862306a36Sopenharmony_ci      - The last encoded frame, the golden frame and the altref frame will
209962306a36Sopenharmony_ci	be searched.
210062306a36Sopenharmony_ci
210162306a36Sopenharmony_ci.. raw:: latex
210262306a36Sopenharmony_ci
210362306a36Sopenharmony_ci    \normalsize
210462306a36Sopenharmony_ci
210562306a36Sopenharmony_ci
210662306a36Sopenharmony_ci
210762306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL (integer)``
210862306a36Sopenharmony_ci    Indicates the loop filter level. The adjustment of the loop filter
210962306a36Sopenharmony_ci    level is done via a delta value against a baseline loop filter
211062306a36Sopenharmony_ci    value.
211162306a36Sopenharmony_ci
211262306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS (integer)``
211362306a36Sopenharmony_ci    This parameter affects the loop filter. Anything above zero weakens
211462306a36Sopenharmony_ci    the deblocking effect on the loop filter.
211562306a36Sopenharmony_ci
211662306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD (integer)``
211762306a36Sopenharmony_ci    Sets the refresh period for the golden frame. The period is defined
211862306a36Sopenharmony_ci    in number of frames. For a value of 'n', every nth frame starting
211962306a36Sopenharmony_ci    from the first key frame will be taken as a golden frame. For eg.
212062306a36Sopenharmony_ci    for encoding sequence of 0, 1, 2, 3, 4, 5, 6, 7 where the golden
212162306a36Sopenharmony_ci    frame refresh period is set as 4, the frames 0, 4, 8 etc will be
212262306a36Sopenharmony_ci    taken as the golden frames as frame 0 is always a key frame.
212362306a36Sopenharmony_ci
212462306a36Sopenharmony_ci.. _v4l2-vpx-golden-frame-sel:
212562306a36Sopenharmony_ci
212662306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL``
212762306a36Sopenharmony_ci    (enum)
212862306a36Sopenharmony_ci
212962306a36Sopenharmony_cienum v4l2_vp8_golden_frame_sel -
213062306a36Sopenharmony_ci    Selects the golden frame for encoding. Possible values are:
213162306a36Sopenharmony_ci
213262306a36Sopenharmony_ci.. raw:: latex
213362306a36Sopenharmony_ci
213462306a36Sopenharmony_ci    \scriptsize
213562306a36Sopenharmony_ci
213662306a36Sopenharmony_ci.. tabularcolumns:: |p{8.6cm}|p{8.9cm}|
213762306a36Sopenharmony_ci
213862306a36Sopenharmony_ci.. flat-table::
213962306a36Sopenharmony_ci    :header-rows:  0
214062306a36Sopenharmony_ci    :stub-columns: 0
214162306a36Sopenharmony_ci
214262306a36Sopenharmony_ci    * - ``V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_PREV``
214362306a36Sopenharmony_ci      - Use the (n-2)th frame as a golden frame, current frame index being
214462306a36Sopenharmony_ci	'n'.
214562306a36Sopenharmony_ci    * - ``V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_REF_PERIOD``
214662306a36Sopenharmony_ci      - Use the previous specific frame indicated by
214762306a36Sopenharmony_ci	``V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD`` as a
214862306a36Sopenharmony_ci	golden frame.
214962306a36Sopenharmony_ci
215062306a36Sopenharmony_ci.. raw:: latex
215162306a36Sopenharmony_ci
215262306a36Sopenharmony_ci    \normalsize
215362306a36Sopenharmony_ci
215462306a36Sopenharmony_ci
215562306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VPX_MIN_QP (integer)``
215662306a36Sopenharmony_ci    Minimum quantization parameter for VP8.
215762306a36Sopenharmony_ci
215862306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VPX_MAX_QP (integer)``
215962306a36Sopenharmony_ci    Maximum quantization parameter for VP8.
216062306a36Sopenharmony_ci
216162306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP (integer)``
216262306a36Sopenharmony_ci    Quantization parameter for an I frame for VP8.
216362306a36Sopenharmony_ci
216462306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP (integer)``
216562306a36Sopenharmony_ci    Quantization parameter for a P frame for VP8.
216662306a36Sopenharmony_ci
216762306a36Sopenharmony_ci.. _v4l2-mpeg-video-vp8-profile:
216862306a36Sopenharmony_ci
216962306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VP8_PROFILE``
217062306a36Sopenharmony_ci    (enum)
217162306a36Sopenharmony_ci
217262306a36Sopenharmony_cienum v4l2_mpeg_video_vp8_profile -
217362306a36Sopenharmony_ci    This control allows selecting the profile for VP8 encoder.
217462306a36Sopenharmony_ci    This is also used to enumerate supported profiles by VP8 encoder or decoder.
217562306a36Sopenharmony_ci    Possible values are:
217662306a36Sopenharmony_ci
217762306a36Sopenharmony_ci.. flat-table::
217862306a36Sopenharmony_ci    :header-rows:  0
217962306a36Sopenharmony_ci    :stub-columns: 0
218062306a36Sopenharmony_ci
218162306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP8_PROFILE_0``
218262306a36Sopenharmony_ci      - Profile 0
218362306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP8_PROFILE_1``
218462306a36Sopenharmony_ci      - Profile 1
218562306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP8_PROFILE_2``
218662306a36Sopenharmony_ci      - Profile 2
218762306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP8_PROFILE_3``
218862306a36Sopenharmony_ci      - Profile 3
218962306a36Sopenharmony_ci
219062306a36Sopenharmony_ci.. _v4l2-mpeg-video-vp9-profile:
219162306a36Sopenharmony_ci
219262306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VP9_PROFILE``
219362306a36Sopenharmony_ci    (enum)
219462306a36Sopenharmony_ci
219562306a36Sopenharmony_cienum v4l2_mpeg_video_vp9_profile -
219662306a36Sopenharmony_ci    This control allows selecting the profile for VP9 encoder.
219762306a36Sopenharmony_ci    This is also used to enumerate supported profiles by VP9 encoder or decoder.
219862306a36Sopenharmony_ci    Possible values are:
219962306a36Sopenharmony_ci
220062306a36Sopenharmony_ci.. flat-table::
220162306a36Sopenharmony_ci    :header-rows:  0
220262306a36Sopenharmony_ci    :stub-columns: 0
220362306a36Sopenharmony_ci
220462306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_PROFILE_0``
220562306a36Sopenharmony_ci      - Profile 0
220662306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_PROFILE_1``
220762306a36Sopenharmony_ci      - Profile 1
220862306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_PROFILE_2``
220962306a36Sopenharmony_ci      - Profile 2
221062306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_PROFILE_3``
221162306a36Sopenharmony_ci      - Profile 3
221262306a36Sopenharmony_ci
221362306a36Sopenharmony_ci.. _v4l2-mpeg-video-vp9-level:
221462306a36Sopenharmony_ci
221562306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_VP9_LEVEL (enum)``
221662306a36Sopenharmony_ci
221762306a36Sopenharmony_cienum v4l2_mpeg_video_vp9_level -
221862306a36Sopenharmony_ci    This control allows selecting the level for VP9 encoder.
221962306a36Sopenharmony_ci    This is also used to enumerate supported levels by VP9 encoder or decoder.
222062306a36Sopenharmony_ci    More information can be found at
222162306a36Sopenharmony_ci    `webmproject <https://www.webmproject.org/vp9/levels/>`__. Possible values are:
222262306a36Sopenharmony_ci
222362306a36Sopenharmony_ci.. flat-table::
222462306a36Sopenharmony_ci    :header-rows:  0
222562306a36Sopenharmony_ci    :stub-columns: 0
222662306a36Sopenharmony_ci
222762306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_1_0``
222862306a36Sopenharmony_ci      - Level 1
222962306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_1_1``
223062306a36Sopenharmony_ci      - Level 1.1
223162306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_2_0``
223262306a36Sopenharmony_ci      - Level 2
223362306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_2_1``
223462306a36Sopenharmony_ci      - Level 2.1
223562306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_3_0``
223662306a36Sopenharmony_ci      - Level 3
223762306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_3_1``
223862306a36Sopenharmony_ci      - Level 3.1
223962306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_4_0``
224062306a36Sopenharmony_ci      - Level 4
224162306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_4_1``
224262306a36Sopenharmony_ci      - Level 4.1
224362306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_5_0``
224462306a36Sopenharmony_ci      - Level 5
224562306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_5_1``
224662306a36Sopenharmony_ci      - Level 5.1
224762306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_5_2``
224862306a36Sopenharmony_ci      - Level 5.2
224962306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_6_0``
225062306a36Sopenharmony_ci      - Level 6
225162306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_6_1``
225262306a36Sopenharmony_ci      - Level 6.1
225362306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_6_2``
225462306a36Sopenharmony_ci      - Level 6.2
225562306a36Sopenharmony_ci
225662306a36Sopenharmony_ci
225762306a36Sopenharmony_ciHigh Efficiency Video Coding (HEVC/H.265) Control Reference
225862306a36Sopenharmony_ci===========================================================
225962306a36Sopenharmony_ci
226062306a36Sopenharmony_ciThe HEVC/H.265 controls include controls for encoding parameters of HEVC/H.265
226162306a36Sopenharmony_civideo codec.
226262306a36Sopenharmony_ci
226362306a36Sopenharmony_ci
226462306a36Sopenharmony_ci.. _hevc-control-id:
226562306a36Sopenharmony_ci
226662306a36Sopenharmony_ciHEVC/H.265 Control IDs
226762306a36Sopenharmony_ci----------------------
226862306a36Sopenharmony_ci
226962306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP (integer)``
227062306a36Sopenharmony_ci    Minimum quantization parameter for HEVC.
227162306a36Sopenharmony_ci    Valid range: from 0 to 51 for 8 bit and from 0 to 63 for 10 bit.
227262306a36Sopenharmony_ci
227362306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP (integer)``
227462306a36Sopenharmony_ci    Maximum quantization parameter for HEVC.
227562306a36Sopenharmony_ci    Valid range: from 0 to 51 for 8 bit and from 0 to 63 for 10 bit.
227662306a36Sopenharmony_ci
227762306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP (integer)``
227862306a36Sopenharmony_ci    Quantization parameter for an I frame for HEVC.
227962306a36Sopenharmony_ci    Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
228062306a36Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
228162306a36Sopenharmony_ci
228262306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP (integer)``
228362306a36Sopenharmony_ci    Quantization parameter for a P frame for HEVC.
228462306a36Sopenharmony_ci    Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
228562306a36Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
228662306a36Sopenharmony_ci
228762306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP (integer)``
228862306a36Sopenharmony_ci    Quantization parameter for a B frame for HEVC.
228962306a36Sopenharmony_ci    Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
229062306a36Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
229162306a36Sopenharmony_ci
229262306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_MIN_QP (integer)``
229362306a36Sopenharmony_ci    Minimum quantization parameter for the HEVC I frame to limit I frame
229462306a36Sopenharmony_ci    quality to a range. Valid range: from 0 to 51 for 8 bit and from 0 to 63 for 10 bit.
229562306a36Sopenharmony_ci    If V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP is also set, the quantization parameter
229662306a36Sopenharmony_ci    should be chosen to meet both requirements.
229762306a36Sopenharmony_ci
229862306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_MAX_QP (integer)``
229962306a36Sopenharmony_ci    Maximum quantization parameter for the HEVC I frame to limit I frame
230062306a36Sopenharmony_ci    quality to a range. Valid range: from 0 to 51 for 8 bit and from 0 to 63 for 10 bit.
230162306a36Sopenharmony_ci    If V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP is also set, the quantization parameter
230262306a36Sopenharmony_ci    should be chosen to meet both requirements.
230362306a36Sopenharmony_ci
230462306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_MIN_QP (integer)``
230562306a36Sopenharmony_ci    Minimum quantization parameter for the HEVC P frame to limit P frame
230662306a36Sopenharmony_ci    quality to a range. Valid range: from 0 to 51 for 8 bit and from 0 to 63 for 10 bit.
230762306a36Sopenharmony_ci    If V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP is also set, the quantization parameter
230862306a36Sopenharmony_ci    should be chosen to meet both requirements.
230962306a36Sopenharmony_ci
231062306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_MAX_QP (integer)``
231162306a36Sopenharmony_ci    Maximum quantization parameter for the HEVC P frame to limit P frame
231262306a36Sopenharmony_ci    quality to a range. Valid range: from 0 to 51 for 8 bit and from 0 to 63 for 10 bit.
231362306a36Sopenharmony_ci    If V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP is also set, the quantization parameter
231462306a36Sopenharmony_ci    should be chosen to meet both requirements.
231562306a36Sopenharmony_ci
231662306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MIN_QP (integer)``
231762306a36Sopenharmony_ci    Minimum quantization parameter for the HEVC B frame to limit B frame
231862306a36Sopenharmony_ci    quality to a range. Valid range: from 0 to 51 for 8 bit and from 0 to 63 for 10 bit.
231962306a36Sopenharmony_ci    If V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP is also set, the quantization parameter
232062306a36Sopenharmony_ci    should be chosen to meet both requirements.
232162306a36Sopenharmony_ci
232262306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MAX_QP (integer)``
232362306a36Sopenharmony_ci    Maximum quantization parameter for the HEVC B frame to limit B frame
232462306a36Sopenharmony_ci    quality to a range. Valid range: from 0 to 51 for 8 bit and from 0 to 63 for 10 bit.
232562306a36Sopenharmony_ci    If V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP is also set, the quantization parameter
232662306a36Sopenharmony_ci    should be chosen to meet both requirements.
232762306a36Sopenharmony_ci
232862306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP (boolean)``
232962306a36Sopenharmony_ci    HIERARCHICAL_QP allows the host to specify the quantization parameter
233062306a36Sopenharmony_ci    values for each temporal layer through HIERARCHICAL_QP_LAYER. This is
233162306a36Sopenharmony_ci    valid only if HIERARCHICAL_CODING_LAYER is greater than 1. Setting the
233262306a36Sopenharmony_ci    control value to 1 enables setting of the QP values for the layers.
233362306a36Sopenharmony_ci
233462306a36Sopenharmony_ci.. _v4l2-hevc-hier-coding-type:
233562306a36Sopenharmony_ci
233662306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE``
233762306a36Sopenharmony_ci    (enum)
233862306a36Sopenharmony_ci
233962306a36Sopenharmony_cienum v4l2_mpeg_video_hevc_hier_coding_type -
234062306a36Sopenharmony_ci    Selects the hierarchical coding type for encoding. Possible values are:
234162306a36Sopenharmony_ci
234262306a36Sopenharmony_ci.. raw:: latex
234362306a36Sopenharmony_ci
234462306a36Sopenharmony_ci    \footnotesize
234562306a36Sopenharmony_ci
234662306a36Sopenharmony_ci.. tabularcolumns:: |p{8.2cm}|p{9.3cm}|
234762306a36Sopenharmony_ci
234862306a36Sopenharmony_ci.. flat-table::
234962306a36Sopenharmony_ci    :header-rows:  0
235062306a36Sopenharmony_ci    :stub-columns: 0
235162306a36Sopenharmony_ci
235262306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B``
235362306a36Sopenharmony_ci      - Use the B frame for hierarchical coding.
235462306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P``
235562306a36Sopenharmony_ci      - Use the P frame for hierarchical coding.
235662306a36Sopenharmony_ci
235762306a36Sopenharmony_ci.. raw:: latex
235862306a36Sopenharmony_ci
235962306a36Sopenharmony_ci    \normalsize
236062306a36Sopenharmony_ci
236162306a36Sopenharmony_ci
236262306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER (integer)``
236362306a36Sopenharmony_ci    Selects the hierarchical coding layer. In normal encoding
236462306a36Sopenharmony_ci    (non-hierarchial coding), it should be zero. Possible values are [0, 6].
236562306a36Sopenharmony_ci    0 indicates HIERARCHICAL CODING LAYER 0, 1 indicates HIERARCHICAL CODING
236662306a36Sopenharmony_ci    LAYER 1 and so on.
236762306a36Sopenharmony_ci
236862306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP (integer)``
236962306a36Sopenharmony_ci    Indicates quantization parameter for hierarchical coding layer 0.
237062306a36Sopenharmony_ci    Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
237162306a36Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
237262306a36Sopenharmony_ci
237362306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP (integer)``
237462306a36Sopenharmony_ci    Indicates quantization parameter for hierarchical coding layer 1.
237562306a36Sopenharmony_ci    Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
237662306a36Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
237762306a36Sopenharmony_ci
237862306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP (integer)``
237962306a36Sopenharmony_ci    Indicates quantization parameter for hierarchical coding layer 2.
238062306a36Sopenharmony_ci    Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
238162306a36Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
238262306a36Sopenharmony_ci
238362306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP (integer)``
238462306a36Sopenharmony_ci    Indicates quantization parameter for hierarchical coding layer 3.
238562306a36Sopenharmony_ci    Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
238662306a36Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
238762306a36Sopenharmony_ci
238862306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP (integer)``
238962306a36Sopenharmony_ci    Indicates quantization parameter for hierarchical coding layer 4.
239062306a36Sopenharmony_ci    Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
239162306a36Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
239262306a36Sopenharmony_ci
239362306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP (integer)``
239462306a36Sopenharmony_ci    Indicates quantization parameter for hierarchical coding layer 5.
239562306a36Sopenharmony_ci    Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
239662306a36Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
239762306a36Sopenharmony_ci
239862306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP (integer)``
239962306a36Sopenharmony_ci    Indicates quantization parameter for hierarchical coding layer 6.
240062306a36Sopenharmony_ci    Valid range: [V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
240162306a36Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP].
240262306a36Sopenharmony_ci
240362306a36Sopenharmony_ci.. _v4l2-hevc-profile:
240462306a36Sopenharmony_ci
240562306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_PROFILE``
240662306a36Sopenharmony_ci    (enum)
240762306a36Sopenharmony_ci
240862306a36Sopenharmony_cienum v4l2_mpeg_video_hevc_profile -
240962306a36Sopenharmony_ci    Select the desired profile for HEVC encoder.
241062306a36Sopenharmony_ci
241162306a36Sopenharmony_ci.. raw:: latex
241262306a36Sopenharmony_ci
241362306a36Sopenharmony_ci    \footnotesize
241462306a36Sopenharmony_ci
241562306a36Sopenharmony_ci.. tabularcolumns:: |p{9.0cm}|p{8.5cm}|
241662306a36Sopenharmony_ci
241762306a36Sopenharmony_ci.. flat-table::
241862306a36Sopenharmony_ci    :header-rows:  0
241962306a36Sopenharmony_ci    :stub-columns: 0
242062306a36Sopenharmony_ci
242162306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN``
242262306a36Sopenharmony_ci      - Main profile.
242362306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE``
242462306a36Sopenharmony_ci      - Main still picture profile.
242562306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10``
242662306a36Sopenharmony_ci      - Main 10 profile.
242762306a36Sopenharmony_ci
242862306a36Sopenharmony_ci.. raw:: latex
242962306a36Sopenharmony_ci
243062306a36Sopenharmony_ci    \normalsize
243162306a36Sopenharmony_ci
243262306a36Sopenharmony_ci
243362306a36Sopenharmony_ci.. _v4l2-hevc-level:
243462306a36Sopenharmony_ci
243562306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_LEVEL``
243662306a36Sopenharmony_ci    (enum)
243762306a36Sopenharmony_ci
243862306a36Sopenharmony_cienum v4l2_mpeg_video_hevc_level -
243962306a36Sopenharmony_ci    Selects the desired level for HEVC encoder.
244062306a36Sopenharmony_ci
244162306a36Sopenharmony_ci==================================	=========
244262306a36Sopenharmony_ci``V4L2_MPEG_VIDEO_HEVC_LEVEL_1``	Level 1.0
244362306a36Sopenharmony_ci``V4L2_MPEG_VIDEO_HEVC_LEVEL_2``	Level 2.0
244462306a36Sopenharmony_ci``V4L2_MPEG_VIDEO_HEVC_LEVEL_2_1``	Level 2.1
244562306a36Sopenharmony_ci``V4L2_MPEG_VIDEO_HEVC_LEVEL_3``	Level 3.0
244662306a36Sopenharmony_ci``V4L2_MPEG_VIDEO_HEVC_LEVEL_3_1``	Level 3.1
244762306a36Sopenharmony_ci``V4L2_MPEG_VIDEO_HEVC_LEVEL_4``	Level 4.0
244862306a36Sopenharmony_ci``V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1``	Level 4.1
244962306a36Sopenharmony_ci``V4L2_MPEG_VIDEO_HEVC_LEVEL_5``	Level 5.0
245062306a36Sopenharmony_ci``V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1``	Level 5.1
245162306a36Sopenharmony_ci``V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2``	Level 5.2
245262306a36Sopenharmony_ci``V4L2_MPEG_VIDEO_HEVC_LEVEL_6``	Level 6.0
245362306a36Sopenharmony_ci``V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1``	Level 6.1
245462306a36Sopenharmony_ci``V4L2_MPEG_VIDEO_HEVC_LEVEL_6_2``	Level 6.2
245562306a36Sopenharmony_ci==================================	=========
245662306a36Sopenharmony_ci
245762306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION (integer)``
245862306a36Sopenharmony_ci    Indicates the number of evenly spaced subintervals, called ticks, within
245962306a36Sopenharmony_ci    one second. This is a 16 bit unsigned integer and has a maximum value up to
246062306a36Sopenharmony_ci    0xffff and a minimum value of 1.
246162306a36Sopenharmony_ci
246262306a36Sopenharmony_ci.. _v4l2-hevc-tier:
246362306a36Sopenharmony_ci
246462306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_TIER``
246562306a36Sopenharmony_ci    (enum)
246662306a36Sopenharmony_ci
246762306a36Sopenharmony_cienum v4l2_mpeg_video_hevc_tier -
246862306a36Sopenharmony_ci    TIER_FLAG specifies tiers information of the HEVC encoded picture. Tier
246962306a36Sopenharmony_ci    were made to deal with applications that differ in terms of maximum bit
247062306a36Sopenharmony_ci    rate. Setting the flag to 0 selects HEVC tier as Main tier and setting
247162306a36Sopenharmony_ci    this flag to 1 indicates High tier. High tier is for applications requiring
247262306a36Sopenharmony_ci    high bit rates.
247362306a36Sopenharmony_ci
247462306a36Sopenharmony_ci==================================	==========
247562306a36Sopenharmony_ci``V4L2_MPEG_VIDEO_HEVC_TIER_MAIN``	Main tier.
247662306a36Sopenharmony_ci``V4L2_MPEG_VIDEO_HEVC_TIER_HIGH``	High tier.
247762306a36Sopenharmony_ci==================================	==========
247862306a36Sopenharmony_ci
247962306a36Sopenharmony_ci
248062306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH (integer)``
248162306a36Sopenharmony_ci    Selects HEVC maximum coding unit depth.
248262306a36Sopenharmony_ci
248362306a36Sopenharmony_ci.. _v4l2-hevc-loop-filter-mode:
248462306a36Sopenharmony_ci
248562306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE``
248662306a36Sopenharmony_ci    (enum)
248762306a36Sopenharmony_ci
248862306a36Sopenharmony_cienum v4l2_mpeg_video_hevc_loop_filter_mode -
248962306a36Sopenharmony_ci    Loop filter mode for HEVC encoder. Possible values are:
249062306a36Sopenharmony_ci
249162306a36Sopenharmony_ci.. raw:: latex
249262306a36Sopenharmony_ci
249362306a36Sopenharmony_ci    \footnotesize
249462306a36Sopenharmony_ci
249562306a36Sopenharmony_ci.. tabularcolumns:: |p{12.1cm}|p{5.4cm}|
249662306a36Sopenharmony_ci
249762306a36Sopenharmony_ci.. flat-table::
249862306a36Sopenharmony_ci    :header-rows:  0
249962306a36Sopenharmony_ci    :stub-columns: 0
250062306a36Sopenharmony_ci
250162306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED``
250262306a36Sopenharmony_ci      - Loop filter is disabled.
250362306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED``
250462306a36Sopenharmony_ci      - Loop filter is enabled.
250562306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY``
250662306a36Sopenharmony_ci      - Loop filter is disabled at the slice boundary.
250762306a36Sopenharmony_ci
250862306a36Sopenharmony_ci.. raw:: latex
250962306a36Sopenharmony_ci
251062306a36Sopenharmony_ci    \normalsize
251162306a36Sopenharmony_ci
251262306a36Sopenharmony_ci
251362306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2 (integer)``
251462306a36Sopenharmony_ci    Selects HEVC loop filter beta offset. The valid range is [-6, +6].
251562306a36Sopenharmony_ci
251662306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2 (integer)``
251762306a36Sopenharmony_ci    Selects HEVC loop filter tc offset. The valid range is [-6, +6].
251862306a36Sopenharmony_ci
251962306a36Sopenharmony_ci.. _v4l2-hevc-refresh-type:
252062306a36Sopenharmony_ci
252162306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE``
252262306a36Sopenharmony_ci    (enum)
252362306a36Sopenharmony_ci
252462306a36Sopenharmony_cienum v4l2_mpeg_video_hevc_hier_refresh_type -
252562306a36Sopenharmony_ci    Selects refresh type for HEVC encoder.
252662306a36Sopenharmony_ci    Host has to specify the period into
252762306a36Sopenharmony_ci    V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD.
252862306a36Sopenharmony_ci
252962306a36Sopenharmony_ci.. raw:: latex
253062306a36Sopenharmony_ci
253162306a36Sopenharmony_ci    \footnotesize
253262306a36Sopenharmony_ci
253362306a36Sopenharmony_ci.. tabularcolumns:: |p{6.2cm}|p{11.3cm}|
253462306a36Sopenharmony_ci
253562306a36Sopenharmony_ci.. flat-table::
253662306a36Sopenharmony_ci    :header-rows:  0
253762306a36Sopenharmony_ci    :stub-columns: 0
253862306a36Sopenharmony_ci
253962306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_REFRESH_NONE``
254062306a36Sopenharmony_ci      - Use the B frame for hierarchical coding.
254162306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_REFRESH_CRA``
254262306a36Sopenharmony_ci      - Use CRA (Clean Random Access Unit) picture encoding.
254362306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_REFRESH_IDR``
254462306a36Sopenharmony_ci      - Use IDR (Instantaneous Decoding Refresh) picture encoding.
254562306a36Sopenharmony_ci
254662306a36Sopenharmony_ci.. raw:: latex
254762306a36Sopenharmony_ci
254862306a36Sopenharmony_ci    \normalsize
254962306a36Sopenharmony_ci
255062306a36Sopenharmony_ci
255162306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD (integer)``
255262306a36Sopenharmony_ci    Selects the refresh period for HEVC encoder.
255362306a36Sopenharmony_ci    This specifies the number of I pictures between two CRA/IDR pictures.
255462306a36Sopenharmony_ci    This is valid only if REFRESH_TYPE is not 0.
255562306a36Sopenharmony_ci
255662306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU (boolean)``
255762306a36Sopenharmony_ci    Indicates HEVC lossless encoding. Setting it to 0 disables lossless
255862306a36Sopenharmony_ci    encoding. Setting it to 1 enables lossless encoding.
255962306a36Sopenharmony_ci
256062306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED (boolean)``
256162306a36Sopenharmony_ci    Indicates constant intra prediction for HEVC encoder. Specifies the
256262306a36Sopenharmony_ci    constrained intra prediction in which intra largest coding unit (LCU)
256362306a36Sopenharmony_ci    prediction is performed by using residual data and decoded samples of
256462306a36Sopenharmony_ci    neighboring intra LCU only. Setting the value to 1 enables constant intra
256562306a36Sopenharmony_ci    prediction and setting the value to 0 disables constant intra prediction.
256662306a36Sopenharmony_ci
256762306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT (boolean)``
256862306a36Sopenharmony_ci    Indicates wavefront parallel processing for HEVC encoder. Setting it to 0
256962306a36Sopenharmony_ci    disables the feature and setting it to 1 enables the wavefront parallel
257062306a36Sopenharmony_ci    processing.
257162306a36Sopenharmony_ci
257262306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB (boolean)``
257362306a36Sopenharmony_ci    Setting the value to 1 enables combination of P and B frame for HEVC
257462306a36Sopenharmony_ci    encoder.
257562306a36Sopenharmony_ci
257662306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID (boolean)``
257762306a36Sopenharmony_ci    Indicates temporal identifier for HEVC encoder which is enabled by
257862306a36Sopenharmony_ci    setting the value to 1.
257962306a36Sopenharmony_ci
258062306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING (boolean)``
258162306a36Sopenharmony_ci    Indicates bi-linear interpolation is conditionally used in the intra
258262306a36Sopenharmony_ci    prediction filtering process in the CVS when set to 1. Indicates bi-linear
258362306a36Sopenharmony_ci    interpolation is not used in the CVS when set to 0.
258462306a36Sopenharmony_ci
258562306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1 (integer)``
258662306a36Sopenharmony_ci    Indicates maximum number of merge candidate motion vectors.
258762306a36Sopenharmony_ci    Values are from 0 to 4.
258862306a36Sopenharmony_ci
258962306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION (boolean)``
259062306a36Sopenharmony_ci    Indicates temporal motion vector prediction for HEVC encoder. Setting it to
259162306a36Sopenharmony_ci    1 enables the prediction. Setting it to 0 disables the prediction.
259262306a36Sopenharmony_ci
259362306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE (boolean)``
259462306a36Sopenharmony_ci    Specifies if HEVC generates a stream with a size of the length field
259562306a36Sopenharmony_ci    instead of start code pattern. The size of the length field is configurable
259662306a36Sopenharmony_ci    through the V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD control. Setting
259762306a36Sopenharmony_ci    the value to 0 disables encoding without startcode pattern. Setting the
259862306a36Sopenharmony_ci    value to 1 will enables encoding without startcode pattern.
259962306a36Sopenharmony_ci
260062306a36Sopenharmony_ci.. _v4l2-hevc-size-of-length-field:
260162306a36Sopenharmony_ci
260262306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD``
260362306a36Sopenharmony_ci(enum)
260462306a36Sopenharmony_ci
260562306a36Sopenharmony_cienum v4l2_mpeg_video_hevc_size_of_length_field -
260662306a36Sopenharmony_ci    Indicates the size of length field.
260762306a36Sopenharmony_ci    This is valid when encoding WITHOUT_STARTCODE_ENABLE is enabled.
260862306a36Sopenharmony_ci
260962306a36Sopenharmony_ci.. raw:: latex
261062306a36Sopenharmony_ci
261162306a36Sopenharmony_ci    \footnotesize
261262306a36Sopenharmony_ci
261362306a36Sopenharmony_ci.. tabularcolumns:: |p{5.5cm}|p{12.0cm}|
261462306a36Sopenharmony_ci
261562306a36Sopenharmony_ci.. flat-table::
261662306a36Sopenharmony_ci    :header-rows:  0
261762306a36Sopenharmony_ci    :stub-columns: 0
261862306a36Sopenharmony_ci
261962306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_SIZE_0``
262062306a36Sopenharmony_ci      - Generate start code pattern (Normal).
262162306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_SIZE_1``
262262306a36Sopenharmony_ci      - Generate size of length field instead of start code pattern and length is 1.
262362306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_SIZE_2``
262462306a36Sopenharmony_ci      - Generate size of length field instead of start code pattern and length is 2.
262562306a36Sopenharmony_ci    * - ``V4L2_MPEG_VIDEO_HEVC_SIZE_4``
262662306a36Sopenharmony_ci      - Generate size of length field instead of start code pattern and length is 4.
262762306a36Sopenharmony_ci
262862306a36Sopenharmony_ci.. raw:: latex
262962306a36Sopenharmony_ci
263062306a36Sopenharmony_ci    \normalsize
263162306a36Sopenharmony_ci
263262306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR (integer)``
263362306a36Sopenharmony_ci    Indicates bit rate for hierarchical coding layer 0 for HEVC encoder.
263462306a36Sopenharmony_ci
263562306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR (integer)``
263662306a36Sopenharmony_ci    Indicates bit rate for hierarchical coding layer 1 for HEVC encoder.
263762306a36Sopenharmony_ci
263862306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR (integer)``
263962306a36Sopenharmony_ci    Indicates bit rate for hierarchical coding layer 2 for HEVC encoder.
264062306a36Sopenharmony_ci
264162306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR (integer)``
264262306a36Sopenharmony_ci    Indicates bit rate for hierarchical coding layer 3 for HEVC encoder.
264362306a36Sopenharmony_ci
264462306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR (integer)``
264562306a36Sopenharmony_ci    Indicates bit rate for hierarchical coding layer 4 for HEVC encoder.
264662306a36Sopenharmony_ci
264762306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR (integer)``
264862306a36Sopenharmony_ci    Indicates bit rate for hierarchical coding layer 5 for HEVC encoder.
264962306a36Sopenharmony_ci
265062306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR (integer)``
265162306a36Sopenharmony_ci    Indicates bit rate for hierarchical coding layer 6 for HEVC encoder.
265262306a36Sopenharmony_ci
265362306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES (integer)``
265462306a36Sopenharmony_ci    Selects number of P reference pictures required for HEVC encoder.
265562306a36Sopenharmony_ci    P-Frame can use 1 or 2 frames for reference.
265662306a36Sopenharmony_ci
265762306a36Sopenharmony_ci``V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR (integer)``
265862306a36Sopenharmony_ci    Indicates whether to generate SPS and PPS at every IDR. Setting it to 0
265962306a36Sopenharmony_ci    disables generating SPS and PPS at every IDR. Setting it to one enables
266062306a36Sopenharmony_ci    generating SPS and PPS at every IDR.
2661