Lines Matching +full:high +full:- +full:quality

1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
3 .. _mpeg-controls:
24 .. _mpeg-control-id:
27 -----------------
35 .. _v4l2-mpeg-stream-type:
40 enum v4l2_mpeg_stream_type -
41 The MPEG-1, -2 or -4 output stream type. One cannot assume anything
48 .. flat-table::
49 :header-rows: 0
50 :stub-columns: 0
52 * - ``V4L2_MPEG_STREAM_TYPE_MPEG2_PS``
53 - MPEG-2 program stream
54 * - ``V4L2_MPEG_STREAM_TYPE_MPEG2_TS``
55 - MPEG-2 transport stream
56 * - ``V4L2_MPEG_STREAM_TYPE_MPEG1_SS``
57 - MPEG-1 system stream
58 * - ``V4L2_MPEG_STREAM_TYPE_MPEG2_DVD``
59 - MPEG-2 DVD-compatible stream
60 * - ``V4L2_MPEG_STREAM_TYPE_MPEG1_VCD``
61 - MPEG-1 VCD-compatible stream
62 * - ``V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD``
63 - MPEG-2 SVCD-compatible stream
87 .. _v4l2-mpeg-stream-vbi-fmt:
92 enum v4l2_mpeg_stream_vbi_fmt -
103 .. flat-table::
104 :header-rows: 0
105 :stub-columns: 0
107 * - ``V4L2_MPEG_STREAM_VBI_FMT_NONE``
108 - No VBI in the MPEG stream
109 * - ``V4L2_MPEG_STREAM_VBI_FMT_IVTV``
110 - VBI in private packets, IVTV format (documented in the kernel
112 ``Documentation/userspace-api/media/drivers/cx2341x-uapi.rst``)
116 .. _v4l2-mpeg-audio-sampling-freq:
121 enum v4l2_mpeg_audio_sampling_freq -
126 .. flat-table::
127 :header-rows: 0
128 :stub-columns: 0
130 * - ``V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100``
131 - 44.1 kHz
132 * - ``V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000``
133 - 48 kHz
134 * - ``V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000``
135 - 32 kHz
139 .. _v4l2-mpeg-audio-encoding:
144 enum v4l2_mpeg_audio_encoding -
150 .. flat-table::
151 :header-rows: 0
152 :stub-columns: 0
154 * - ``V4L2_MPEG_AUDIO_ENCODING_LAYER_1``
155 - MPEG-1/2 Layer I encoding
156 * - ``V4L2_MPEG_AUDIO_ENCODING_LAYER_2``
157 - MPEG-1/2 Layer II encoding
158 * - ``V4L2_MPEG_AUDIO_ENCODING_LAYER_3``
159 - MPEG-1/2 Layer III encoding
160 * - ``V4L2_MPEG_AUDIO_ENCODING_AAC``
161 - MPEG-2/4 AAC (Advanced Audio Coding)
162 * - ``V4L2_MPEG_AUDIO_ENCODING_AC3``
163 - AC-3 aka ATSC A/52 encoding
167 .. _v4l2-mpeg-audio-l1-bitrate:
172 enum v4l2_mpeg_audio_l1_bitrate -
173 MPEG-1/2 Layer I bitrate. Possible values are:
177 .. flat-table::
178 :header-rows: 0
179 :stub-columns: 0
181 * - ``V4L2_MPEG_AUDIO_L1_BITRATE_32K``
182 - 32 kbit/s
183 * - ``V4L2_MPEG_AUDIO_L1_BITRATE_64K``
184 - 64 kbit/s
185 * - ``V4L2_MPEG_AUDIO_L1_BITRATE_96K``
186 - 96 kbit/s
187 * - ``V4L2_MPEG_AUDIO_L1_BITRATE_128K``
188 - 128 kbit/s
189 * - ``V4L2_MPEG_AUDIO_L1_BITRATE_160K``
190 - 160 kbit/s
191 * - ``V4L2_MPEG_AUDIO_L1_BITRATE_192K``
192 - 192 kbit/s
193 * - ``V4L2_MPEG_AUDIO_L1_BITRATE_224K``
194 - 224 kbit/s
195 * - ``V4L2_MPEG_AUDIO_L1_BITRATE_256K``
196 - 256 kbit/s
197 * - ``V4L2_MPEG_AUDIO_L1_BITRATE_288K``
198 - 288 kbit/s
199 * - ``V4L2_MPEG_AUDIO_L1_BITRATE_320K``
200 - 320 kbit/s
201 * - ``V4L2_MPEG_AUDIO_L1_BITRATE_352K``
202 - 352 kbit/s
203 * - ``V4L2_MPEG_AUDIO_L1_BITRATE_384K``
204 - 384 kbit/s
205 * - ``V4L2_MPEG_AUDIO_L1_BITRATE_416K``
206 - 416 kbit/s
207 * - ``V4L2_MPEG_AUDIO_L1_BITRATE_448K``
208 - 448 kbit/s
212 .. _v4l2-mpeg-audio-l2-bitrate:
217 enum v4l2_mpeg_audio_l2_bitrate -
218 MPEG-1/2 Layer II bitrate. Possible values are:
222 .. flat-table::
223 :header-rows: 0
224 :stub-columns: 0
226 * - ``V4L2_MPEG_AUDIO_L2_BITRATE_32K``
227 - 32 kbit/s
228 * - ``V4L2_MPEG_AUDIO_L2_BITRATE_48K``
229 - 48 kbit/s
230 * - ``V4L2_MPEG_AUDIO_L2_BITRATE_56K``
231 - 56 kbit/s
232 * - ``V4L2_MPEG_AUDIO_L2_BITRATE_64K``
233 - 64 kbit/s
234 * - ``V4L2_MPEG_AUDIO_L2_BITRATE_80K``
235 - 80 kbit/s
236 * - ``V4L2_MPEG_AUDIO_L2_BITRATE_96K``
237 - 96 kbit/s
238 * - ``V4L2_MPEG_AUDIO_L2_BITRATE_112K``
239 - 112 kbit/s
240 * - ``V4L2_MPEG_AUDIO_L2_BITRATE_128K``
241 - 128 kbit/s
242 * - ``V4L2_MPEG_AUDIO_L2_BITRATE_160K``
243 - 160 kbit/s
244 * - ``V4L2_MPEG_AUDIO_L2_BITRATE_192K``
245 - 192 kbit/s
246 * - ``V4L2_MPEG_AUDIO_L2_BITRATE_224K``
247 - 224 kbit/s
248 * - ``V4L2_MPEG_AUDIO_L2_BITRATE_256K``
249 - 256 kbit/s
250 * - ``V4L2_MPEG_AUDIO_L2_BITRATE_320K``
251 - 320 kbit/s
252 * - ``V4L2_MPEG_AUDIO_L2_BITRATE_384K``
253 - 384 kbit/s
257 .. _v4l2-mpeg-audio-l3-bitrate:
262 enum v4l2_mpeg_audio_l3_bitrate -
263 MPEG-1/2 Layer III bitrate. Possible values are:
267 .. flat-table::
268 :header-rows: 0
269 :stub-columns: 0
271 * - ``V4L2_MPEG_AUDIO_L3_BITRATE_32K``
272 - 32 kbit/s
273 * - ``V4L2_MPEG_AUDIO_L3_BITRATE_40K``
274 - 40 kbit/s
275 * - ``V4L2_MPEG_AUDIO_L3_BITRATE_48K``
276 - 48 kbit/s
277 * - ``V4L2_MPEG_AUDIO_L3_BITRATE_56K``
278 - 56 kbit/s
279 * - ``V4L2_MPEG_AUDIO_L3_BITRATE_64K``
280 - 64 kbit/s
281 * - ``V4L2_MPEG_AUDIO_L3_BITRATE_80K``
282 - 80 kbit/s
283 * - ``V4L2_MPEG_AUDIO_L3_BITRATE_96K``
284 - 96 kbit/s
285 * - ``V4L2_MPEG_AUDIO_L3_BITRATE_112K``
286 - 112 kbit/s
287 * - ``V4L2_MPEG_AUDIO_L3_BITRATE_128K``
288 - 128 kbit/s
289 * - ``V4L2_MPEG_AUDIO_L3_BITRATE_160K``
290 - 160 kbit/s
291 * - ``V4L2_MPEG_AUDIO_L3_BITRATE_192K``
292 - 192 kbit/s
293 * - ``V4L2_MPEG_AUDIO_L3_BITRATE_224K``
294 - 224 kbit/s
295 * - ``V4L2_MPEG_AUDIO_L3_BITRATE_256K``
296 - 256 kbit/s
297 * - ``V4L2_MPEG_AUDIO_L3_BITRATE_320K``
298 - 320 kbit/s
305 .. _v4l2-mpeg-audio-ac3-bitrate:
310 enum v4l2_mpeg_audio_ac3_bitrate -
311 AC-3 bitrate. Possible values are:
315 .. flat-table::
316 :header-rows: 0
317 :stub-columns: 0
319 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_32K``
320 - 32 kbit/s
321 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_40K``
322 - 40 kbit/s
323 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_48K``
324 - 48 kbit/s
325 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_56K``
326 - 56 kbit/s
327 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_64K``
328 - 64 kbit/s
329 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_80K``
330 - 80 kbit/s
331 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_96K``
332 - 96 kbit/s
333 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_112K``
334 - 112 kbit/s
335 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_128K``
336 - 128 kbit/s
337 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_160K``
338 - 160 kbit/s
339 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_192K``
340 - 192 kbit/s
341 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_224K``
342 - 224 kbit/s
343 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_256K``
344 - 256 kbit/s
345 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_320K``
346 - 320 kbit/s
347 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_384K``
348 - 384 kbit/s
349 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_448K``
350 - 448 kbit/s
351 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_512K``
352 - 512 kbit/s
353 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_576K``
354 - 576 kbit/s
355 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_640K``
356 - 640 kbit/s
360 .. _v4l2-mpeg-audio-mode:
365 enum v4l2_mpeg_audio_mode -
370 .. flat-table::
371 :header-rows: 0
372 :stub-columns: 0
374 * - ``V4L2_MPEG_AUDIO_MODE_STEREO``
375 - Stereo
376 * - ``V4L2_MPEG_AUDIO_MODE_JOINT_STEREO``
377 - Joint Stereo
378 * - ``V4L2_MPEG_AUDIO_MODE_DUAL``
379 - Bilingual
380 * - ``V4L2_MPEG_AUDIO_MODE_MONO``
381 - Mono
385 .. _v4l2-mpeg-audio-mode-extension:
390 enum v4l2_mpeg_audio_mode_extension -
397 .. flat-table::
398 :header-rows: 0
399 :stub-columns: 0
401 * - ``V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4``
402 - Subbands 4-31 in intensity stereo
403 * - ``V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8``
404 - Subbands 8-31 in intensity stereo
405 * - ``V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12``
406 - Subbands 12-31 in intensity stereo
407 * - ``V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16``
408 - Subbands 16-31 in intensity stereo
412 .. _v4l2-mpeg-audio-emphasis:
417 enum v4l2_mpeg_audio_emphasis -
422 .. flat-table::
423 :header-rows: 0
424 :stub-columns: 0
426 * - ``V4L2_MPEG_AUDIO_EMPHASIS_NONE``
427 - None
428 * - ``V4L2_MPEG_AUDIO_EMPHASIS_50_DIV_15_uS``
429 - 50/15 microsecond emphasis
430 * - ``V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17``
431 - CCITT J.17
435 .. _v4l2-mpeg-audio-crc:
440 enum v4l2_mpeg_audio_crc -
445 .. flat-table::
446 :header-rows: 0
447 :stub-columns: 0
449 * - ``V4L2_MPEG_AUDIO_CRC_NONE``
450 - None
451 * - ``V4L2_MPEG_AUDIO_CRC_CRC16``
452 - 16 bit parity check
462 .. _v4l2-mpeg-audio-dec-playback:
467 enum v4l2_mpeg_audio_dec_playback -
475 .. flat-table::
476 :header-rows: 0
477 :stub-columns: 0
479 * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_AUTO``
480 - Automatically determines the best playback mode.
481 * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_STEREO``
482 - Stereo playback.
483 * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_LEFT``
484 - Left channel playback.
485 * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_RIGHT``
486 - Right channel playback.
487 * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_MONO``
488 - Mono playback.
489 * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_SWAPPED_STEREO``
490 - Stereo playback with swapped left and right channels.
494 .. _v4l2-mpeg-audio-dec-multilingual-playback:
499 enum v4l2_mpeg_audio_dec_playback -
502 .. _v4l2-mpeg-video-encoding:
507 enum v4l2_mpeg_video_encoding -
513 .. flat-table::
514 :header-rows: 0
515 :stub-columns: 0
517 * - ``V4L2_MPEG_VIDEO_ENCODING_MPEG_1``
518 - MPEG-1 Video encoding
519 * - ``V4L2_MPEG_VIDEO_ENCODING_MPEG_2``
520 - MPEG-2 Video encoding
521 * - ``V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC``
522 - MPEG-4 AVC (H.264) Video encoding
526 .. _v4l2-mpeg-video-aspect:
531 enum v4l2_mpeg_video_aspect -
536 .. flat-table::
537 :header-rows: 0
538 :stub-columns: 0
540 * - ``V4L2_MPEG_VIDEO_ASPECT_1x1``
541 * - ``V4L2_MPEG_VIDEO_ASPECT_4x3``
542 * - ``V4L2_MPEG_VIDEO_ASPECT_16x9``
543 * - ``V4L2_MPEG_VIDEO_ASPECT_221x100``
548 Number of B-Frames (default 2)
559 .. _v4l2-mpeg-video-bitrate-mode:
564 enum v4l2_mpeg_video_bitrate_mode -
569 .. flat-table::
570 :header-rows: 0
571 :stub-columns: 0
573 * - ``V4L2_MPEG_VIDEO_BITRATE_MODE_VBR``
574 - Variable bitrate
575 * - ``V4L2_MPEG_VIDEO_BITRATE_MODE_CBR``
576 - Constant bitrate
577 * - ``V4L2_MPEG_VIDEO_BITRATE_MODE_CQ``
578 - Constant quality
591 Constant quality level control. This control is applicable when
594 where 1 indicates lowest quality and 100 indicates highest quality.
596 bitrate to produce requested frame quality.
601 enum v4l2_mpeg_video_frame_skip_mode -
614 .. flat-table::
615 :header-rows: 0
616 :stub-columns: 0
618 * - ``V4L2_MPEG_FRAME_SKIP_MODE_DISABLED``
619 - Frame skip mode is disabled.
620 * - ``V4L2_MPEG_FRAME_SKIP_MODE_LEVEL_LIMIT``
621 - Frame skip mode enabled and buffer limit is set by the chosen
623 * - ``V4L2_MPEG_FRAME_SKIP_MODE_BUF_LIMIT``
624 - Frame skip mode enabled and buffer limit is set by the
625 :ref:`VBV (MPEG1/2/4) <v4l2-mpeg-video-vbv-size>` or
626 :ref:`CPB (H264) buffer size <v4l2-mpeg-video-h264-cpb-size>` control.
642 Sets the "mute" color of the video. The supplied 32-bit integer is
647 .. flat-table::
648 :header-rows: 0
649 :stub-columns: 0
651 * - Bit 0:7
652 - V chrominance information
653 * - Bit 8:15
654 - U chrominance information
655 * - Bit 16:23
656 - Y luminance information
657 * - Bit 24:31
658 - Must be zero.
662 .. _v4l2-mpeg-video-dec-pts:
665 This read-only control returns the 33-bit video Presentation Time
666 Stamp as defined in ITU T-REC-H.222.0 and ISO/IEC 13818-1 of the
670 .. _v4l2-mpeg-video-dec-frame:
673 This read-only control returns the frame counter of the frame that
685 .. flat-table::
686 :header-rows: 0
687 :stub-columns: 0
689 * -
690 - 8bit format
691 - 10bit format
692 - 12bit format
693 * - Y luminance
694 - Bit 0:7
695 - Bit 0:9
696 - Bit 0:11
697 * - Cb chrominance
698 - Bit 16:23
699 - Bit 16:25
700 - Bit 16:27
701 * - Cr chrominance
702 - Bit 32:39
703 - Bit 32:41
704 - Bit 32:43
705 * - Must be zero
706 - Bit 48:63
707 - Bit 48:63
708 - Bit 48:63
739 .. _v4l2-mpeg-video-h264-vui-sar-idc:
744 enum v4l2_mpeg_video_h264_vui_sar_idc -
746 defined in the table E-1 in the standard. Applicable to the H264
751 .. flat-table::
752 :header-rows: 0
753 :stub-columns: 0
755 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_UNSPECIFIED``
756 - Unspecified
757 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_1x1``
758 - 1x1
759 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_12x11``
760 - 12x11
761 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_10x11``
762 - 10x11
763 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_16x11``
764 - 16x11
765 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_40x33``
766 - 40x33
767 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_24x11``
768 - 24x11
769 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_20x11``
770 - 20x11
771 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_32x11``
772 - 32x11
773 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_80x33``
774 - 80x33
775 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_18x11``
776 - 18x11
777 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_15x11``
778 - 15x11
779 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_64x33``
780 - 64x33
781 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_160x99``
782 - 160x99
783 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_4x3``
784 - 4x3
785 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_3x2``
786 - 3x2
787 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_2x1``
788 - 2x1
789 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_EXTENDED``
790 - Extended SAR
802 .. _v4l2-mpeg-video-h264-level:
807 enum v4l2_mpeg_video_h264_level -
813 .. flat-table::
814 :header-rows: 0
815 :stub-columns: 0
817 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1_0``
818 - Level 1.0
819 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1B``
820 - Level 1B
821 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1_1``
822 - Level 1.1
823 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1_2``
824 - Level 1.2
825 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1_3``
826 - Level 1.3
827 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_2_0``
828 - Level 2.0
829 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_2_1``
830 - Level 2.1
831 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_2_2``
832 - Level 2.2
833 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_3_0``
834 - Level 3.0
835 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_3_1``
836 - Level 3.1
837 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_3_2``
838 - Level 3.2
839 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_4_0``
840 - Level 4.0
841 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_4_1``
842 - Level 4.1
843 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_4_2``
844 - Level 4.2
845 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_5_0``
846 - Level 5.0
847 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_5_1``
848 - Level 5.1
849 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_5_2``
850 - Level 5.2
851 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_6_0``
852 - Level 6.0
853 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_6_1``
854 - Level 6.1
855 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_6_2``
856 - Level 6.2
860 .. _v4l2-mpeg-video-mpeg2-level:
865 enum v4l2_mpeg_video_mpeg2_level -
871 .. flat-table::
872 :header-rows: 0
873 :stub-columns: 0
875 * - ``V4L2_MPEG_VIDEO_MPEG2_LEVEL_LOW``
876 - Low Level (LL)
877 * - ``V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN``
878 - Main Level (ML)
879 * - ``V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH_1440``
880 - High-1440 Level (H-14)
881 * - ``V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH``
882 - High Level (HL)
886 .. _v4l2-mpeg-video-mpeg4-level:
891 enum v4l2_mpeg_video_mpeg4_level -
897 .. flat-table::
898 :header-rows: 0
899 :stub-columns: 0
901 * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_0``
902 - Level 0
903 * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B``
904 - Level 0b
905 * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_1``
906 - Level 1
907 * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_2``
908 - Level 2
909 * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_3``
910 - Level 3
911 * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_3B``
912 - Level 3b
913 * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_4``
914 - Level 4
915 * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_5``
916 - Level 5
920 .. _v4l2-mpeg-video-h264-profile:
925 enum v4l2_mpeg_video_h264_profile -
931 .. flat-table::
932 :header-rows: 0
933 :stub-columns: 0
935 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE``
936 - Baseline profile
937 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE``
938 - Constrained Baseline profile
939 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_MAIN``
940 - Main profile
941 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_EXTENDED``
942 - Extended profile
943 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH``
944 - High profile
945 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10``
946 - High 10 profile
947 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422``
948 - High 422 profile
949 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_PREDICTIVE``
950 - High 444 Predictive profile
951 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10_INTRA``
952 - High 10 Intra profile
953 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422_INTRA``
954 - High 422 Intra profile
955 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_INTRA``
956 - High 444 Intra profile
957 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_CAVLC_444_INTRA``
958 - CAVLC 444 Intra profile
959 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_BASELINE``
960 - Scalable Baseline profile
961 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH``
962 - Scalable High profile
963 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH_INTRA``
964 - Scalable High Intra profile
965 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_STEREO_HIGH``
966 - Stereo High profile
967 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH``
968 - Multiview High profile
969 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH``
970 - Constrained High profile
974 .. _v4l2-mpeg-video-mpeg2-profile:
979 enum v4l2_mpeg_video_mpeg2_profile -
985 .. flat-table::
986 :header-rows: 0
987 :stub-columns: 0
989 * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_SIMPLE``
990 - Simple profile (SP)
991 * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN``
992 - Main profile (MP)
993 * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_SNR_SCALABLE``
994 - SNR Scalable profile (SNR)
995 * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_SPATIALLY_SCALABLE``
996 - Spatially Scalable profile (Spt)
997 * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_HIGH``
998 - High profile (HP)
999 * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_MULTIVIEW``
1000 - Multi-view profile (MVP)
1004 .. _v4l2-mpeg-video-mpeg4-profile:
1009 enum v4l2_mpeg_video_mpeg4_profile -
1015 .. flat-table::
1016 :header-rows: 0
1017 :stub-columns: 0
1019 * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE``
1020 - Simple profile
1021 * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE``
1022 - Advanced Simple profile
1023 * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_CORE``
1024 - Core profile
1025 * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE_SCALABLE``
1026 - Simple Scalable profile
1027 * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY``
1028 -
1036 .. _v4l2-mpeg-video-multi-slice-mode:
1041 enum v4l2_mpeg_video_multi_slice_mode -
1049 .. flat-table::
1050 :header-rows: 0
1051 :stub-columns: 0
1053 * - ``V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE``
1054 - Single slice per frame.
1055 * - ``V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB``
1056 - Multiple slices with set maximum number of macroblocks per slice.
1057 * - ``V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES``
1058 - Multiple slice with set maximum size in bytes per slice.
1074 .. _v4l2-mpeg-video-h264-loop-filter-mode:
1079 enum v4l2_mpeg_video_h264_loop_filter_mode -
1088 .. flat-table::
1089 :header-rows: 0
1090 :stub-columns: 0
1092 * - ``V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED``
1093 - Loop filter is enabled.
1094 * - ``V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED``
1095 - Loop filter is disabled.
1096 * - ``V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY``
1097 - Loop filter is disabled at the slice boundary.
1107 field, and should be in the range of -6 to +6, inclusive. The actual alpha
1114 should be in the range of -6 to +6, inclusive. The actual beta offset
1118 .. _v4l2-mpeg-video-h264-entropy-mode:
1123 enum v4l2_mpeg_video_h264_entropy_mode -
1124 Entropy coding mode for H264 - CABAC/CAVALC. Applicable to the H264
1131 .. flat-table::
1132 :header-rows: 0
1133 :stub-columns: 0
1135 * - ``V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC``
1136 - Use CAVLC entropy coding.
1137 * - ``V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC``
1138 - Use CABAC entropy coding.
1216 quality to a range. Valid range: from 0 to 51. If
1222 quality to a range. Valid range: from 0 to 51. If
1228 quality to a range. Valid range: from 0 to 51. If
1234 quality to a range. Valid range: from 0 to 51. If
1240 quality to a range. Valid range: from 0 to 51. If
1246 quality to a range. Valid range: from 0 to 51. If
1268 .. _v4l2-mpeg-video-vbv-size:
1280 .. _v4l2-mpeg-video-vbv-delay:
1285 .. _v4l2-mpeg-video-hor-search-range:
1293 .. _v4l2-mpeg-video-vert-search-range:
1301 .. _v4l2-mpeg-video-force-key-frame:
1305 encoders. This is a general, codec-agnostic keyframe control.
1307 .. _v4l2-mpeg-video-h264-cpb-size:
1316 Period between I-frames in the open GOP for H264. In case of an open
1317 GOP this is the period between two I-frames. The period between IDR
1320 Refresh is an I-frame after which no prior frames are referenced.
1325 .. _v4l2-mpeg-video-header-mode:
1330 enum v4l2_mpeg_video_header_mode -
1341 .. flat-table::
1342 :header-rows: 0
1343 :stub-columns: 0
1345 * - ``V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE``
1346 - The stream header is returned separately in the first buffer.
1347 * - ``V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME``
1348 - The stream header is returned together with the first encoded
1383 .. _v4l2-mpeg-video-h264-sei-fp-arrangement-type:
1388 enum v4l2_mpeg_video_h264_sei_fp_arrangement_type -
1398 .. flat-table::
1399 :header-rows: 0
1400 :stub-columns: 0
1402 * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_CHEKERBOARD``
1403 - Pixels are alternatively from L and R.
1404 * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_COLUMN``
1405 - L and R are interlaced by column.
1406 * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_ROW``
1407 - L and R are interlaced by row.
1408 * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_SIDE_BY_SIDE``
1409 - L is on the left, R on the right.
1410 * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TOP_BOTTOM``
1411 - L is on top, R on bottom.
1412 * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TEMPORAL``
1413 - One view per frame.
1426 .. _v4l2-mpeg-video-h264-fmo-map-type:
1431 enum v4l2_mpeg_video_h264_fmo_map_type -
1442 .. flat-table::
1443 :header-rows: 0
1444 :stub-columns: 0
1446 * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_INTERLEAVED_SLICES``
1447 - Slices are interleaved one after other with macroblocks in run
1449 * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_SCATTERED_SLICES``
1450 - Scatters the macroblocks based on a mathematical function known to
1452 * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_FOREGROUND_WITH_LEFT_OVER``
1453 - Macroblocks arranged in rectangular areas or regions of interest.
1454 * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_BOX_OUT``
1455 - Slice groups grow in a cyclic way from centre to outwards.
1456 * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_RASTER_SCAN``
1457 - Slice groups grow in raster scan pattern from left to right.
1458 * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_WIPE_SCAN``
1459 - Slice groups grow in wipe scan pattern from top to bottom.
1460 * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_EXPLICIT``
1461 - User defined map type.
1472 .. _v4l2-mpeg-video-h264-fmo-change-direction:
1477 enum v4l2_mpeg_video_h264_fmo_change_dir -
1483 .. flat-table::
1484 :header-rows: 0
1485 :stub-columns: 0
1487 * - ``V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_RIGHT``
1488 - Raster scan or wipe right.
1489 * - ``V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT``
1490 - Reverse raster scan or wipe left.
1508 The supplied 32-bit integer is interpreted as follows (bit 0 = least
1513 .. flat-table::
1514 :header-rows: 0
1515 :stub-columns: 0
1517 * - Bit 0:15
1518 - Slice ID
1519 * - Bit 16:32
1520 - Slice position or order
1527 .. _v4l2-mpeg-video-h264-hierarchical-coding-type:
1532 enum v4l2_mpeg_video_h264_hierarchical_coding_type -
1538 .. flat-table::
1539 :header-rows: 0
1540 :stub-columns: 0
1542 * - ``V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B``
1543 - Hierarchical B coding.
1544 * - ``V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P``
1545 - Hierarchical P coding.
1555 encoder. The supplied 32-bit integer is interpreted as follows (bit
1560 .. flat-table::
1561 :header-rows: 0
1562 :stub-columns: 0
1564 * - Bit 0:15
1565 - QP value
1566 * - Bit 16:32
1567 - Layer number
1590 .. _v4l2-mpeg-h264:
1611 .. flat-table:: struct v4l2_ctrl_h264_sps
1612 :header-rows: 0
1613 :stub-columns: 0
1616 * - __u8
1617 - ``profile_idc``
1618 -
1619 * - __u8
1620 - ``constraint_set_flags``
1621 - See :ref:`Sequence Parameter Set Constraints Set Flags <h264_sps_constraints_set_flags>`
1622 * - __u8
1623 - ``level_idc``
1624 -
1625 * - __u8
1626 - ``seq_parameter_set_id``
1627 -
1628 * - __u8
1629 - ``chroma_format_idc``
1630 -
1631 * - __u8
1632 - ``bit_depth_luma_minus8``
1633 -
1634 * - __u8
1635 - ``bit_depth_chroma_minus8``
1636 -
1637 * - __u8
1638 - ``log2_max_frame_num_minus4``
1639 -
1640 * - __u8
1641 - ``pic_order_cnt_type``
1642 -
1643 * - __u8
1644 - ``log2_max_pic_order_cnt_lsb_minus4``
1645 -
1646 * - __u8
1647 - ``max_num_ref_frames``
1648 -
1649 * - __u8
1650 - ``num_ref_frames_in_pic_order_cnt_cycle``
1651 -
1652 * - __s32
1653 - ``offset_for_ref_frame[255]``
1654 -
1655 * - __s32
1656 - ``offset_for_non_ref_pic``
1657 -
1658 * - __s32
1659 - ``offset_for_top_to_bottom_field``
1660 -
1661 * - __u16
1662 - ``pic_width_in_mbs_minus1``
1663 -
1664 * - __u16
1665 - ``pic_height_in_map_units_minus1``
1666 -
1667 * - __u32
1668 - ``flags``
1669 - See :ref:`Sequence Parameter Set Flags <h264_sps_flags>`
1677 .. flat-table::
1678 :header-rows: 0
1679 :stub-columns: 0
1682 * - ``V4L2_H264_SPS_CONSTRAINT_SET0_FLAG``
1683 - 0x00000001
1684 -
1685 * - ``V4L2_H264_SPS_CONSTRAINT_SET1_FLAG``
1686 - 0x00000002
1687 -
1688 * - ``V4L2_H264_SPS_CONSTRAINT_SET2_FLAG``
1689 - 0x00000004
1690 -
1691 * - ``V4L2_H264_SPS_CONSTRAINT_SET3_FLAG``
1692 - 0x00000008
1693 -
1694 * - ``V4L2_H264_SPS_CONSTRAINT_SET4_FLAG``
1695 - 0x00000010
1696 -
1697 * - ``V4L2_H264_SPS_CONSTRAINT_SET5_FLAG``
1698 - 0x00000020
1699 -
1707 .. flat-table::
1708 :header-rows: 0
1709 :stub-columns: 0
1712 * - ``V4L2_H264_SPS_FLAG_SEPARATE_COLOUR_PLANE``
1713 - 0x00000001
1714 -
1715 * - ``V4L2_H264_SPS_FLAG_QPPRIME_Y_ZERO_TRANSFORM_BYPASS``
1716 - 0x00000002
1717 -
1718 * - ``V4L2_H264_SPS_FLAG_DELTA_PIC_ORDER_ALWAYS_ZERO``
1719 - 0x00000004
1720 -
1721 * - ``V4L2_H264_SPS_FLAG_GAPS_IN_FRAME_NUM_VALUE_ALLOWED``
1722 - 0x00000008
1723 -
1724 * - ``V4L2_H264_SPS_FLAG_FRAME_MBS_ONLY``
1725 - 0x00000010
1726 -
1727 * - ``V4L2_H264_SPS_FLAG_MB_ADAPTIVE_FRAME_FIELD``
1728 - 0x00000020
1729 -
1730 * - ``V4L2_H264_SPS_FLAG_DIRECT_8X8_INFERENCE``
1731 - 0x00000040
1732 -
1753 .. flat-table:: struct v4l2_ctrl_h264_pps
1754 :header-rows: 0
1755 :stub-columns: 0
1758 * - __u8
1759 - ``pic_parameter_set_id``
1760 -
1761 * - __u8
1762 - ``seq_parameter_set_id``
1763 -
1764 * - __u8
1765 - ``num_slice_groups_minus1``
1766 -
1767 * - __u8
1768 - ``num_ref_idx_l0_default_active_minus1``
1769 -
1770 * - __u8
1771 - ``num_ref_idx_l1_default_active_minus1``
1772 -
1773 * - __u8
1774 - ``weighted_bipred_idc``
1775 -
1776 * - __s8
1777 - ``pic_init_qp_minus26``
1778 -
1779 * - __s8
1780 - ``pic_init_qs_minus26``
1781 -
1782 * - __s8
1783 - ``chroma_qp_index_offset``
1784 -
1785 * - __s8
1786 - ``second_chroma_qp_index_offset``
1787 -
1788 * - __u16
1789 - ``flags``
1790 - See :ref:`Picture Parameter Set Flags <h264_pps_flags>`
1798 .. flat-table::
1799 :header-rows: 0
1800 :stub-columns: 0
1803 * - ``V4L2_H264_PPS_FLAG_ENTROPY_CODING_MODE``
1804 - 0x00000001
1805 -
1806 * - ``V4L2_H264_PPS_FLAG_BOTTOM_FIELD_PIC_ORDER_IN_FRAME_PRESENT``
1807 - 0x00000002
1808 -
1809 * - ``V4L2_H264_PPS_FLAG_WEIGHTED_PRED``
1810 - 0x00000004
1811 -
1812 * - ``V4L2_H264_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT``
1813 - 0x00000008
1814 -
1815 * - ``V4L2_H264_PPS_FLAG_CONSTRAINED_INTRA_PRED``
1816 - 0x00000010
1817 -
1818 * - ``V4L2_H264_PPS_FLAG_REDUNDANT_PIC_CNT_PRESENT``
1819 - 0x00000020
1820 -
1821 * - ``V4L2_H264_PPS_FLAG_TRANSFORM_8X8_MODE``
1822 - 0x00000040
1823 -
1824 * - ``V4L2_H264_PPS_FLAG_SCALING_MATRIX_PRESENT``
1825 - 0x00000080
1826 - Indicates that ``V4L2_CID_MPEG_VIDEO_H264_SCALING_MATRIX``
1846 .. flat-table:: struct v4l2_ctrl_h264_scaling_matrix
1847 :header-rows: 0
1848 :stub-columns: 0
1851 * - __u8
1852 - ``scaling_list_4x4[6][16]``
1853 - Scaling matrix after applying the inverse scanning process.
1857 * - __u8
1858 - ``scaling_list_8x8[6][64]``
1859 - Scaling matrix after applying the inverse scanning process.
1882 .. flat-table:: struct v4l2_ctrl_h264_slice_params
1883 :header-rows: 0
1884 :stub-columns: 0
1887 * - __u32
1888 - ``header_bit_size``
1889 - Offset in bits to slice_data() from the beginning of this slice.
1890 * - __u32
1891 - ``first_mb_in_slice``
1892 -
1893 * - __u8
1894 - ``slice_type``
1895 -
1896 * - __u8
1897 - ``colour_plane_id``
1898 -
1899 * - __u8
1900 - ``redundant_pic_cnt``
1901 -
1902 * - __u8
1903 - ``cabac_init_idc``
1904 -
1905 * - __s8
1906 - ``slice_qp_delta``
1907 -
1908 * - __s8
1909 - ``slice_qs_delta``
1910 -
1911 * - __u8
1912 - ``disable_deblocking_filter_idc``
1913 -
1914 * - __s8
1915 - ``slice_alpha_c0_offset_div2``
1916 -
1917 * - __s8
1918 - ``slice_beta_offset_div2``
1919 -
1920 * - __u8
1921 - ``num_ref_idx_l0_active_minus1``
1922 - If num_ref_idx_active_override_flag is not set, this field must be
1924 * - __u8
1925 - ``num_ref_idx_l1_active_minus1``
1926 - If num_ref_idx_active_override_flag is not set, this field must be
1928 * - __u8
1929 - ``reserved``
1930 - Applications and drivers must set this to zero.
1931 * - struct :c:type:`v4l2_h264_reference`
1932 - ``ref_pic_list0[32]``
1933 - Reference picture list after applying the per-slice modifications
1934 * - struct :c:type:`v4l2_h264_reference`
1935 - ``ref_pic_list1[32]``
1936 - Reference picture list after applying the per-slice modifications
1937 * - __u32
1938 - ``flags``
1939 - See :ref:`Slice Parameter Flags <h264_slice_flags>`
1947 .. flat-table::
1948 :header-rows: 0
1949 :stub-columns: 0
1952 * - ``V4L2_H264_SLICE_FLAG_DIRECT_SPATIAL_MV_PRED``
1953 - 0x00000001
1954 -
1955 * - ``V4L2_H264_SLICE_FLAG_SP_FOR_SWITCH``
1956 - 0x00000002
1957 -
1975 .. flat-table:: struct v4l2_ctrl_h264_pred_weights
1976 :header-rows: 0
1977 :stub-columns: 0
1980 * - __u16
1981 - ``luma_log2_weight_denom``
1982 -
1983 * - __u16
1984 - ``chroma_log2_weight_denom``
1985 -
1986 * - struct :c:type:`v4l2_h264_weight_factors`
1987 - ``weight_factors[2]``
1988 - The weight factors at index 0 are the weight factors for the reference
1995 .. flat-table:: struct v4l2_h264_weight_factors
1996 :header-rows: 0
1997 :stub-columns: 0
2000 * - __s16
2001 - ``luma_weight[32]``
2002 -
2003 * - __s16
2004 - ``luma_offset[32]``
2005 -
2006 * - __s16
2007 - ``chroma_weight[32][2]``
2008 -
2009 * - __s16
2010 - ``chroma_offset[32][2]``
2011 -
2019 .. flat-table:: struct v4l2_h264_reference
2020 :header-rows: 0
2021 :stub-columns: 0
2024 * - __u8
2025 - ``fields``
2026 - Specifies how the picture is referenced. See :ref:`Reference Fields <h264_ref_fields>`
2027 * - __u8
2028 - ``index``
2029 - Index into the :c:type:`v4l2_ctrl_h264_decode_params`.dpb array.
2037 .. flat-table::
2038 :header-rows: 0
2039 :stub-columns: 0
2042 * - ``V4L2_H264_TOP_FIELD_REF``
2043 - 0x1
2044 - The top field in field pair is used for short-term reference.
2045 * - ``V4L2_H264_BOTTOM_FIELD_REF``
2046 - 0x2
2047 - The bottom field in field pair is used for short-term reference.
2048 * - ``V4L2_H264_FRAME_REF``
2049 - 0x3
2050 - The frame (or the top/bottom fields, if it's a field pair)
2051 is used for short-term reference.
2071 .. flat-table:: struct v4l2_ctrl_h264_decode_params
2072 :header-rows: 0
2073 :stub-columns: 0
2076 * - struct :c:type:`v4l2_h264_dpb_entry`
2077 - ``dpb[16]``
2078 -
2079 * - __u16
2080 - ``nal_ref_idc``
2081 - NAL reference ID value coming from the NAL Unit header
2082 * - __u16
2083 - ``frame_num``
2084 -
2085 * - __s32
2086 - ``top_field_order_cnt``
2087 - Picture Order Count for the coded top field
2088 * - __s32
2089 - ``bottom_field_order_cnt``
2090 - Picture Order Count for the coded bottom field
2091 * - __u16
2092 - ``idr_pic_id``
2093 -
2094 * - __u16
2095 - ``pic_order_cnt_lsb``
2096 -
2097 * - __s32
2098 - ``delta_pic_order_cnt_bottom``
2099 -
2100 * - __s32
2101 - ``delta_pic_order_cnt0``
2102 -
2103 * - __s32
2104 - ``delta_pic_order_cnt1``
2105 -
2106 * - __u32
2107 - ``dec_ref_pic_marking_bit_size``
2108 - Size in bits of the dec_ref_pic_marking() syntax element.
2109 * - __u32
2110 - ``pic_order_cnt_bit_size``
2111 - Combined size in bits of the picture order count related syntax
2114 * - __u32
2115 - ``slice_group_change_cycle``
2116 -
2117 * - __u32
2118 - ``reserved``
2119 - Applications and drivers must set this to zero.
2120 * - __u32
2121 - ``flags``
2122 - See :ref:`Decode Parameters Flags <h264_decode_params_flags>`
2130 .. flat-table::
2131 :header-rows: 0
2132 :stub-columns: 0
2135 * - ``V4L2_H264_DECODE_PARAM_FLAG_IDR_PIC``
2136 - 0x00000001
2137 - That picture is an IDR picture
2138 * - ``V4L2_H264_DECODE_PARAM_FLAG_FIELD_PIC``
2139 - 0x00000002
2140 -
2141 * - ``V4L2_H264_DECODE_PARAM_FLAG_BOTTOM_FIELD``
2142 - 0x00000004
2143 -
2149 .. flat-table:: struct v4l2_h264_dpb_entry
2150 :header-rows: 0
2151 :stub-columns: 0
2154 * - __u64
2155 - ``reference_ts``
2156 - Timestamp of the V4L2 capture buffer to use as reference, used
2157 with B-coded and P-coded frames. The timestamp refers to the
2161 * - __u32
2162 - ``pic_num``
2163 -
2164 * - __u16
2165 - ``frame_num``
2166 -
2167 * - __u8
2168 - ``fields``
2169 - Specifies how the DPB entry is referenced. See :ref:`Reference Fields <h264_ref_fields>`
2170 * - __u8
2171 - ``reserved[5]``
2172 - Applications and drivers must set this to zero.
2173 * - __s32
2174 - ``top_field_order_cnt``
2175 -
2176 * - __s32
2177 - ``bottom_field_order_cnt``
2178 -
2179 * - __u32
2180 - ``flags``
2181 - See :ref:`DPB Entry Flags <h264_dpb_flags>`
2189 .. flat-table::
2190 :header-rows: 0
2191 :stub-columns: 0
2194 * - ``V4L2_H264_DPB_ENTRY_FLAG_VALID``
2195 - 0x00000001
2196 - The DPB entry is valid (non-empty) and should be considered.
2197 * - ``V4L2_H264_DPB_ENTRY_FLAG_ACTIVE``
2198 - 0x00000002
2199 - The DPB entry is used for reference.
2200 * - ``V4L2_H264_DPB_ENTRY_FLAG_LONG_TERM``
2201 - 0x00000004
2202 - The DPB entry is used for long-term reference.
2203 * - ``V4L2_H264_DPB_ENTRY_FLAG_FIELD``
2204 - 0x00000008
2205 - The DPB entry is a single field or a complementary field pair.
2208 Specifies the decoding mode to use. Currently exposes slice-based and
2209 frame-based decoding but new modes might be added later on.
2226 .. flat-table::
2227 :header-rows: 0
2228 :stub-columns: 0
2231 * - ``V4L2_MPEG_VIDEO_H264_DECODE_MODE_SLICE_BASED``
2232 - 0
2233 - Decoding is done at the slice granularity.
2239 * - ``V4L2_MPEG_VIDEO_H264_DECODE_MODE_FRAME_BASED``
2240 - 1
2241 - Decoding is done at the frame granularity,
2267 .. flat-table::
2268 :header-rows: 0
2269 :stub-columns: 0
2272 * - ``V4L2_MPEG_VIDEO_H264_START_CODE_NONE``
2273 - 0
2274 - Selecting this value specifies that H264 slices are passed
2276 * - ``V4L2_MPEG_VIDEO_H264_START_CODE_ANNEX_B``
2277 - 1
2278 - Selecting this value specifies that H264 slices are expected
2280 valid start codes can be 3-bytes 0x000001 or 4-bytes 0x00000001.
2282 .. _v4l2-mpeg-mpeg2:
2286 associated MPEG-2 slice data. This includes the necessary parameters for
2287 configuring a stateless hardware decoding pipeline for MPEG-2.
2301 .. flat-table:: struct v4l2_ctrl_mpeg2_slice_params
2302 :header-rows: 0
2303 :stub-columns: 0
2306 * - __u32
2307 - ``bit_size``
2308 - Size (in bits) of the current slice data.
2309 * - __u32
2310 - ``data_bit_offset``
2311 - Offset (in bits) to the video data in the current slice data.
2312 * - struct :c:type:`v4l2_mpeg2_sequence`
2313 - ``sequence``
2314 - Structure with MPEG-2 sequence metadata, merging relevant fields from
2316 * - struct :c:type:`v4l2_mpeg2_picture`
2317 - ``picture``
2318 - Structure with MPEG-2 picture metadata, merging relevant fields from
2320 * - __u64
2321 - ``backward_ref_ts``
2322 - Timestamp of the V4L2 capture buffer to use as backward reference, used
2323 with B-coded and P-coded frames. The timestamp refers to the
2327 * - __u64
2328 - ``forward_ref_ts``
2329 - Timestamp for the V4L2 capture buffer to use as forward reference, used
2330 with B-coded frames. The timestamp refers to the ``timestamp`` field in
2334 * - __u32
2335 - ``quantiser_scale_code``
2336 - Code used to determine the quantization scale to use for the IDCT.
2344 .. flat-table:: struct v4l2_mpeg2_sequence
2345 :header-rows: 0
2346 :stub-columns: 0
2349 * - __u16
2350 - ``horizontal_size``
2351 - The width of the displayable part of the frame's luminance component.
2352 * - __u16
2353 - ``vertical_size``
2354 - The height of the displayable part of the frame's luminance component.
2355 * - __u32
2356 - ``vbv_buffer_size``
2357 - Used to calculate the required size of the video buffering verifier,
2359 * - __u16
2360 - ``profile_and_level_indication``
2361 - The current profile and level indication as extracted from the
2363 * - __u8
2364 - ``progressive_sequence``
2365 - Indication that all the frames for the sequence are progressive instead
2367 * - __u8
2368 - ``chroma_format``
2369 - The chrominance sub-sampling format (1: 4:2:0, 2: 4:2:2, 3: 4:4:4).
2377 .. flat-table:: struct v4l2_mpeg2_picture
2378 :header-rows: 0
2379 :stub-columns: 0
2382 * - __u8
2383 - ``picture_coding_type``
2384 - Picture coding type for the frame covered by the current slice
2387 * - __u8
2388 - ``f_code[2][2]``
2389 - Motion vector codes.
2390 * - __u8
2391 - ``intra_dc_precision``
2392 - Precision of Discrete Cosine transform (0: 8 bits precision,
2394 * - __u8
2395 - ``picture_structure``
2396 - Picture structure (1: interlaced top field, 2: interlaced bottom field,
2398 * - __u8
2399 - ``top_field_first``
2400 - If set to 1 and interlaced stream, top field is output first.
2401 * - __u8
2402 - ``frame_pred_frame_dct``
2403 - If set to 1, only frame-DCT and frame prediction are used.
2404 * - __u8
2405 - ``concealment_motion_vectors``
2406 - If set to 1, motion vectors are coded for intra macroblocks.
2407 * - __u8
2408 - ``q_scale_type``
2409 - This flag affects the inverse quantization process.
2410 * - __u8
2411 - ``intra_vlc_format``
2412 - This flag affects the decoding of transform coefficient data.
2413 * - __u8
2414 - ``alternate_scan``
2415 - This flag affects the decoding of transform coefficient data.
2416 * - __u8
2417 - ``repeat_first_field``
2418 - This flag affects the decoding process of progressive frames.
2419 * - __u16
2420 - ``progressive_frame``
2421 - Indicates whether the current frame is progressive.
2425 associated MPEG-2 slice data.
2442 .. flat-table:: struct v4l2_ctrl_mpeg2_quantization
2443 :header-rows: 0
2444 :stub-columns: 0
2447 * - __u8
2448 - ``load_intra_quantiser_matrix``
2449 - One bit to indicate whether to load the ``intra_quantiser_matrix`` data.
2450 * - __u8
2451 - ``load_non_intra_quantiser_matrix``
2452 - One bit to indicate whether to load the ``non_intra_quantiser_matrix``
2454 * - __u8
2455 - ``load_chroma_intra_quantiser_matrix``
2456 - One bit to indicate whether to load the
2457 ``chroma_intra_quantiser_matrix`` data, only relevant for non-4:2:0 YUV
2459 * - __u8
2460 - ``load_chroma_non_intra_quantiser_matrix``
2461 - One bit to indicate whether to load the
2462 ``chroma_non_intra_quantiser_matrix`` data, only relevant for non-4:2:0
2464 * - __u8
2465 - ``intra_quantiser_matrix[64]``
2466 - The quantization matrix coefficients for intra-coded frames, in zigzag
2468 although it can be superseded by the chroma-specific matrix for
2469 non-4:2:0 YUV formats.
2470 * - __u8
2471 - ``non_intra_quantiser_matrix[64]``
2472 - The quantization matrix coefficients for non-intra-coded frames, in
2474 components, although it can be superseded by the chroma-specific matrix
2475 for non-4:2:0 YUV formats.
2476 * - __u8
2477 - ``chroma_intra_quantiser_matrix[64]``
2478 - The quantization matrix coefficients for the chominance component of
2479 intra-coded frames, in zigzag scanning order. Only relevant for
2480 non-4:2:0 YUV formats.
2481 * - __u8
2482 - ``chroma_non_intra_quantiser_matrix[64]``
2483 - The quantization matrix coefficients for the chrominance component of
2484 non-intra-coded frames, in zigzag scanning order. Only relevant for
2485 non-4:2:0 YUV formats.
2495 .. _v4l2-mpeg-vp8:
2514 .. flat-table:: struct v4l2_ctrl_vp8_frame_header
2515 :header-rows: 0
2516 :stub-columns: 0
2519 * - struct :c:type:`v4l2_vp8_segment_header`
2520 - ``segment_header``
2521 - Structure with segment-based adjustments metadata.
2522 * - struct :c:type:`v4l2_vp8_loopfilter_header`
2523 - ``loopfilter_header``
2524 - Structure with loop filter level adjustments metadata.
2525 * - struct :c:type:`v4l2_vp8_quantization_header`
2526 - ``quant_header``
2527 - Structure with VP8 dequantization indices metadata.
2528 * - struct :c:type:`v4l2_vp8_entropy_header`
2529 - ``entropy_header``
2530 - Structure with VP8 entropy coder probabilities metadata.
2531 * - struct :c:type:`v4l2_vp8_entropy_coder_state`
2532 - ``coder_state``
2533 - Structure with VP8 entropy coder state.
2534 * - __u16
2535 - ``width``
2536 - The width of the frame. Must be set for all frames.
2537 * - __u16
2538 - ``height``
2539 - The height of the frame. Must be set for all frames.
2540 * - __u8
2541 - ``horizontal_scale``
2542 - Horizontal scaling factor.
2543 * - __u8
2544 - ``vertical_scaling factor``
2545 - Vertical scale.
2546 * - __u8
2547 - ``version``
2548 - Bitstream version.
2549 * - __u8
2550 - ``prob_skip_false``
2551 - Indicates the probability that the macroblock is not skipped.
2552 * - __u8
2553 - ``prob_intra``
2554 - Indicates the probability that a macroblock is intra-predicted.
2555 * - __u8
2556 - ``prob_last``
2557 - Indicates the probability that the last reference frame is used
2558 for inter-prediction
2559 * - __u8
2560 - ``prob_gf``
2561 - Indicates the probability that the golden reference frame is used
2562 for inter-prediction
2563 * - __u8
2564 - ``num_dct_parts``
2565 - Number of DCT coefficients partitions. Must be one of: 1, 2, 4, or 8.
2566 * - __u32
2567 - ``first_part_size``
2568 - Size of the first partition, i.e. the control partition.
2569 * - __u32
2570 - ``first_part_header_bits``
2571 - Size in bits of the first partition header portion.
2572 * - __u32
2573 - ``dct_part_sizes[8]``
2574 - DCT coefficients sizes.
2575 * - __u64
2576 - ``last_frame_ts``
2577 - Timestamp for the V4L2 capture buffer to use as last reference frame, used
2578 with inter-coded frames. The timestamp refers to the ``timestamp`` field in
2582 * - __u64
2583 - ``golden_frame_ts``
2584 - Timestamp for the V4L2 capture buffer to use as last reference frame, used
2585 with inter-coded frames. The timestamp refers to the ``timestamp`` field in
2589 * - __u64
2590 - ``alt_frame_ts``
2591 - Timestamp for the V4L2 capture buffer to use as alternate reference frame, used
2592 with inter-coded frames. The timestamp refers to the ``timestamp`` field in
2596 * - __u64
2597 - ``flags``
2598 - See :ref:`Frame Header Flags <vp8_frame_header_flags>`
2606 .. flat-table::
2607 :header-rows: 0
2608 :stub-columns: 0
2611 * - ``V4L2_VP8_FRAME_HEADER_FLAG_KEY_FRAME``
2612 - 0x01
2613 - Indicates if the frame is a key frame.
2614 * - ``V4L2_VP8_FRAME_HEADER_FLAG_EXPERIMENTAL``
2615 - 0x02
2616 - Experimental bitstream.
2617 * - ``V4L2_VP8_FRAME_HEADER_FLAG_SHOW_FRAME``
2618 - 0x04
2619 - Show frame flag, indicates if the frame is for display.
2620 * - ``V4L2_VP8_FRAME_HEADER_FLAG_MB_NO_SKIP_COEFF``
2621 - 0x08
2622 - Enable/disable skipping of macroblocks with no non-zero coefficients.
2623 * - ``V4L2_VP8_FRAME_HEADER_FLAG_SIGN_BIAS_GOLDEN``
2624 - 0x10
2625 - Sign of motion vectors when the golden frame is referenced.
2626 * - ``V4L2_VP8_FRAME_HEADER_FLAG_SIGN_BIAS_ALT``
2627 - 0x20
2628 - Sign of motion vectors when the alt frame is referenced.
2636 .. flat-table:: struct v4l2_vp8_entropy_coder_state
2637 :header-rows: 0
2638 :stub-columns: 0
2641 * - __u8
2642 - ``range``
2643 -
2644 * - __u8
2645 - ``value``
2646 -
2647 * - __u8
2648 - ``bit_count``
2649 -
2650 * - __u8
2651 - ``padding``
2652 - Applications and drivers must set this to zero.
2660 .. flat-table:: struct v4l2_vp8_segment_header
2661 :header-rows: 0
2662 :stub-columns: 0
2665 * - __s8
2666 - ``quant_update[4]``
2667 - Signed quantizer value update.
2668 * - __s8
2669 - ``lf_update[4]``
2670 - Signed loop filter level value update.
2671 * - __u8
2672 - ``segment_probs[3]``
2673 - Segment probabilities.
2674 * - __u8
2675 - ``padding``
2676 - Applications and drivers must set this to zero.
2677 * - __u32
2678 - ``flags``
2679 - See :ref:`Segment Header Flags <vp8_segment_header_flags>`
2687 .. flat-table::
2688 :header-rows: 0
2689 :stub-columns: 0
2692 * - ``V4L2_VP8_SEGMENT_HEADER_FLAG_ENABLED``
2693 - 0x01
2694 - Enable/disable segment-based adjustments.
2695 * - ``V4L2_VP8_SEGMENT_HEADER_FLAG_UPDATE_MAP``
2696 - 0x02
2697 - Indicates if the macroblock segmentation map is updated in this frame.
2698 * - ``V4L2_VP8_SEGMENT_HEADER_FLAG_UPDATE_FEATURE_DATA``
2699 - 0x04
2700 - Indicates if the segment feature data is updated in this frame.
2701 * - ``V4L2_VP8_SEGMENT_HEADER_FLAG_DELTA_VALUE_MODE``
2702 - 0x08
2703 - If is set, the segment feature data mode is delta-value.
2704 If cleared, it's absolute-value.
2712 .. flat-table:: struct v4l2_vp8_loopfilter_header
2713 :header-rows: 0
2714 :stub-columns: 0
2717 * - __s8
2718 - ``ref_frm_delta[4]``
2719 - Reference adjustment (signed) delta value.
2720 * - __s8
2721 - ``mb_mode_delta[4]``
2722 - Macroblock prediction mode adjustment (signed) delta value.
2723 * - __u8
2724 - ``sharpness_level``
2725 - Sharpness level
2726 * - __u8
2727 - ``level``
2728 - Filter level
2729 * - __u16
2730 - ``padding``
2731 - Applications and drivers must set this to zero.
2732 * - __u32
2733 - ``flags``
2734 - See :ref:`Loopfilter Header Flags <vp8_loopfilter_header_flags>`
2742 .. flat-table::
2743 :header-rows: 0
2744 :stub-columns: 0
2747 * - ``V4L2_VP8_LF_HEADER_ADJ_ENABLE``
2748 - 0x01
2749 - Enable/disable macroblock-level loop filter adjustment.
2750 * - ``V4L2_VP8_LF_HEADER_DELTA_UPDATE``
2751 - 0x02
2752 - Indicates if the delta values used in an adjustment are updated.
2753 * - ``V4L2_VP8_LF_FILTER_TYPE_SIMPLE``
2754 - 0x04
2755 - If set, indicates the filter type is simple.
2764 .. flat-table:: struct v4l2_vp8_quantization_header
2765 :header-rows: 0
2766 :stub-columns: 0
2769 * - __u8
2770 - ``y_ac_qi``
2771 - Luma AC coefficient table index.
2772 * - __s8
2773 - ``y_dc_delta``
2774 - Luma DC delta vaue.
2775 * - __s8
2776 - ``y2_dc_delta``
2777 - Y2 block DC delta value.
2778 * - __s8
2779 - ``y2_ac_delta``
2780 - Y2 block AC delta value.
2781 * - __s8
2782 - ``uv_dc_delta``
2783 - Chroma DC delta value.
2784 * - __s8
2785 - ``uv_ac_delta``
2786 - Chroma AC delta value.
2787 * - __u16
2788 - ``padding``
2789 - Applications and drivers must set this to zero.
2797 .. flat-table:: struct v4l2_vp8_entropy_header
2798 :header-rows: 0
2799 :stub-columns: 0
2802 * - __u8
2803 - ``coeff_probs[4][8][3][11]``
2804 - Coefficient update probabilities.
2805 * - __u8
2806 - ``y_mode_probs[4]``
2807 - Luma mode update probabilities.
2808 * - __u8
2809 - ``uv_mode_probs[3]``
2810 - Chroma mode update probabilities.
2811 * - __u8
2812 - ``mv_probs[2][19]``
2813 - MV decoding update probabilities.
2814 * - __u8
2815 - ``padding[3]``
2816 - Applications and drivers must set this to zero.
2831 .. _mfc51-control-id:
2834 -------------------
2866 Padding enable in the encoder - use a color instead of repeating
2871 32-bit integer is interpreted as follows (bit 0 = least significant
2876 .. flat-table::
2877 :header-rows: 0
2878 :stub-columns: 0
2880 * - Bit 0:7
2881 - V chrominance information
2882 * - Bit 8:15
2883 - U chrominance information
2884 * - Bit 16:23
2885 - Y luminance information
2886 * - Bit 24:31
2887 - Must be zero.
2928 .. _v4l2-mpeg-mfc51-video-frame-skip-mode:
2938 enum v4l2_mpeg_mfc51_video_frame_skip_mode -
2951 .. flat-table::
2952 :header-rows: 0
2953 :stub-columns: 0
2955 * - ``V4L2_MPEG_MFC51_FRAME_SKIP_MODE_DISABLED``
2956 - Frame skip mode is disabled.
2957 * - ``V4L2_MPEG_MFC51_FRAME_SKIP_MODE_LEVEL_LIMIT``
2958 - Frame skip mode enabled and buffer limit is set by the chosen
2960 * - ``V4L2_MPEG_MFC51_FRAME_SKIP_MODE_BUF_LIMIT``
2961 - Frame skip mode enabled and buffer limit is set by the VBV
2969 Enable rate-control with fixed target bit. If this setting is
2980 .. _v4l2-mpeg-mfc51-video-force-frame-type:
2985 enum v4l2_mpeg_mfc51_video_force_frame_type -
2991 .. flat-table::
2992 :header-rows: 0
2993 :stub-columns: 0
2995 * - ``V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_DISABLED``
2996 - Forcing a specific frame type disabled.
2997 * - ``V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_I_FRAME``
2998 - Force an I-frame.
2999 * - ``V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_NOT_CODED``
3000 - Force a non-coded frame.
3003 .. _v4l2-mpeg-fwht:
3021 .. flat-table:: struct v4l2_ctrl_fwht_params
3022 :header-rows: 0
3023 :stub-columns: 0
3026 * - __u64
3027 - ``backward_ref_ts``
3028 - Timestamp of the V4L2 capture buffer to use as backward reference, used
3029 with P-coded frames. The timestamp refers to the
3033 * - __u32
3034 - ``version``
3035 - The version of the codec
3036 * - __u32
3037 - ``width``
3038 - The width of the frame
3039 * - __u32
3040 - ``height``
3041 - The height of the frame
3042 * - __u32
3043 - ``flags``
3044 - The flags of the frame, see :ref:`fwht-flags`.
3045 * - __u32
3046 - ``colorspace``
3047 - The colorspace of the frame, from enum :c:type:`v4l2_colorspace`.
3048 * - __u32
3049 - ``xfer_func``
3050 - The transfer function, from enum :c:type:`v4l2_xfer_func`.
3051 * - __u32
3052 - ``ycbcr_enc``
3053 - The Y'CbCr encoding, from enum :c:type:`v4l2_ycbcr_encoding`.
3054 * - __u32
3055 - ``quantization``
3056 - The quantization range, from enum :c:type:`v4l2_quantization`.
3060 .. _fwht-flags:
3069 .. flat-table::
3070 :header-rows: 0
3071 :stub-columns: 0
3074 * - ``FWHT_FL_IS_INTERLACED``
3075 - 0x00000001
3076 - Set if this is an interlaced format
3077 * - ``FWHT_FL_IS_BOTTOM_FIRST``
3078 - 0x00000002
3079 - Set if this is a bottom-first (NTSC) interlaced format
3080 * - ``FWHT_FL_IS_ALTERNATE``
3081 - 0x00000004
3082 - Set if each 'frame' contains just one field
3083 * - ``FWHT_FL_IS_BOTTOM_FIELD``
3084 - 0x00000008
3085 - If FWHT_FL_IS_ALTERNATE was set, then this is set if this 'frame' is the
3087 * - ``FWHT_FL_LUMA_IS_UNCOMPRESSED``
3088 - 0x00000010
3089 - Set if the luma plane is uncompressed
3090 * - ``FWHT_FL_CB_IS_UNCOMPRESSED``
3091 - 0x00000020
3092 - Set if the cb plane is uncompressed
3093 * - ``FWHT_FL_CR_IS_UNCOMPRESSED``
3094 - 0x00000040
3095 - Set if the cr plane is uncompressed
3096 * - ``FWHT_FL_CHROMA_FULL_HEIGHT``
3097 - 0x00000080
3098 - Set if the chroma plane has the same height as the luma plane,
3100 * - ``FWHT_FL_CHROMA_FULL_WIDTH``
3101 - 0x00000100
3102 - Set if the chroma plane has the same width as the luma plane,
3104 * - ``FWHT_FL_ALPHA_IS_UNCOMPRESSED``
3105 - 0x00000200
3106 - Set if the alpha plane is uncompressed
3107 * - ``FWHT_FL_I_FRAME``
3108 - 0x00000400
3109 - Set if this is an I-frame
3110 * - ``FWHT_FL_COMPONENTS_NUM_MSK``
3111 - 0x00070000
3112 - A 4-values flag - the number of components - 1
3113 * - ``FWHT_FL_PIXENC_YUV``
3114 - 0x00080000
3115 - Set if the pixel encoding is YUV
3116 * - ``FWHT_FL_PIXENC_RGB``
3117 - 0x00100000
3118 - Set if the pixel encoding is RGB
3119 * - ``FWHT_FL_PIXENC_HSV``
3120 - 0x00180000
3121 - Set if the pixel encoding is HSV
3131 .. _cx2341x-control-id:
3134 -------------------
3136 .. _v4l2-mpeg-cx2341x-video-spatial-filter-mode:
3141 enum v4l2_mpeg_cx2341x_video_spatial_filter_mode -
3147 .. flat-table::
3148 :header-rows: 0
3149 :stub-columns: 0
3151 * - ``V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL``
3152 - Choose the filter manually
3153 * - ``V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO``
3154 - Choose the filter automatically
3158 ``V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER (integer (0-15))``
3162 .. _luma-spatial-filter-type:
3167 enum v4l2_mpeg_cx2341x_video_luma_spatial_filter_type -
3177 .. flat-table::
3178 :header-rows: 0
3179 :stub-columns: 0
3181 * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF``
3182 - No filter
3183 * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR``
3184 - One-dimensional horizontal
3185 * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT``
3186 - One-dimensional vertical
3187 * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE``
3188 - Two-dimensional separable
3189 * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE``
3190 - Two-dimensional symmetrical non-separable
3198 .. _chroma-spatial-filter-type:
3203 enum v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type -
3210 .. flat-table::
3211 :header-rows: 0
3212 :stub-columns: 0
3214 * - ``V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF``
3215 - No filter
3216 * - ``V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR``
3217 - One-dimensional horizontal
3221 .. _v4l2-mpeg-cx2341x-video-temporal-filter-mode:
3226 enum v4l2_mpeg_cx2341x_video_temporal_filter_mode -
3232 .. flat-table::
3233 :header-rows: 0
3234 :stub-columns: 0
3236 * - ``V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL``
3237 - Choose the filter manually
3238 * - ``V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO``
3239 - Choose the filter automatically
3243 ``V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER (integer (0-31))``
3245 is 8 for full-scale capturing and 0 for scaled capturing.)
3247 .. _v4l2-mpeg-cx2341x-video-median-filter-type:
3252 enum v4l2_mpeg_cx2341x_video_median_filter_type -
3257 .. flat-table::
3258 :header-rows: 0
3259 :stub-columns: 0
3261 * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF``
3262 - No filter
3263 * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR``
3264 - Horizontal filter
3265 * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_VERT``
3266 - Vertical filter
3267 * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT``
3268 - Horizontal and vertical filter
3269 * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG``
3270 - Diagonal filter
3274 ``V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM (integer (0-255))``
3278 ``V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP (integer (0-255))``
3282 ``V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM (integer (0-255))``
3286 ``V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP (integer (0-255))``
3291 The CX2341X MPEG encoder can insert one empty MPEG-2 PES packet into
3306 .. _vpx-control-id:
3309 ---------------
3311 .. _v4l2-vpx-num-partitions:
3316 enum v4l2_vp8_num_partitions -
3322 .. flat-table::
3323 :header-rows: 0
3324 :stub-columns: 0
3326 * - ``V4L2_CID_MPEG_VIDEO_VPX_1_PARTITION``
3327 - 1 coefficient partition
3328 * - ``V4L2_CID_MPEG_VIDEO_VPX_2_PARTITIONS``
3329 - 2 coefficient partitions
3330 * - ``V4L2_CID_MPEG_VIDEO_VPX_4_PARTITIONS``
3331 - 4 coefficient partitions
3332 * - ``V4L2_CID_MPEG_VIDEO_VPX_8_PARTITIONS``
3333 - 8 coefficient partitions
3340 .. _v4l2-vpx-num-ref-frames:
3345 enum v4l2_vp8_num_ref_frames -
3355 .. flat-table::
3356 :header-rows: 0
3357 :stub-columns: 0
3359 * - ``V4L2_CID_MPEG_VIDEO_VPX_1_REF_FRAME``
3360 - Last encoded frame will be searched
3361 * - ``V4L2_CID_MPEG_VIDEO_VPX_2_REF_FRAME``
3362 - Two frames will be searched among the last encoded frame, the
3365 * - ``V4L2_CID_MPEG_VIDEO_VPX_3_REF_FRAME``
3366 - The last encoded frame, the golden frame and the altref frame will
3392 .. _v4l2-vpx-golden-frame-sel:
3397 enum v4l2_vp8_golden_frame_sel -
3406 .. flat-table::
3407 :header-rows: 0
3408 :stub-columns: 0
3410 * - ``V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_PREV``
3411 - Use the (n-2)th frame as a golden frame, current frame index being
3413 * - ``V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_REF_PERIOD``
3414 - Use the previous specific frame indicated by
3435 .. _v4l2-mpeg-video-vp8-profile:
3440 enum v4l2_mpeg_video_vp8_profile -
3445 .. flat-table::
3446 :header-rows: 0
3447 :stub-columns: 0
3449 * - ``V4L2_MPEG_VIDEO_VP8_PROFILE_0``
3450 - Profile 0
3451 * - ``V4L2_MPEG_VIDEO_VP8_PROFILE_1``
3452 - Profile 1
3453 * - ``V4L2_MPEG_VIDEO_VP8_PROFILE_2``
3454 - Profile 2
3455 * - ``V4L2_MPEG_VIDEO_VP8_PROFILE_3``
3456 - Profile 3
3458 .. _v4l2-mpeg-video-vp9-profile:
3463 enum v4l2_mpeg_video_vp9_profile -
3468 .. flat-table::
3469 :header-rows: 0
3470 :stub-columns: 0
3472 * - ``V4L2_MPEG_VIDEO_VP9_PROFILE_0``
3473 - Profile 0
3474 * - ``V4L2_MPEG_VIDEO_VP9_PROFILE_1``
3475 - Profile 1
3476 * - ``V4L2_MPEG_VIDEO_VP9_PROFILE_2``
3477 - Profile 2
3478 * - ``V4L2_MPEG_VIDEO_VP9_PROFILE_3``
3479 - Profile 3
3481 .. _v4l2-mpeg-video-vp9-level:
3485 enum v4l2_mpeg_video_vp9_level -
3491 .. flat-table::
3492 :header-rows: 0
3493 :stub-columns: 0
3495 * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_1_0``
3496 - Level 1
3497 * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_1_1``
3498 - Level 1.1
3499 * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_2_0``
3500 - Level 2
3501 * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_2_1``
3502 - Level 2.1
3503 * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_3_0``
3504 - Level 3
3505 * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_3_1``
3506 - Level 3.1
3507 * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_4_0``
3508 - Level 4
3509 * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_4_1``
3510 - Level 4.1
3511 * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_5_0``
3512 - Level 5
3513 * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_5_1``
3514 - Level 5.1
3515 * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_5_2``
3516 - Level 5.2
3517 * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_6_0``
3518 - Level 6
3519 * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_6_1``
3520 - Level 6.1
3521 * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_6_2``
3522 - Level 6.2
3525 High Efficiency Video Coding (HEVC/H.265) Control Reference
3532 .. _hevc-control-id:
3535 ----------------------
3562 quality to a range. Valid range: from 0 to 51 for 8 bit and from 0 to 63 for 10 bit.
3568 quality to a range. Valid range: from 0 to 51 for 8 bit and from 0 to 63 for 10 bit.
3574 quality to a range. Valid range: from 0 to 51 for 8 bit and from 0 to 63 for 10 bit.
3580 quality to a range. Valid range: from 0 to 51 for 8 bit and from 0 to 63 for 10 bit.
3586 quality to a range. Valid range: from 0 to 51 for 8 bit and from 0 to 63 for 10 bit.
3592 quality to a range. Valid range: from 0 to 51 for 8 bit and from 0 to 63 for 10 bit.
3602 .. _v4l2-hevc-hier-coding-type:
3607 enum v4l2_mpeg_video_hevc_hier_coding_type -
3616 .. flat-table::
3617 :header-rows: 0
3618 :stub-columns: 0
3620 * - ``V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B``
3621 - Use the B frame for hierarchical coding.
3622 * - ``V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P``
3623 - Use the P frame for hierarchical coding.
3632 (non-hierarchial coding), it should be zero. Possible values are [0, 6].
3671 .. _v4l2-hevc-profile:
3676 enum v4l2_mpeg_video_hevc_profile -
3685 .. flat-table::
3686 :header-rows: 0
3687 :stub-columns: 0
3689 * - ``V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN``
3690 - Main profile.
3691 * - ``V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE``
3692 - Main still picture profile.
3693 * - ``V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10``
3694 - Main 10 profile.
3701 .. _v4l2-hevc-level:
3706 enum v4l2_mpeg_video_hevc_level -
3715 .. flat-table::
3716 :header-rows: 0
3717 :stub-columns: 0
3719 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_1``
3720 - Level 1.0
3721 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_2``
3722 - Level 2.0
3723 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_2_1``
3724 - Level 2.1
3725 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_3``
3726 - Level 3.0
3727 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_3_1``
3728 - Level 3.1
3729 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_4``
3730 - Level 4.0
3731 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1``
3732 - Level 4.1
3733 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_5``
3734 - Level 5.0
3735 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1``
3736 - Level 5.1
3737 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2``
3738 - Level 5.2
3739 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_6``
3740 - Level 6.0
3741 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1``
3742 - Level 6.1
3743 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_6_2``
3744 - Level 6.2
3756 .. _v4l2-hevc-tier:
3761 enum v4l2_mpeg_video_hevc_tier -
3765 this flag to 1 indicates High tier. High tier is for applications requiring
3766 high bit rates.
3774 .. flat-table::
3775 :header-rows: 0
3776 :stub-columns: 0
3778 * - ``V4L2_MPEG_VIDEO_HEVC_TIER_MAIN``
3779 - Main tier.
3780 * - ``V4L2_MPEG_VIDEO_HEVC_TIER_HIGH``
3781 - High tier.
3791 .. _v4l2-hevc-loop-filter-mode:
3796 enum v4l2_mpeg_video_hevc_loop_filter_mode -
3805 .. flat-table::
3806 :header-rows: 0
3807 :stub-columns: 0
3809 * - ``V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED``
3810 - Loop filter is disabled.
3811 * - ``V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED``
3812 - Loop filter is enabled.
3813 * - ``V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY``
3814 - Loop filter is disabled at the slice boundary.
3822 Selects HEVC loop filter beta offset. The valid range is [-6, +6].
3825 Selects HEVC loop filter tc offset. The valid range is [-6, +6].
3827 .. _v4l2-hevc-refresh-type:
3832 enum v4l2_mpeg_video_hevc_hier_refresh_type -
3843 .. flat-table::
3844 :header-rows: 0
3845 :stub-columns: 0
3847 * - ``V4L2_MPEG_VIDEO_HEVC_REFRESH_NONE``
3848 - Use the B frame for hierarchical coding.
3849 * - ``V4L2_MPEG_VIDEO_HEVC_REFRESH_CRA``
3850 - Use CRA (Clean Random Access Unit) picture encoding.
3851 * - ``V4L2_MPEG_VIDEO_HEVC_REFRESH_IDR``
3852 - Use IDR (Instantaneous Decoding Refresh) picture encoding.
3889 Indicates bi-linear interpolation is conditionally used in the intra
3890 prediction filtering process in the CVS when set to 1. Indicates bi-linear
3908 .. _v4l2-hevc-size-of-length-field:
3913 enum v4l2_mpeg_video_hevc_size_of_length_field -
3923 .. flat-table::
3924 :header-rows: 0
3925 :stub-columns: 0
3927 * - ``V4L2_MPEG_VIDEO_HEVC_SIZE_0``
3928 - Generate start code pattern (Normal).
3929 * - ``V4L2_MPEG_VIDEO_HEVC_SIZE_1``
3930 - Generate size of length field instead of start code pattern and length is 1.
3931 * - ``V4L2_MPEG_VIDEO_HEVC_SIZE_2``
3932 - Generate size of length field instead of start code pattern and length is 2.
3933 * - ``V4L2_MPEG_VIDEO_HEVC_SIZE_4``
3934 - Generate size of length field instead of start code pattern and length is 4.
3963 P-Frame can use 1 or 2 frames for reference.
3970 .. _v4l2-mpeg-hevc:
3983 .. flat-table:: struct v4l2_ctrl_hevc_sps
3984 :header-rows: 0
3985 :stub-columns: 0
3988 * - __u16
3989 - ``pic_width_in_luma_samples``
3990 -
3991 * - __u16
3992 - ``pic_height_in_luma_samples``
3993 -
3994 * - __u8
3995 - ``bit_depth_luma_minus8``
3996 -
3997 * - __u8
3998 - ``bit_depth_chroma_minus8``
3999 -
4000 * - __u8
4001 - ``log2_max_pic_order_cnt_lsb_minus4``
4002 -
4003 * - __u8
4004 - ``sps_max_dec_pic_buffering_minus1``
4005 -
4006 * - __u8
4007 - ``sps_max_num_reorder_pics``
4008 -
4009 * - __u8
4010 - ``sps_max_latency_increase_plus1``
4011 -
4012 * - __u8
4013 - ``log2_min_luma_coding_block_size_minus3``
4014 -
4015 * - __u8
4016 - ``log2_diff_max_min_luma_coding_block_size``
4017 -
4018 * - __u8
4019 - ``log2_min_luma_transform_block_size_minus2``
4020 -
4021 * - __u8
4022 - ``log2_diff_max_min_luma_transform_block_size``
4023 -
4024 * - __u8
4025 - ``max_transform_hierarchy_depth_inter``
4026 -
4027 * - __u8
4028 - ``max_transform_hierarchy_depth_intra``
4029 -
4030 * - __u8
4031 - ``pcm_sample_bit_depth_luma_minus1``
4032 -
4033 * - __u8
4034 - ``pcm_sample_bit_depth_chroma_minus1``
4035 -
4036 * - __u8
4037 - ``log2_min_pcm_luma_coding_block_size_minus3``
4038 -
4039 * - __u8
4040 - ``log2_diff_max_min_pcm_luma_coding_block_size``
4041 -
4042 * - __u8
4043 - ``num_short_term_ref_pic_sets``
4044 -
4045 * - __u8
4046 - ``num_long_term_ref_pics_sps``
4047 -
4048 * - __u8
4049 - ``chroma_format_idc``
4050 -
4051 * - __u64
4052 - ``flags``
4053 - See :ref:`Sequence Parameter Set Flags <hevc_sps_flags>`
4061 .. flat-table::
4062 :header-rows: 0
4063 :stub-columns: 0
4066 * - ``V4L2_HEVC_SPS_FLAG_SEPARATE_COLOUR_PLANE``
4067 - 0x00000001
4068 -
4069 * - ``V4L2_HEVC_SPS_FLAG_SCALING_LIST_ENABLED``
4070 - 0x00000002
4071 -
4072 * - ``V4L2_HEVC_SPS_FLAG_AMP_ENABLED``
4073 - 0x00000004
4074 -
4075 * - ``V4L2_HEVC_SPS_FLAG_SAMPLE_ADAPTIVE_OFFSET``
4076 - 0x00000008
4077 -
4078 * - ``V4L2_HEVC_SPS_FLAG_PCM_ENABLED``
4079 - 0x00000010
4080 -
4081 * - ``V4L2_HEVC_SPS_FLAG_PCM_LOOP_FILTER_DISABLED``
4082 - 0x00000020
4083 -
4084 * - ``V4L2_HEVC_SPS_FLAG_LONG_TERM_REF_PICS_PRESENT``
4085 - 0x00000040
4086 -
4087 * - ``V4L2_HEVC_SPS_FLAG_SPS_TEMPORAL_MVP_ENABLED``
4088 - 0x00000080
4089 -
4090 * - ``V4L2_HEVC_SPS_FLAG_STRONG_INTRA_SMOOTHING_ENABLED``
4091 - 0x00000100
4092 -
4105 .. flat-table:: struct v4l2_ctrl_hevc_pps
4106 :header-rows: 0
4107 :stub-columns: 0
4110 * - __u8
4111 - ``num_extra_slice_header_bits``
4112 -
4113 * - __s8
4114 - ``init_qp_minus26``
4115 -
4116 * - __u8
4117 - ``diff_cu_qp_delta_depth``
4118 -
4119 * - __s8
4120 - ``pps_cb_qp_offset``
4121 -
4122 * - __s8
4123 - ``pps_cr_qp_offset``
4124 -
4125 * - __u8
4126 - ``num_tile_columns_minus1``
4127 -
4128 * - __u8
4129 - ``num_tile_rows_minus1``
4130 -
4131 * - __u8
4132 - ``column_width_minus1[20]``
4133 -
4134 * - __u8
4135 - ``row_height_minus1[22]``
4136 -
4137 * - __s8
4138 - ``pps_beta_offset_div2``
4139 -
4140 * - __s8
4141 - ``pps_tc_offset_div2``
4142 -
4143 * - __u8
4144 - ``log2_parallel_merge_level_minus2``
4145 -
4146 * - __u8
4147 - ``padding[4]``
4148 - Applications and drivers must set this to zero.
4149 * - __u64
4150 - ``flags``
4151 - See :ref:`Picture Parameter Set Flags <hevc_pps_flags>`
4159 .. flat-table::
4160 :header-rows: 0
4161 :stub-columns: 0
4164 * - ``V4L2_HEVC_PPS_FLAG_DEPENDENT_SLICE_SEGMENT_ENABLED``
4165 - 0x00000001
4166 -
4167 * - ``V4L2_HEVC_PPS_FLAG_OUTPUT_FLAG_PRESENT``
4168 - 0x00000002
4169 -
4170 * - ``V4L2_HEVC_PPS_FLAG_SIGN_DATA_HIDING_ENABLED``
4171 - 0x00000004
4172 -
4173 * - ``V4L2_HEVC_PPS_FLAG_CABAC_INIT_PRESENT``
4174 - 0x00000008
4175 -
4176 * - ``V4L2_HEVC_PPS_FLAG_CONSTRAINED_INTRA_PRED``
4177 - 0x00000010
4178 -
4179 * - ``V4L2_HEVC_PPS_FLAG_TRANSFORM_SKIP_ENABLED``
4180 - 0x00000020
4181 -
4182 * - ``V4L2_HEVC_PPS_FLAG_CU_QP_DELTA_ENABLED``
4183 - 0x00000040
4184 -
4185 * - ``V4L2_HEVC_PPS_FLAG_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT``
4186 - 0x00000080
4187 -
4188 * - ``V4L2_HEVC_PPS_FLAG_WEIGHTED_PRED``
4189 - 0x00000100
4190 -
4191 * - ``V4L2_HEVC_PPS_FLAG_WEIGHTED_BIPRED``
4192 - 0x00000200
4193 -
4194 * - ``V4L2_HEVC_PPS_FLAG_TRANSQUANT_BYPASS_ENABLED``
4195 - 0x00000400
4196 -
4197 * - ``V4L2_HEVC_PPS_FLAG_TILES_ENABLED``
4198 - 0x00000800
4199 -
4200 * - ``V4L2_HEVC_PPS_FLAG_ENTROPY_CODING_SYNC_ENABLED``
4201 - 0x00001000
4202 -
4203 * - ``V4L2_HEVC_PPS_FLAG_LOOP_FILTER_ACROSS_TILES_ENABLED``
4204 - 0x00002000
4205 -
4206 * - ``V4L2_HEVC_PPS_FLAG_PPS_LOOP_FILTER_ACROSS_SLICES_ENABLED``
4207 - 0x00004000
4208 -
4209 * - ``V4L2_HEVC_PPS_FLAG_DEBLOCKING_FILTER_OVERRIDE_ENABLED``
4210 - 0x00008000
4211 -
4212 * - ``V4L2_HEVC_PPS_FLAG_PPS_DISABLE_DEBLOCKING_FILTER``
4213 - 0x00010000
4214 -
4215 * - ``V4L2_HEVC_PPS_FLAG_LISTS_MODIFICATION_PRESENT``
4216 - 0x00020000
4217 -
4218 * - ``V4L2_HEVC_PPS_FLAG_SLICE_SEGMENT_HEADER_EXTENSION_PRESENT``
4219 - 0x00040000
4220 -
4223 Specifies various slice-specific parameters, especially from the NAL unit
4234 .. flat-table:: struct v4l2_ctrl_hevc_slice_params
4235 :header-rows: 0
4236 :stub-columns: 0
4239 * - __u32
4240 - ``bit_size``
4241 - Size (in bits) of the current slice data.
4242 * - __u32
4243 - ``data_bit_offset``
4244 - Offset (in bits) to the video data in the current slice data.
4245 * - __u8
4246 - ``nal_unit_type``
4247 -
4248 * - __u8
4249 - ``nuh_temporal_id_plus1``
4250 -
4251 * - __u8
4252 - ``slice_type``
4253 -
4256 * - __u8
4257 - ``colour_plane_id``
4258 -
4259 * - __u16
4260 - ``slice_pic_order_cnt``
4261 -
4262 * - __u8
4263 - ``num_ref_idx_l0_active_minus1``
4264 -
4265 * - __u8
4266 - ``num_ref_idx_l1_active_minus1``
4267 -
4268 * - __u8
4269 - ``collocated_ref_idx``
4270 -
4271 * - __u8
4272 - ``five_minus_max_num_merge_cand``
4273 -
4274 * - __s8
4275 - ``slice_qp_delta``
4276 -
4277 * - __s8
4278 - ``slice_cb_qp_offset``
4279 -
4280 * - __s8
4281 - ``slice_cr_qp_offset``
4282 -
4283 * - __s8
4284 - ``slice_act_y_qp_offset``
4285 -
4286 * - __s8
4287 - ``slice_act_cb_qp_offset``
4288 -
4289 * - __s8
4290 - ``slice_act_cr_qp_offset``
4291 -
4292 * - __s8
4293 - ``slice_beta_offset_div2``
4294 -
4295 * - __s8
4296 - ``slice_tc_offset_div2``
4297 -
4298 * - __u8
4299 - ``pic_struct``
4300 -
4301 * - __u8
4302 - ``num_active_dpb_entries``
4303 - The number of entries in ``dpb``.
4304 * - __u8
4305 - ``ref_idx_l0[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]``
4306 - The list of L0 reference elements as indices in the DPB.
4307 * - __u8
4308 - ``ref_idx_l1[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]``
4309 - The list of L1 reference elements as indices in the DPB.
4310 * - __u8
4311 - ``num_rps_poc_st_curr_before``
4312 - The number of reference pictures in the short-term set that come before
4314 * - __u8
4315 - ``num_rps_poc_st_curr_after``
4316 - The number of reference pictures in the short-term set that come after
4318 * - __u8
4319 - ``num_rps_poc_lt_curr``
4320 - The number of reference pictures in the long-term set.
4321 * - __u8
4322 - ``padding[7]``
4323 - Applications and drivers must set this to zero.
4324 * - struct :c:type:`v4l2_hevc_dpb_entry`
4325 - ``dpb[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]``
4326 - The decoded picture buffer, for meta-data about reference frames.
4327 * - struct :c:type:`v4l2_hevc_pred_weight_table`
4328 - ``pred_weight_table``
4329 - The prediction weight coefficients for inter-picture prediction.
4330 * - __u64
4331 - ``flags``
4332 - See :ref:`Slice Parameters Flags <hevc_slice_params_flags>`
4340 .. flat-table::
4341 :header-rows: 0
4342 :stub-columns: 0
4345 * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_SAO_LUMA``
4346 - 0x00000001
4347 -
4348 * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_SAO_CHROMA``
4349 - 0x00000002
4350 -
4351 * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_TEMPORAL_MVP_ENABLED``
4352 - 0x00000004
4353 -
4354 * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_MVD_L1_ZERO``
4355 - 0x00000008
4356 -
4357 * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_CABAC_INIT``
4358 - 0x00000010
4359 -
4360 * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_COLLOCATED_FROM_L0``
4361 - 0x00000020
4362 -
4363 * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_USE_INTEGER_MV``
4364 - 0x00000040
4365 -
4366 * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_DEBLOCKING_FILTER_DISABLED``
4367 - 0x00000080
4368 -
4369 * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_LOOP_FILTER_ACROSS_SLICES_ENABLED``
4370 - 0x00000100
4371 -
4372 * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_DEPENDENT_SLICE_SEGMENT``
4373 - 0x00000200
4374 -
4380 .. flat-table:: struct v4l2_hevc_dpb_entry
4381 :header-rows: 0
4382 :stub-columns: 0
4385 * - __u64
4386 - ``timestamp``
4387 - Timestamp of the V4L2 capture buffer to use as reference, used
4388 with B-coded and P-coded frames. The timestamp refers to the
4392 * - __u8
4393 - ``rps``
4394 - The reference set for the reference frame
4398 * - __u8
4399 - ``field_pic``
4400 - Whether the reference is a field picture or a frame.
4401 * - __u16
4402 - ``pic_order_cnt[2]``
4403 - The picture order count of the reference. Only the first element of the
4405 top field and the second the bottom field in field-coded pictures.
4406 * - __u8
4407 - ``padding[2]``
4408 - Applications and drivers must set this to zero.
4414 .. flat-table:: struct v4l2_hevc_pred_weight_table
4415 :header-rows: 0
4416 :stub-columns: 0
4419 * - __u8
4420 - ``luma_log2_weight_denom``
4421 -
4422 * - __s8
4423 - ``delta_chroma_log2_weight_denom``
4424 -
4425 * - __s8
4426 - ``delta_luma_weight_l0[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]``
4427 -
4428 * - __s8
4429 - ``luma_offset_l0[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]``
4430 -
4431 * - __s8
4432 - ``delta_chroma_weight_l0[V4L2_HEVC_DPB_ENTRIES_NUM_MAX][2]``
4433 -
4434 * - __s8
4435 - ``chroma_offset_l0[V4L2_HEVC_DPB_ENTRIES_NUM_MAX][2]``
4436 -
4437 * - __s8
4438 - ``delta_luma_weight_l1[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]``
4439 -
4440 * - __s8
4441 - ``luma_offset_l1[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]``
4442 -
4443 * - __s8
4444 - ``delta_chroma_weight_l1[V4L2_HEVC_DPB_ENTRIES_NUM_MAX][2]``
4445 -
4446 * - __s8
4447 - ``chroma_offset_l1[V4L2_HEVC_DPB_ENTRIES_NUM_MAX][2]``
4448 -
4449 * - __u8
4450 - ``padding[6]``
4451 - Applications and drivers must set this to zero.
4454 Specifies the decoding mode to use. Currently exposes slice-based and
4455 frame-based decoding but new modes might be added later on.
4472 .. flat-table::
4473 :header-rows: 0
4474 :stub-columns: 0
4477 * - ``V4L2_MPEG_VIDEO_HEVC_DECODE_MODE_SLICE_BASED``
4478 - 0
4479 - Decoding is done at the slice granularity.
4481 * - ``V4L2_MPEG_VIDEO_HEVC_DECODE_MODE_FRAME_BASED``
4482 - 1
4483 - Decoding is done at the frame granularity.
4505 .. flat-table::
4506 :header-rows: 0
4507 :stub-columns: 0
4510 * - ``V4L2_MPEG_VIDEO_HEVC_START_CODE_NONE``
4511 - 0
4512 - Selecting this value specifies that HEVC slices are passed
4514 * - ``V4L2_MPEG_VIDEO_HEVC_START_CODE_ANNEX_B``
4515 - 1
4516 - Selecting this value specifies that HEVC slices are expected
4518 valid start codes can be 3-bytes 0x000001 or 4-bytes 0x00000001.
4527 Source Rec. ITU-T H.264 (06/2019); G.7.4.1.1, G.8.8.1.
4537 and given this LTR index which ranges from 0 to LTR_COUNT-1.
4539 Source Rec. ITU-T H.264 (06/2019); Table 7.9
4544 This provides a bitmask which consists of bits [0, LTR_COUNT-1].