Lines Matching +full:aac +full:- +full:mode
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
303 AAC bitrate in bits per second.
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 -
366 MPEG Audio mode. Possible values are:
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 -
391 Joint Stereo audio mode extension. In Layer I and II they indicate
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 -
565 Video bitrate mode. Possible values are:
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
587 the average video bitrate. It is ignored if the video bitrate mode
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
686 .. _v4l2-mpeg-video-h264-vui-sar-idc:
691 enum v4l2_mpeg_video_h264_vui_sar_idc -
693 defined in the table E-1 in the standard. Applicable to the H264
698 .. flat-table::
699 :header-rows: 0
700 :stub-columns: 0
702 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_UNSPECIFIED``
703 - Unspecified
704 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_1x1``
705 - 1x1
706 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_12x11``
707 - 12x11
708 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_10x11``
709 - 10x11
710 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_16x11``
711 - 16x11
712 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_40x33``
713 - 40x33
714 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_24x11``
715 - 24x11
716 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_20x11``
717 - 20x11
718 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_32x11``
719 - 32x11
720 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_80x33``
721 - 80x33
722 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_18x11``
723 - 18x11
724 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_15x11``
725 - 15x11
726 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_64x33``
727 - 64x33
728 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_160x99``
729 - 160x99
730 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_4x3``
731 - 4x3
732 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_3x2``
733 - 3x2
734 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_2x1``
735 - 2x1
736 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_EXTENDED``
737 - Extended SAR
749 .. _v4l2-mpeg-video-h264-level:
754 enum v4l2_mpeg_video_h264_level -
760 .. flat-table::
761 :header-rows: 0
762 :stub-columns: 0
764 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1_0``
765 - Level 1.0
766 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1B``
767 - Level 1B
768 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1_1``
769 - Level 1.1
770 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1_2``
771 - Level 1.2
772 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1_3``
773 - Level 1.3
774 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_2_0``
775 - Level 2.0
776 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_2_1``
777 - Level 2.1
778 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_2_2``
779 - Level 2.2
780 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_3_0``
781 - Level 3.0
782 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_3_1``
783 - Level 3.1
784 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_3_2``
785 - Level 3.2
786 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_4_0``
787 - Level 4.0
788 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_4_1``
789 - Level 4.1
790 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_4_2``
791 - Level 4.2
792 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_5_0``
793 - Level 5.0
794 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_5_1``
795 - Level 5.1
796 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_5_2``
797 - Level 5.2
798 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_6_0``
799 - Level 6.0
800 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_6_1``
801 - Level 6.1
802 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_6_2``
803 - Level 6.2
807 .. _v4l2-mpeg-video-mpeg2-level:
812 enum v4l2_mpeg_video_mpeg2_level -
818 .. flat-table::
819 :header-rows: 0
820 :stub-columns: 0
822 * - ``V4L2_MPEG_VIDEO_MPEG2_LEVEL_LOW``
823 - Low Level (LL)
824 * - ``V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN``
825 - Main Level (ML)
826 * - ``V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH_1440``
827 - High-1440 Level (H-14)
828 * - ``V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH``
829 - High Level (HL)
833 .. _v4l2-mpeg-video-mpeg4-level:
838 enum v4l2_mpeg_video_mpeg4_level -
844 .. flat-table::
845 :header-rows: 0
846 :stub-columns: 0
848 * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_0``
849 - Level 0
850 * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B``
851 - Level 0b
852 * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_1``
853 - Level 1
854 * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_2``
855 - Level 2
856 * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_3``
857 - Level 3
858 * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_3B``
859 - Level 3b
860 * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_4``
861 - Level 4
862 * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_5``
863 - Level 5
867 .. _v4l2-mpeg-video-h264-profile:
872 enum v4l2_mpeg_video_h264_profile -
878 .. flat-table::
879 :header-rows: 0
880 :stub-columns: 0
882 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE``
883 - Baseline profile
884 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE``
885 - Constrained Baseline profile
886 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_MAIN``
887 - Main profile
888 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_EXTENDED``
889 - Extended profile
890 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH``
891 - High profile
892 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10``
893 - High 10 profile
894 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422``
895 - High 422 profile
896 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_PREDICTIVE``
897 - High 444 Predictive profile
898 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10_INTRA``
899 - High 10 Intra profile
900 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422_INTRA``
901 - High 422 Intra profile
902 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_INTRA``
903 - High 444 Intra profile
904 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_CAVLC_444_INTRA``
905 - CAVLC 444 Intra profile
906 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_BASELINE``
907 - Scalable Baseline profile
908 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH``
909 - Scalable High profile
910 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH_INTRA``
911 - Scalable High Intra profile
912 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_STEREO_HIGH``
913 - Stereo High profile
914 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH``
915 - Multiview High profile
916 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH``
917 - Constrained High profile
921 .. _v4l2-mpeg-video-mpeg2-profile:
926 enum v4l2_mpeg_video_mpeg2_profile -
932 .. flat-table::
933 :header-rows: 0
934 :stub-columns: 0
936 * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_SIMPLE``
937 - Simple profile (SP)
938 * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN``
939 - Main profile (MP)
940 * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_SNR_SCALABLE``
941 - SNR Scalable profile (SNR)
942 * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_SPATIALLY_SCALABLE``
943 - Spatially Scalable profile (Spt)
944 * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_HIGH``
945 - High profile (HP)
946 * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_MULTIVIEW``
947 - Multi-view profile (MVP)
951 .. _v4l2-mpeg-video-mpeg4-profile:
956 enum v4l2_mpeg_video_mpeg4_profile -
962 .. flat-table::
963 :header-rows: 0
964 :stub-columns: 0
966 * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE``
967 - Simple profile
968 * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE``
969 - Advanced Simple profile
970 * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_CORE``
971 - Core profile
972 * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE_SCALABLE``
973 - Simple Scalable profile
974 * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY``
975 -
983 .. _v4l2-mpeg-video-multi-slice-mode:
988 enum v4l2_mpeg_video_multi_slice_mode -
996 .. flat-table::
997 :header-rows: 0
998 :stub-columns: 0
1000 * - ``V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE``
1001 - Single slice per frame.
1002 * - ``V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB``
1003 - Multiple slices with set maximum number of macroblocks per slice.
1004 * - ``V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES``
1005 - Multiple slice with set maximum size in bytes per slice.
1021 .. _v4l2-mpeg-video-h264-loop-filter-mode:
1026 enum v4l2_mpeg_video_h264_loop_filter_mode -
1027 Loop filter mode for H264 encoder. Possible values are:
1035 .. flat-table::
1036 :header-rows: 0
1037 :stub-columns: 0
1039 * - ``V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED``
1040 - Loop filter is enabled.
1041 * - ``V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED``
1042 - Loop filter is disabled.
1043 * - ``V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY``
1044 - Loop filter is disabled at the slice boundary.
1054 field, and should be in the range of -6 to +6, inclusive. The actual alpha
1061 should be in the range of -6 to +6, inclusive. The actual beta offset
1065 .. _v4l2-mpeg-video-h264-entropy-mode:
1070 enum v4l2_mpeg_video_h264_entropy_mode -
1071 Entropy coding mode for H264 - CABAC/CAVALC. Applicable to the H264
1078 .. flat-table::
1079 :header-rows: 0
1080 :stub-columns: 0
1082 * - ``V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC``
1083 - Use CAVLC entropy coding.
1084 * - ``V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC``
1085 - Use CABAC entropy coding.
1203 .. _v4l2-mpeg-video-vbv-size:
1215 .. _v4l2-mpeg-video-vbv-delay:
1220 .. _v4l2-mpeg-video-hor-search-range:
1228 .. _v4l2-mpeg-video-vert-search-range:
1236 .. _v4l2-mpeg-video-force-key-frame:
1240 encoders. This is a general, codec-agnostic keyframe control.
1242 .. _v4l2-mpeg-video-h264-cpb-size:
1251 Period between I-frames in the open GOP for H264. In case of an open
1252 GOP this is the period between two I-frames. The period between IDR
1255 Refresh is an I-frame after which no prior frames are referenced.
1260 .. _v4l2-mpeg-video-header-mode:
1265 enum v4l2_mpeg_video_header_mode -
1276 .. flat-table::
1277 :header-rows: 0
1278 :stub-columns: 0
1280 * - ``V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE``
1281 - The stream header is returned separately in the first buffer.
1282 * - ``V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME``
1283 - The stream header is returned together with the first encoded
1318 .. _v4l2-mpeg-video-h264-sei-fp-arrangement-type:
1323 enum v4l2_mpeg_video_h264_sei_fp_arrangement_type -
1333 .. flat-table::
1334 :header-rows: 0
1335 :stub-columns: 0
1337 * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_CHEKERBOARD``
1338 - Pixels are alternatively from L and R.
1339 * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_COLUMN``
1340 - L and R are interlaced by column.
1341 * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_ROW``
1342 - L and R are interlaced by row.
1343 * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_SIDE_BY_SIDE``
1344 - L is on the left, R on the right.
1345 * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TOP_BOTTOM``
1346 - L is on top, R on bottom.
1347 * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TEMPORAL``
1348 - One view per frame.
1361 .. _v4l2-mpeg-video-h264-fmo-map-type:
1366 enum v4l2_mpeg_video_h264_fmo_map_type -
1377 .. flat-table::
1378 :header-rows: 0
1379 :stub-columns: 0
1381 * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_INTERLEAVED_SLICES``
1382 - Slices are interleaved one after other with macroblocks in run
1384 * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_SCATTERED_SLICES``
1385 - Scatters the macroblocks based on a mathematical function known to
1387 * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_FOREGROUND_WITH_LEFT_OVER``
1388 - Macroblocks arranged in rectangular areas or regions of interest.
1389 * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_BOX_OUT``
1390 - Slice groups grow in a cyclic way from centre to outwards.
1391 * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_RASTER_SCAN``
1392 - Slice groups grow in raster scan pattern from left to right.
1393 * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_WIPE_SCAN``
1394 - Slice groups grow in wipe scan pattern from top to bottom.
1395 * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_EXPLICIT``
1396 - User defined map type.
1407 .. _v4l2-mpeg-video-h264-fmo-change-direction:
1412 enum v4l2_mpeg_video_h264_fmo_change_dir -
1418 .. flat-table::
1419 :header-rows: 0
1420 :stub-columns: 0
1422 * - ``V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_RIGHT``
1423 - Raster scan or wipe right.
1424 * - ``V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT``
1425 - Reverse raster scan or wipe left.
1443 The supplied 32-bit integer is interpreted as follows (bit 0 = least
1448 .. flat-table::
1449 :header-rows: 0
1450 :stub-columns: 0
1452 * - Bit 0:15
1453 - Slice ID
1454 * - Bit 16:32
1455 - Slice position or order
1462 .. _v4l2-mpeg-video-h264-hierarchical-coding-type:
1467 enum v4l2_mpeg_video_h264_hierarchical_coding_type -
1473 .. flat-table::
1474 :header-rows: 0
1475 :stub-columns: 0
1477 * - ``V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B``
1478 - Hierarchical B coding.
1479 * - ``V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P``
1480 - Hierarchical P coding.
1490 encoder. The supplied 32-bit integer is interpreted as follows (bit
1495 .. flat-table::
1496 :header-rows: 0
1497 :stub-columns: 0
1499 * - Bit 0:15
1500 - QP value
1501 * - Bit 16:32
1502 - Layer number
1505 .. _v4l2-mpeg-h264:
1526 .. flat-table:: struct v4l2_ctrl_h264_sps
1527 :header-rows: 0
1528 :stub-columns: 0
1531 * - __u8
1532 - ``profile_idc``
1533 -
1534 * - __u8
1535 - ``constraint_set_flags``
1536 - See :ref:`Sequence Parameter Set Constraints Set Flags <h264_sps_constraints_set_flags>`
1537 * - __u8
1538 - ``level_idc``
1539 -
1540 * - __u8
1541 - ``seq_parameter_set_id``
1542 -
1543 * - __u8
1544 - ``chroma_format_idc``
1545 -
1546 * - __u8
1547 - ``bit_depth_luma_minus8``
1548 -
1549 * - __u8
1550 - ``bit_depth_chroma_minus8``
1551 -
1552 * - __u8
1553 - ``log2_max_frame_num_minus4``
1554 -
1555 * - __u8
1556 - ``pic_order_cnt_type``
1557 -
1558 * - __u8
1559 - ``log2_max_pic_order_cnt_lsb_minus4``
1560 -
1561 * - __u8
1562 - ``max_num_ref_frames``
1563 -
1564 * - __u8
1565 - ``num_ref_frames_in_pic_order_cnt_cycle``
1566 -
1567 * - __s32
1568 - ``offset_for_ref_frame[255]``
1569 -
1570 * - __s32
1571 - ``offset_for_non_ref_pic``
1572 -
1573 * - __s32
1574 - ``offset_for_top_to_bottom_field``
1575 -
1576 * - __u16
1577 - ``pic_width_in_mbs_minus1``
1578 -
1579 * - __u16
1580 - ``pic_height_in_map_units_minus1``
1581 -
1582 * - __u32
1583 - ``flags``
1584 - See :ref:`Sequence Parameter Set Flags <h264_sps_flags>`
1592 .. flat-table::
1593 :header-rows: 0
1594 :stub-columns: 0
1597 * - ``V4L2_H264_SPS_CONSTRAINT_SET0_FLAG``
1598 - 0x00000001
1599 -
1600 * - ``V4L2_H264_SPS_CONSTRAINT_SET1_FLAG``
1601 - 0x00000002
1602 -
1603 * - ``V4L2_H264_SPS_CONSTRAINT_SET2_FLAG``
1604 - 0x00000004
1605 -
1606 * - ``V4L2_H264_SPS_CONSTRAINT_SET3_FLAG``
1607 - 0x00000008
1608 -
1609 * - ``V4L2_H264_SPS_CONSTRAINT_SET4_FLAG``
1610 - 0x00000010
1611 -
1612 * - ``V4L2_H264_SPS_CONSTRAINT_SET5_FLAG``
1613 - 0x00000020
1614 -
1622 .. flat-table::
1623 :header-rows: 0
1624 :stub-columns: 0
1627 * - ``V4L2_H264_SPS_FLAG_SEPARATE_COLOUR_PLANE``
1628 - 0x00000001
1629 -
1630 * - ``V4L2_H264_SPS_FLAG_QPPRIME_Y_ZERO_TRANSFORM_BYPASS``
1631 - 0x00000002
1632 -
1633 * - ``V4L2_H264_SPS_FLAG_DELTA_PIC_ORDER_ALWAYS_ZERO``
1634 - 0x00000004
1635 -
1636 * - ``V4L2_H264_SPS_FLAG_GAPS_IN_FRAME_NUM_VALUE_ALLOWED``
1637 - 0x00000008
1638 -
1639 * - ``V4L2_H264_SPS_FLAG_FRAME_MBS_ONLY``
1640 - 0x00000010
1641 -
1642 * - ``V4L2_H264_SPS_FLAG_MB_ADAPTIVE_FRAME_FIELD``
1643 - 0x00000020
1644 -
1645 * - ``V4L2_H264_SPS_FLAG_DIRECT_8X8_INFERENCE``
1646 - 0x00000040
1647 -
1668 .. flat-table:: struct v4l2_ctrl_h264_pps
1669 :header-rows: 0
1670 :stub-columns: 0
1673 * - __u8
1674 - ``pic_parameter_set_id``
1675 -
1676 * - __u8
1677 - ``seq_parameter_set_id``
1678 -
1679 * - __u8
1680 - ``num_slice_groups_minus1``
1681 -
1682 * - __u8
1683 - ``num_ref_idx_l0_default_active_minus1``
1684 -
1685 * - __u8
1686 - ``num_ref_idx_l1_default_active_minus1``
1687 -
1688 * - __u8
1689 - ``weighted_bipred_idc``
1690 -
1691 * - __s8
1692 - ``pic_init_qp_minus26``
1693 -
1694 * - __s8
1695 - ``pic_init_qs_minus26``
1696 -
1697 * - __s8
1698 - ``chroma_qp_index_offset``
1699 -
1700 * - __s8
1701 - ``second_chroma_qp_index_offset``
1702 -
1703 * - __u16
1704 - ``flags``
1705 - See :ref:`Picture Parameter Set Flags <h264_pps_flags>`
1713 .. flat-table::
1714 :header-rows: 0
1715 :stub-columns: 0
1718 * - ``V4L2_H264_PPS_FLAG_ENTROPY_CODING_MODE``
1719 - 0x00000001
1720 -
1721 * - ``V4L2_H264_PPS_FLAG_BOTTOM_FIELD_PIC_ORDER_IN_FRAME_PRESENT``
1722 - 0x00000002
1723 -
1724 * - ``V4L2_H264_PPS_FLAG_WEIGHTED_PRED``
1725 - 0x00000004
1726 -
1727 * - ``V4L2_H264_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT``
1728 - 0x00000008
1729 -
1730 * - ``V4L2_H264_PPS_FLAG_CONSTRAINED_INTRA_PRED``
1731 - 0x00000010
1732 -
1733 * - ``V4L2_H264_PPS_FLAG_REDUNDANT_PIC_CNT_PRESENT``
1734 - 0x00000020
1735 -
1736 * - ``V4L2_H264_PPS_FLAG_TRANSFORM_8X8_MODE``
1737 - 0x00000040
1738 -
1739 * - ``V4L2_H264_PPS_FLAG_SCALING_MATRIX_PRESENT``
1740 - 0x00000080
1741 - Indicates that ``V4L2_CID_MPEG_VIDEO_H264_SCALING_MATRIX``
1761 .. flat-table:: struct v4l2_ctrl_h264_scaling_matrix
1762 :header-rows: 0
1763 :stub-columns: 0
1766 * - __u8
1767 - ``scaling_list_4x4[6][16]``
1768 - Scaling matrix after applying the inverse scanning process.
1772 * - __u8
1773 - ``scaling_list_8x8[6][64]``
1774 - Scaling matrix after applying the inverse scanning process.
1797 .. flat-table:: struct v4l2_ctrl_h264_slice_params
1798 :header-rows: 0
1799 :stub-columns: 0
1802 * - __u32
1803 - ``header_bit_size``
1804 - Offset in bits to slice_data() from the beginning of this slice.
1805 * - __u32
1806 - ``first_mb_in_slice``
1807 -
1808 * - __u8
1809 - ``slice_type``
1810 -
1811 * - __u8
1812 - ``colour_plane_id``
1813 -
1814 * - __u8
1815 - ``redundant_pic_cnt``
1816 -
1817 * - __u8
1818 - ``cabac_init_idc``
1819 -
1820 * - __s8
1821 - ``slice_qp_delta``
1822 -
1823 * - __s8
1824 - ``slice_qs_delta``
1825 -
1826 * - __u8
1827 - ``disable_deblocking_filter_idc``
1828 -
1829 * - __s8
1830 - ``slice_alpha_c0_offset_div2``
1831 -
1832 * - __s8
1833 - ``slice_beta_offset_div2``
1834 -
1835 * - __u8
1836 - ``num_ref_idx_l0_active_minus1``
1837 - If num_ref_idx_active_override_flag is not set, this field must be
1839 * - __u8
1840 - ``num_ref_idx_l1_active_minus1``
1841 - If num_ref_idx_active_override_flag is not set, this field must be
1843 * - __u8
1844 - ``reserved``
1845 - Applications and drivers must set this to zero.
1846 * - struct :c:type:`v4l2_h264_reference`
1847 - ``ref_pic_list0[32]``
1848 - Reference picture list after applying the per-slice modifications
1849 * - struct :c:type:`v4l2_h264_reference`
1850 - ``ref_pic_list1[32]``
1851 - Reference picture list after applying the per-slice modifications
1852 * - __u32
1853 - ``flags``
1854 - See :ref:`Slice Parameter Flags <h264_slice_flags>`
1862 .. flat-table::
1863 :header-rows: 0
1864 :stub-columns: 0
1867 * - ``V4L2_H264_SLICE_FLAG_DIRECT_SPATIAL_MV_PRED``
1868 - 0x00000001
1869 -
1870 * - ``V4L2_H264_SLICE_FLAG_SP_FOR_SWITCH``
1871 - 0x00000002
1872 -
1890 .. flat-table:: struct v4l2_ctrl_h264_pred_weights
1891 :header-rows: 0
1892 :stub-columns: 0
1895 * - __u16
1896 - ``luma_log2_weight_denom``
1897 -
1898 * - __u16
1899 - ``chroma_log2_weight_denom``
1900 -
1901 * - struct :c:type:`v4l2_h264_weight_factors`
1902 - ``weight_factors[2]``
1903 - The weight factors at index 0 are the weight factors for the reference
1910 .. flat-table:: struct v4l2_h264_weight_factors
1911 :header-rows: 0
1912 :stub-columns: 0
1915 * - __s16
1916 - ``luma_weight[32]``
1917 -
1918 * - __s16
1919 - ``luma_offset[32]``
1920 -
1921 * - __s16
1922 - ``chroma_weight[32][2]``
1923 -
1924 * - __s16
1925 - ``chroma_offset[32][2]``
1926 -
1934 .. flat-table:: struct v4l2_h264_reference
1935 :header-rows: 0
1936 :stub-columns: 0
1939 * - __u8
1940 - ``fields``
1941 - Specifies how the picture is referenced. See :ref:`Reference Fields <h264_ref_fields>`
1942 * - __u8
1943 - ``index``
1944 - Index into the :c:type:`v4l2_ctrl_h264_decode_params`.dpb array.
1952 .. flat-table::
1953 :header-rows: 0
1954 :stub-columns: 0
1957 * - ``V4L2_H264_TOP_FIELD_REF``
1958 - 0x1
1959 - The top field in field pair is used for short-term reference.
1960 * - ``V4L2_H264_BOTTOM_FIELD_REF``
1961 - 0x2
1962 - The bottom field in field pair is used for short-term reference.
1963 * - ``V4L2_H264_FRAME_REF``
1964 - 0x3
1965 - The frame (or the top/bottom fields, if it's a field pair)
1966 is used for short-term reference.
1986 .. flat-table:: struct v4l2_ctrl_h264_decode_params
1987 :header-rows: 0
1988 :stub-columns: 0
1991 * - struct :c:type:`v4l2_h264_dpb_entry`
1992 - ``dpb[16]``
1993 -
1994 * - __u16
1995 - ``nal_ref_idc``
1996 - NAL reference ID value coming from the NAL Unit header
1997 * - __u16
1998 - ``frame_num``
1999 -
2000 * - __s32
2001 - ``top_field_order_cnt``
2002 - Picture Order Count for the coded top field
2003 * - __s32
2004 - ``bottom_field_order_cnt``
2005 - Picture Order Count for the coded bottom field
2006 * - __u16
2007 - ``idr_pic_id``
2008 -
2009 * - __u16
2010 - ``pic_order_cnt_lsb``
2011 -
2012 * - __s32
2013 - ``delta_pic_order_cnt_bottom``
2014 -
2015 * - __s32
2016 - ``delta_pic_order_cnt0``
2017 -
2018 * - __s32
2019 - ``delta_pic_order_cnt1``
2020 -
2021 * - __u32
2022 - ``dec_ref_pic_marking_bit_size``
2023 - Size in bits of the dec_ref_pic_marking() syntax element.
2024 * - __u32
2025 - ``pic_order_cnt_bit_size``
2026 - Combined size in bits of the picture order count related syntax
2029 * - __u32
2030 - ``slice_group_change_cycle``
2031 -
2032 * - __u32
2033 - ``reserved``
2034 - Applications and drivers must set this to zero.
2035 * - __u32
2036 - ``flags``
2037 - See :ref:`Decode Parameters Flags <h264_decode_params_flags>`
2045 .. flat-table::
2046 :header-rows: 0
2047 :stub-columns: 0
2050 * - ``V4L2_H264_DECODE_PARAM_FLAG_IDR_PIC``
2051 - 0x00000001
2052 - That picture is an IDR picture
2053 * - ``V4L2_H264_DECODE_PARAM_FLAG_FIELD_PIC``
2054 - 0x00000002
2055 -
2056 * - ``V4L2_H264_DECODE_PARAM_FLAG_BOTTOM_FIELD``
2057 - 0x00000004
2058 -
2064 .. flat-table:: struct v4l2_h264_dpb_entry
2065 :header-rows: 0
2066 :stub-columns: 0
2069 * - __u64
2070 - ``reference_ts``
2071 - Timestamp of the V4L2 capture buffer to use as reference, used
2072 with B-coded and P-coded frames. The timestamp refers to the
2076 * - __u32
2077 - ``pic_num``
2078 -
2079 * - __u16
2080 - ``frame_num``
2081 -
2082 * - __u8
2083 - ``fields``
2084 - Specifies how the DPB entry is referenced. See :ref:`Reference Fields <h264_ref_fields>`
2085 * - __u8
2086 - ``reserved[5]``
2087 - Applications and drivers must set this to zero.
2088 * - __s32
2089 - ``top_field_order_cnt``
2090 -
2091 * - __s32
2092 - ``bottom_field_order_cnt``
2093 -
2094 * - __u32
2095 - ``flags``
2096 - See :ref:`DPB Entry Flags <h264_dpb_flags>`
2104 .. flat-table::
2105 :header-rows: 0
2106 :stub-columns: 0
2109 * - ``V4L2_H264_DPB_ENTRY_FLAG_VALID``
2110 - 0x00000001
2111 - The DPB entry is valid (non-empty) and should be considered.
2112 * - ``V4L2_H264_DPB_ENTRY_FLAG_ACTIVE``
2113 - 0x00000002
2114 - The DPB entry is used for reference.
2115 * - ``V4L2_H264_DPB_ENTRY_FLAG_LONG_TERM``
2116 - 0x00000004
2117 - The DPB entry is used for long-term reference.
2118 * - ``V4L2_H264_DPB_ENTRY_FLAG_FIELD``
2119 - 0x00000008
2120 - The DPB entry is a single field or a complementary field pair.
2123 Specifies the decoding mode to use. Currently exposes slice-based and
2124 frame-based decoding but new modes might be added later on.
2127 are required to set this control in order to specify the decoding mode
2141 .. flat-table::
2142 :header-rows: 0
2143 :stub-columns: 0
2146 * - ``V4L2_MPEG_VIDEO_H264_DECODE_MODE_SLICE_BASED``
2147 - 0
2148 - Decoding is done at the slice granularity.
2150 When this mode is selected, the ``V4L2_CID_MPEG_VIDEO_H264_SLICE_PARAMS``
2154 * - ``V4L2_MPEG_VIDEO_H264_DECODE_MODE_FRAME_BASED``
2155 - 1
2156 - Decoding is done at the frame granularity,
2159 This mode will be supported by devices that
2160 parse the slice(s) header(s) in hardware. When this mode is
2182 .. flat-table::
2183 :header-rows: 0
2184 :stub-columns: 0
2187 * - ``V4L2_MPEG_VIDEO_H264_START_CODE_NONE``
2188 - 0
2189 - Selecting this value specifies that H264 slices are passed
2191 * - ``V4L2_MPEG_VIDEO_H264_START_CODE_ANNEX_B``
2192 - 1
2193 - Selecting this value specifies that H264 slices are expected
2195 valid start codes can be 3-bytes 0x000001 or 4-bytes 0x00000001.
2197 .. _v4l2-mpeg-mpeg2:
2201 associated MPEG-2 slice data. This includes the necessary parameters for
2202 configuring a stateless hardware decoding pipeline for MPEG-2.
2216 .. flat-table:: struct v4l2_ctrl_mpeg2_slice_params
2217 :header-rows: 0
2218 :stub-columns: 0
2221 * - __u32
2222 - ``bit_size``
2223 - Size (in bits) of the current slice data.
2224 * - __u32
2225 - ``data_bit_offset``
2226 - Offset (in bits) to the video data in the current slice data.
2227 * - struct :c:type:`v4l2_mpeg2_sequence`
2228 - ``sequence``
2229 - Structure with MPEG-2 sequence metadata, merging relevant fields from
2231 * - struct :c:type:`v4l2_mpeg2_picture`
2232 - ``picture``
2233 - Structure with MPEG-2 picture metadata, merging relevant fields from
2235 * - __u64
2236 - ``backward_ref_ts``
2237 - Timestamp of the V4L2 capture buffer to use as backward reference, used
2238 with B-coded and P-coded frames. The timestamp refers to the
2242 * - __u64
2243 - ``forward_ref_ts``
2244 - Timestamp for the V4L2 capture buffer to use as forward reference, used
2245 with B-coded frames. The timestamp refers to the ``timestamp`` field in
2249 * - __u32
2250 - ``quantiser_scale_code``
2251 - Code used to determine the quantization scale to use for the IDCT.
2259 .. flat-table:: struct v4l2_mpeg2_sequence
2260 :header-rows: 0
2261 :stub-columns: 0
2264 * - __u16
2265 - ``horizontal_size``
2266 - The width of the displayable part of the frame's luminance component.
2267 * - __u16
2268 - ``vertical_size``
2269 - The height of the displayable part of the frame's luminance component.
2270 * - __u32
2271 - ``vbv_buffer_size``
2272 - Used to calculate the required size of the video buffering verifier,
2274 * - __u16
2275 - ``profile_and_level_indication``
2276 - The current profile and level indication as extracted from the
2278 * - __u8
2279 - ``progressive_sequence``
2280 - Indication that all the frames for the sequence are progressive instead
2282 * - __u8
2283 - ``chroma_format``
2284 - The chrominance sub-sampling format (1: 4:2:0, 2: 4:2:2, 3: 4:4:4).
2292 .. flat-table:: struct v4l2_mpeg2_picture
2293 :header-rows: 0
2294 :stub-columns: 0
2297 * - __u8
2298 - ``picture_coding_type``
2299 - Picture coding type for the frame covered by the current slice
2302 * - __u8
2303 - ``f_code[2][2]``
2304 - Motion vector codes.
2305 * - __u8
2306 - ``intra_dc_precision``
2307 - Precision of Discrete Cosine transform (0: 8 bits precision,
2309 * - __u8
2310 - ``picture_structure``
2311 - Picture structure (1: interlaced top field, 2: interlaced bottom field,
2313 * - __u8
2314 - ``top_field_first``
2315 - If set to 1 and interlaced stream, top field is output first.
2316 * - __u8
2317 - ``frame_pred_frame_dct``
2318 - If set to 1, only frame-DCT and frame prediction are used.
2319 * - __u8
2320 - ``concealment_motion_vectors``
2321 - If set to 1, motion vectors are coded for intra macroblocks.
2322 * - __u8
2323 - ``q_scale_type``
2324 - This flag affects the inverse quantization process.
2325 * - __u8
2326 - ``intra_vlc_format``
2327 - This flag affects the decoding of transform coefficient data.
2328 * - __u8
2329 - ``alternate_scan``
2330 - This flag affects the decoding of transform coefficient data.
2331 * - __u8
2332 - ``repeat_first_field``
2333 - This flag affects the decoding process of progressive frames.
2334 * - __u16
2335 - ``progressive_frame``
2336 - Indicates whether the current frame is progressive.
2340 associated MPEG-2 slice data.
2357 .. flat-table:: struct v4l2_ctrl_mpeg2_quantization
2358 :header-rows: 0
2359 :stub-columns: 0
2362 * - __u8
2363 - ``load_intra_quantiser_matrix``
2364 - One bit to indicate whether to load the ``intra_quantiser_matrix`` data.
2365 * - __u8
2366 - ``load_non_intra_quantiser_matrix``
2367 - One bit to indicate whether to load the ``non_intra_quantiser_matrix``
2369 * - __u8
2370 - ``load_chroma_intra_quantiser_matrix``
2371 - One bit to indicate whether to load the
2372 ``chroma_intra_quantiser_matrix`` data, only relevant for non-4:2:0 YUV
2374 * - __u8
2375 - ``load_chroma_non_intra_quantiser_matrix``
2376 - One bit to indicate whether to load the
2377 ``chroma_non_intra_quantiser_matrix`` data, only relevant for non-4:2:0
2379 * - __u8
2380 - ``intra_quantiser_matrix[64]``
2381 - The quantization matrix coefficients for intra-coded frames, in zigzag
2383 although it can be superseded by the chroma-specific matrix for
2384 non-4:2:0 YUV formats.
2385 * - __u8
2386 - ``non_intra_quantiser_matrix[64]``
2387 - The quantization matrix coefficients for non-intra-coded frames, in
2389 components, although it can be superseded by the chroma-specific matrix
2390 for non-4:2:0 YUV formats.
2391 * - __u8
2392 - ``chroma_intra_quantiser_matrix[64]``
2393 - The quantization matrix coefficients for the chominance component of
2394 intra-coded frames, in zigzag scanning order. Only relevant for
2395 non-4:2:0 YUV formats.
2396 * - __u8
2397 - ``chroma_non_intra_quantiser_matrix[64]``
2398 - The quantization matrix coefficients for the chrominance component of
2399 non-intra-coded frames, in zigzag scanning order. Only relevant for
2400 non-4:2:0 YUV formats.
2410 .. _v4l2-mpeg-vp8:
2429 .. flat-table:: struct v4l2_ctrl_vp8_frame_header
2430 :header-rows: 0
2431 :stub-columns: 0
2434 * - struct :c:type:`v4l2_vp8_segment_header`
2435 - ``segment_header``
2436 - Structure with segment-based adjustments metadata.
2437 * - struct :c:type:`v4l2_vp8_loopfilter_header`
2438 - ``loopfilter_header``
2439 - Structure with loop filter level adjustments metadata.
2440 * - struct :c:type:`v4l2_vp8_quantization_header`
2441 - ``quant_header``
2442 - Structure with VP8 dequantization indices metadata.
2443 * - struct :c:type:`v4l2_vp8_entropy_header`
2444 - ``entropy_header``
2445 - Structure with VP8 entropy coder probabilities metadata.
2446 * - struct :c:type:`v4l2_vp8_entropy_coder_state`
2447 - ``coder_state``
2448 - Structure with VP8 entropy coder state.
2449 * - __u16
2450 - ``width``
2451 - The width of the frame. Must be set for all frames.
2452 * - __u16
2453 - ``height``
2454 - The height of the frame. Must be set for all frames.
2455 * - __u8
2456 - ``horizontal_scale``
2457 - Horizontal scaling factor.
2458 * - __u8
2459 - ``vertical_scaling factor``
2460 - Vertical scale.
2461 * - __u8
2462 - ``version``
2463 - Bitstream version.
2464 * - __u8
2465 - ``prob_skip_false``
2466 - Indicates the probability that the macroblock is not skipped.
2467 * - __u8
2468 - ``prob_intra``
2469 - Indicates the probability that a macroblock is intra-predicted.
2470 * - __u8
2471 - ``prob_last``
2472 - Indicates the probability that the last reference frame is used
2473 for inter-prediction
2474 * - __u8
2475 - ``prob_gf``
2476 - Indicates the probability that the golden reference frame is used
2477 for inter-prediction
2478 * - __u8
2479 - ``num_dct_parts``
2480 - Number of DCT coefficients partitions. Must be one of: 1, 2, 4, or 8.
2481 * - __u32
2482 - ``first_part_size``
2483 - Size of the first partition, i.e. the control partition.
2484 * - __u32
2485 - ``first_part_header_bits``
2486 - Size in bits of the first partition header portion.
2487 * - __u32
2488 - ``dct_part_sizes[8]``
2489 - DCT coefficients sizes.
2490 * - __u64
2491 - ``last_frame_ts``
2492 - Timestamp for the V4L2 capture buffer to use as last reference frame, used
2493 with inter-coded frames. The timestamp refers to the ``timestamp`` field in
2497 * - __u64
2498 - ``golden_frame_ts``
2499 - Timestamp for the V4L2 capture buffer to use as last reference frame, used
2500 with inter-coded frames. The timestamp refers to the ``timestamp`` field in
2504 * - __u64
2505 - ``alt_frame_ts``
2506 - Timestamp for the V4L2 capture buffer to use as alternate reference frame, used
2507 with inter-coded frames. The timestamp refers to the ``timestamp`` field in
2511 * - __u64
2512 - ``flags``
2513 - See :ref:`Frame Header Flags <vp8_frame_header_flags>`
2521 .. flat-table::
2522 :header-rows: 0
2523 :stub-columns: 0
2526 * - ``V4L2_VP8_FRAME_HEADER_FLAG_KEY_FRAME``
2527 - 0x01
2528 - Indicates if the frame is a key frame.
2529 * - ``V4L2_VP8_FRAME_HEADER_FLAG_EXPERIMENTAL``
2530 - 0x02
2531 - Experimental bitstream.
2532 * - ``V4L2_VP8_FRAME_HEADER_FLAG_SHOW_FRAME``
2533 - 0x04
2534 - Show frame flag, indicates if the frame is for display.
2535 * - ``V4L2_VP8_FRAME_HEADER_FLAG_MB_NO_SKIP_COEFF``
2536 - 0x08
2537 - Enable/disable skipping of macroblocks with no non-zero coefficients.
2538 * - ``V4L2_VP8_FRAME_HEADER_FLAG_SIGN_BIAS_GOLDEN``
2539 - 0x10
2540 - Sign of motion vectors when the golden frame is referenced.
2541 * - ``V4L2_VP8_FRAME_HEADER_FLAG_SIGN_BIAS_ALT``
2542 - 0x20
2543 - Sign of motion vectors when the alt frame is referenced.
2551 .. flat-table:: struct v4l2_vp8_entropy_coder_state
2552 :header-rows: 0
2553 :stub-columns: 0
2556 * - __u8
2557 - ``range``
2558 -
2559 * - __u8
2560 - ``value``
2561 -
2562 * - __u8
2563 - ``bit_count``
2564 -
2565 * - __u8
2566 - ``padding``
2567 - Applications and drivers must set this to zero.
2575 .. flat-table:: struct v4l2_vp8_segment_header
2576 :header-rows: 0
2577 :stub-columns: 0
2580 * - __s8
2581 - ``quant_update[4]``
2582 - Signed quantizer value update.
2583 * - __s8
2584 - ``lf_update[4]``
2585 - Signed loop filter level value update.
2586 * - __u8
2587 - ``segment_probs[3]``
2588 - Segment probabilities.
2589 * - __u8
2590 - ``padding``
2591 - Applications and drivers must set this to zero.
2592 * - __u32
2593 - ``flags``
2594 - See :ref:`Segment Header Flags <vp8_segment_header_flags>`
2602 .. flat-table::
2603 :header-rows: 0
2604 :stub-columns: 0
2607 * - ``V4L2_VP8_SEGMENT_HEADER_FLAG_ENABLED``
2608 - 0x01
2609 - Enable/disable segment-based adjustments.
2610 * - ``V4L2_VP8_SEGMENT_HEADER_FLAG_UPDATE_MAP``
2611 - 0x02
2612 - Indicates if the macroblock segmentation map is updated in this frame.
2613 * - ``V4L2_VP8_SEGMENT_HEADER_FLAG_UPDATE_FEATURE_DATA``
2614 - 0x04
2615 - Indicates if the segment feature data is updated in this frame.
2616 * - ``V4L2_VP8_SEGMENT_HEADER_FLAG_DELTA_VALUE_MODE``
2617 - 0x08
2618 - If is set, the segment feature data mode is delta-value.
2619 If cleared, it's absolute-value.
2627 .. flat-table:: struct v4l2_vp8_loopfilter_header
2628 :header-rows: 0
2629 :stub-columns: 0
2632 * - __s8
2633 - ``ref_frm_delta[4]``
2634 - Reference adjustment (signed) delta value.
2635 * - __s8
2636 - ``mb_mode_delta[4]``
2637 - Macroblock prediction mode adjustment (signed) delta value.
2638 * - __u8
2639 - ``sharpness_level``
2640 - Sharpness level
2641 * - __u8
2642 - ``level``
2643 - Filter level
2644 * - __u16
2645 - ``padding``
2646 - Applications and drivers must set this to zero.
2647 * - __u32
2648 - ``flags``
2649 - See :ref:`Loopfilter Header Flags <vp8_loopfilter_header_flags>`
2657 .. flat-table::
2658 :header-rows: 0
2659 :stub-columns: 0
2662 * - ``V4L2_VP8_LF_HEADER_ADJ_ENABLE``
2663 - 0x01
2664 - Enable/disable macroblock-level loop filter adjustment.
2665 * - ``V4L2_VP8_LF_HEADER_DELTA_UPDATE``
2666 - 0x02
2667 - Indicates if the delta values used in an adjustment are updated.
2668 * - ``V4L2_VP8_LF_FILTER_TYPE_SIMPLE``
2669 - 0x04
2670 - If set, indicates the filter type is simple.
2679 .. flat-table:: struct v4l2_vp8_quantization_header
2680 :header-rows: 0
2681 :stub-columns: 0
2684 * - __u8
2685 - ``y_ac_qi``
2686 - Luma AC coefficient table index.
2687 * - __s8
2688 - ``y_dc_delta``
2689 - Luma DC delta vaue.
2690 * - __s8
2691 - ``y2_dc_delta``
2692 - Y2 block DC delta value.
2693 * - __s8
2694 - ``y2_ac_delta``
2695 - Y2 block AC delta value.
2696 * - __s8
2697 - ``uv_dc_delta``
2698 - Chroma DC delta value.
2699 * - __s8
2700 - ``uv_ac_delta``
2701 - Chroma AC delta value.
2702 * - __u16
2703 - ``padding``
2704 - Applications and drivers must set this to zero.
2712 .. flat-table:: struct v4l2_vp8_entropy_header
2713 :header-rows: 0
2714 :stub-columns: 0
2717 * - __u8
2718 - ``coeff_probs[4][8][3][11]``
2719 - Coefficient update probabilities.
2720 * - __u8
2721 - ``y_mode_probs[4]``
2722 - Luma mode update probabilities.
2723 * - __u8
2724 - ``uv_mode_probs[3]``
2725 - Chroma mode update probabilities.
2726 * - __u8
2727 - ``mv_probs[2][19]``
2728 - MV decoding update probabilities.
2729 * - __u8
2730 - ``padding[3]``
2731 - Applications and drivers must set this to zero.
2746 .. _mfc51-control-id:
2749 -------------------
2771 Padding enable in the encoder - use a color instead of repeating
2776 32-bit integer is interpreted as follows (bit 0 = least significant
2781 .. flat-table::
2782 :header-rows: 0
2783 :stub-columns: 0
2785 * - Bit 0:7
2786 - V chrominance information
2787 * - Bit 8:15
2788 - U chrominance information
2789 * - Bit 16:23
2790 - Y luminance information
2791 * - Bit 24:31
2792 - Must be zero.
2833 .. _v4l2-mpeg-mfc51-video-frame-skip-mode:
2843 enum v4l2_mpeg_mfc51_video_frame_skip_mode -
2856 .. flat-table::
2857 :header-rows: 0
2858 :stub-columns: 0
2860 * - ``V4L2_MPEG_MFC51_FRAME_SKIP_MODE_DISABLED``
2861 - Frame skip mode is disabled.
2862 * - ``V4L2_MPEG_MFC51_FRAME_SKIP_MODE_LEVEL_LIMIT``
2863 - Frame skip mode enabled and buffer limit is set by the chosen
2865 * - ``V4L2_MPEG_MFC51_FRAME_SKIP_MODE_BUF_LIMIT``
2866 - Frame skip mode enabled and buffer limit is set by the VBV
2874 Enable rate-control with fixed target bit. If this setting is
2885 .. _v4l2-mpeg-mfc51-video-force-frame-type:
2890 enum v4l2_mpeg_mfc51_video_force_frame_type -
2896 .. flat-table::
2897 :header-rows: 0
2898 :stub-columns: 0
2900 * - ``V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_DISABLED``
2901 - Forcing a specific frame type disabled.
2902 * - ``V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_I_FRAME``
2903 - Force an I-frame.
2904 * - ``V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_NOT_CODED``
2905 - Force a non-coded frame.
2908 .. _v4l2-mpeg-fwht:
2926 .. flat-table:: struct v4l2_ctrl_fwht_params
2927 :header-rows: 0
2928 :stub-columns: 0
2931 * - __u64
2932 - ``backward_ref_ts``
2933 - Timestamp of the V4L2 capture buffer to use as backward reference, used
2934 with P-coded frames. The timestamp refers to the
2938 * - __u32
2939 - ``version``
2940 - The version of the codec
2941 * - __u32
2942 - ``width``
2943 - The width of the frame
2944 * - __u32
2945 - ``height``
2946 - The height of the frame
2947 * - __u32
2948 - ``flags``
2949 - The flags of the frame, see :ref:`fwht-flags`.
2950 * - __u32
2951 - ``colorspace``
2952 - The colorspace of the frame, from enum :c:type:`v4l2_colorspace`.
2953 * - __u32
2954 - ``xfer_func``
2955 - The transfer function, from enum :c:type:`v4l2_xfer_func`.
2956 * - __u32
2957 - ``ycbcr_enc``
2958 - The Y'CbCr encoding, from enum :c:type:`v4l2_ycbcr_encoding`.
2959 * - __u32
2960 - ``quantization``
2961 - The quantization range, from enum :c:type:`v4l2_quantization`.
2965 .. _fwht-flags:
2974 .. flat-table::
2975 :header-rows: 0
2976 :stub-columns: 0
2979 * - ``FWHT_FL_IS_INTERLACED``
2980 - 0x00000001
2981 - Set if this is an interlaced format
2982 * - ``FWHT_FL_IS_BOTTOM_FIRST``
2983 - 0x00000002
2984 - Set if this is a bottom-first (NTSC) interlaced format
2985 * - ``FWHT_FL_IS_ALTERNATE``
2986 - 0x00000004
2987 - Set if each 'frame' contains just one field
2988 * - ``FWHT_FL_IS_BOTTOM_FIELD``
2989 - 0x00000008
2990 - If FWHT_FL_IS_ALTERNATE was set, then this is set if this 'frame' is the
2992 * - ``FWHT_FL_LUMA_IS_UNCOMPRESSED``
2993 - 0x00000010
2994 - Set if the luma plane is uncompressed
2995 * - ``FWHT_FL_CB_IS_UNCOMPRESSED``
2996 - 0x00000020
2997 - Set if the cb plane is uncompressed
2998 * - ``FWHT_FL_CR_IS_UNCOMPRESSED``
2999 - 0x00000040
3000 - Set if the cr plane is uncompressed
3001 * - ``FWHT_FL_CHROMA_FULL_HEIGHT``
3002 - 0x00000080
3003 - Set if the chroma plane has the same height as the luma plane,
3005 * - ``FWHT_FL_CHROMA_FULL_WIDTH``
3006 - 0x00000100
3007 - Set if the chroma plane has the same width as the luma plane,
3009 * - ``FWHT_FL_ALPHA_IS_UNCOMPRESSED``
3010 - 0x00000200
3011 - Set if the alpha plane is uncompressed
3012 * - ``FWHT_FL_I_FRAME``
3013 - 0x00000400
3014 - Set if this is an I-frame
3015 * - ``FWHT_FL_COMPONENTS_NUM_MSK``
3016 - 0x00070000
3017 - A 4-values flag - the number of components - 1
3018 * - ``FWHT_FL_PIXENC_YUV``
3019 - 0x00080000
3020 - Set if the pixel encoding is YUV
3021 * - ``FWHT_FL_PIXENC_RGB``
3022 - 0x00100000
3023 - Set if the pixel encoding is RGB
3024 * - ``FWHT_FL_PIXENC_HSV``
3025 - 0x00180000
3026 - Set if the pixel encoding is HSV
3036 .. _cx2341x-control-id:
3039 -------------------
3041 .. _v4l2-mpeg-cx2341x-video-spatial-filter-mode:
3046 enum v4l2_mpeg_cx2341x_video_spatial_filter_mode -
3047 Sets the Spatial Filter mode (default ``MANUAL``). Possible values
3052 .. flat-table::
3053 :header-rows: 0
3054 :stub-columns: 0
3056 * - ``V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL``
3057 - Choose the filter manually
3058 * - ``V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO``
3059 - Choose the filter automatically
3063 ``V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER (integer (0-15))``
3067 .. _luma-spatial-filter-type:
3072 enum v4l2_mpeg_cx2341x_video_luma_spatial_filter_type -
3082 .. flat-table::
3083 :header-rows: 0
3084 :stub-columns: 0
3086 * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF``
3087 - No filter
3088 * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR``
3089 - One-dimensional horizontal
3090 * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT``
3091 - One-dimensional vertical
3092 * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE``
3093 - Two-dimensional separable
3094 * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE``
3095 - Two-dimensional symmetrical non-separable
3103 .. _chroma-spatial-filter-type:
3108 enum v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type -
3115 .. flat-table::
3116 :header-rows: 0
3117 :stub-columns: 0
3119 * - ``V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF``
3120 - No filter
3121 * - ``V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR``
3122 - One-dimensional horizontal
3126 .. _v4l2-mpeg-cx2341x-video-temporal-filter-mode:
3131 enum v4l2_mpeg_cx2341x_video_temporal_filter_mode -
3132 Sets the Temporal Filter mode (default ``MANUAL``). Possible values
3137 .. flat-table::
3138 :header-rows: 0
3139 :stub-columns: 0
3141 * - ``V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL``
3142 - Choose the filter manually
3143 * - ``V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO``
3144 - Choose the filter automatically
3148 ``V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER (integer (0-31))``
3150 is 8 for full-scale capturing and 0 for scaled capturing.)
3152 .. _v4l2-mpeg-cx2341x-video-median-filter-type:
3157 enum v4l2_mpeg_cx2341x_video_median_filter_type -
3162 .. flat-table::
3163 :header-rows: 0
3164 :stub-columns: 0
3166 * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF``
3167 - No filter
3168 * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR``
3169 - Horizontal filter
3170 * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_VERT``
3171 - Vertical filter
3172 * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT``
3173 - Horizontal and vertical filter
3174 * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG``
3175 - Diagonal filter
3179 ``V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM (integer (0-255))``
3183 ``V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP (integer (0-255))``
3187 ``V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM (integer (0-255))``
3191 ``V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP (integer (0-255))``
3196 The CX2341X MPEG encoder can insert one empty MPEG-2 PES packet into
3211 .. _vpx-control-id:
3214 ---------------
3216 .. _v4l2-vpx-num-partitions:
3221 enum v4l2_vp8_num_partitions -
3227 .. flat-table::
3228 :header-rows: 0
3229 :stub-columns: 0
3231 * - ``V4L2_CID_MPEG_VIDEO_VPX_1_PARTITION``
3232 - 1 coefficient partition
3233 * - ``V4L2_CID_MPEG_VIDEO_VPX_2_PARTITIONS``
3234 - 2 coefficient partitions
3235 * - ``V4L2_CID_MPEG_VIDEO_VPX_4_PARTITIONS``
3236 - 4 coefficient partitions
3237 * - ``V4L2_CID_MPEG_VIDEO_VPX_8_PARTITIONS``
3238 - 8 coefficient partitions
3243 Setting this prevents intra 4x4 mode in the intra mode decision.
3245 .. _v4l2-vpx-num-ref-frames:
3250 enum v4l2_vp8_num_ref_frames -
3260 .. flat-table::
3261 :header-rows: 0
3262 :stub-columns: 0
3264 * - ``V4L2_CID_MPEG_VIDEO_VPX_1_REF_FRAME``
3265 - Last encoded frame will be searched
3266 * - ``V4L2_CID_MPEG_VIDEO_VPX_2_REF_FRAME``
3267 - Two frames will be searched among the last encoded frame, the
3270 * - ``V4L2_CID_MPEG_VIDEO_VPX_3_REF_FRAME``
3271 - The last encoded frame, the golden frame and the altref frame will
3297 .. _v4l2-vpx-golden-frame-sel:
3302 enum v4l2_vp8_golden_frame_sel -
3311 .. flat-table::
3312 :header-rows: 0
3313 :stub-columns: 0
3315 * - ``V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_PREV``
3316 - Use the (n-2)th frame as a golden frame, current frame index being
3318 * - ``V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_REF_PERIOD``
3319 - Use the previous specific frame indicated by
3340 .. _v4l2-mpeg-video-vp8-profile:
3345 enum v4l2_mpeg_video_vp8_profile -
3350 .. flat-table::
3351 :header-rows: 0
3352 :stub-columns: 0
3354 * - ``V4L2_MPEG_VIDEO_VP8_PROFILE_0``
3355 - Profile 0
3356 * - ``V4L2_MPEG_VIDEO_VP8_PROFILE_1``
3357 - Profile 1
3358 * - ``V4L2_MPEG_VIDEO_VP8_PROFILE_2``
3359 - Profile 2
3360 * - ``V4L2_MPEG_VIDEO_VP8_PROFILE_3``
3361 - Profile 3
3363 .. _v4l2-mpeg-video-vp9-profile:
3368 enum v4l2_mpeg_video_vp9_profile -
3373 .. flat-table::
3374 :header-rows: 0
3375 :stub-columns: 0
3377 * - ``V4L2_MPEG_VIDEO_VP9_PROFILE_0``
3378 - Profile 0
3379 * - ``V4L2_MPEG_VIDEO_VP9_PROFILE_1``
3380 - Profile 1
3381 * - ``V4L2_MPEG_VIDEO_VP9_PROFILE_2``
3382 - Profile 2
3383 * - ``V4L2_MPEG_VIDEO_VP9_PROFILE_3``
3384 - Profile 3
3386 .. _v4l2-mpeg-video-vp9-level:
3390 enum v4l2_mpeg_video_vp9_level -
3396 .. flat-table::
3397 :header-rows: 0
3398 :stub-columns: 0
3400 * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_1_0``
3401 - Level 1
3402 * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_1_1``
3403 - Level 1.1
3404 * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_2_0``
3405 - Level 2
3406 * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_2_1``
3407 - Level 2.1
3408 * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_3_0``
3409 - Level 3
3410 * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_3_1``
3411 - Level 3.1
3412 * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_4_0``
3413 - Level 4
3414 * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_4_1``
3415 - Level 4.1
3416 * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_5_0``
3417 - Level 5
3418 * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_5_1``
3419 - Level 5.1
3420 * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_5_2``
3421 - Level 5.2
3422 * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_6_0``
3423 - Level 6
3424 * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_6_1``
3425 - Level 6.1
3426 * - ``V4L2_MPEG_VIDEO_VP9_LEVEL_6_2``
3427 - Level 6.2
3437 .. _hevc-control-id:
3440 ----------------------
3471 .. _v4l2-hevc-hier-coding-type:
3476 enum v4l2_mpeg_video_hevc_hier_coding_type -
3485 .. flat-table::
3486 :header-rows: 0
3487 :stub-columns: 0
3489 * - ``V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B``
3490 - Use the B frame for hierarchical coding.
3491 * - ``V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P``
3492 - Use the P frame for hierarchical coding.
3501 (non-hierarchial coding), it should be zero. Possible values are [0, 6].
3540 .. _v4l2-hevc-profile:
3545 enum v4l2_mpeg_video_hevc_profile -
3554 .. flat-table::
3555 :header-rows: 0
3556 :stub-columns: 0
3558 * - ``V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN``
3559 - Main profile.
3560 * - ``V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE``
3561 - Main still picture profile.
3562 * - ``V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10``
3563 - Main 10 profile.
3570 .. _v4l2-hevc-level:
3575 enum v4l2_mpeg_video_hevc_level -
3584 .. flat-table::
3585 :header-rows: 0
3586 :stub-columns: 0
3588 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_1``
3589 - Level 1.0
3590 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_2``
3591 - Level 2.0
3592 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_2_1``
3593 - Level 2.1
3594 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_3``
3595 - Level 3.0
3596 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_3_1``
3597 - Level 3.1
3598 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_4``
3599 - Level 4.0
3600 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1``
3601 - Level 4.1
3602 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_5``
3603 - Level 5.0
3604 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1``
3605 - Level 5.1
3606 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2``
3607 - Level 5.2
3608 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_6``
3609 - Level 6.0
3610 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1``
3611 - Level 6.1
3612 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_6_2``
3613 - Level 6.2
3625 .. _v4l2-hevc-tier:
3630 enum v4l2_mpeg_video_hevc_tier -
3643 .. flat-table::
3644 :header-rows: 0
3645 :stub-columns: 0
3647 * - ``V4L2_MPEG_VIDEO_HEVC_TIER_MAIN``
3648 - Main tier.
3649 * - ``V4L2_MPEG_VIDEO_HEVC_TIER_HIGH``
3650 - High tier.
3660 .. _v4l2-hevc-loop-filter-mode:
3665 enum v4l2_mpeg_video_hevc_loop_filter_mode -
3666 Loop filter mode for HEVC encoder. Possible values are:
3674 .. flat-table::
3675 :header-rows: 0
3676 :stub-columns: 0
3678 * - ``V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED``
3679 - Loop filter is disabled.
3680 * - ``V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED``
3681 - Loop filter is enabled.
3682 * - ``V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY``
3683 - Loop filter is disabled at the slice boundary.
3691 Selects HEVC loop filter beta offset. The valid range is [-6, +6].
3694 Selects HEVC loop filter tc offset. The valid range is [-6, +6].
3696 .. _v4l2-hevc-refresh-type:
3701 enum v4l2_mpeg_video_hevc_hier_refresh_type -
3712 .. flat-table::
3713 :header-rows: 0
3714 :stub-columns: 0
3716 * - ``V4L2_MPEG_VIDEO_HEVC_REFRESH_NONE``
3717 - Use the B frame for hierarchical coding.
3718 * - ``V4L2_MPEG_VIDEO_HEVC_REFRESH_CRA``
3719 - Use CRA (Clean Random Access Unit) picture encoding.
3720 * - ``V4L2_MPEG_VIDEO_HEVC_REFRESH_IDR``
3721 - Use IDR (Instantaneous Decoding Refresh) picture encoding.
3758 Indicates bi-linear interpolation is conditionally used in the intra
3759 prediction filtering process in the CVS when set to 1. Indicates bi-linear
3777 .. _v4l2-hevc-size-of-length-field:
3782 enum v4l2_mpeg_video_hevc_size_of_length_field -
3792 .. flat-table::
3793 :header-rows: 0
3794 :stub-columns: 0
3796 * - ``V4L2_MPEG_VIDEO_HEVC_SIZE_0``
3797 - Generate start code pattern (Normal).
3798 * - ``V4L2_MPEG_VIDEO_HEVC_SIZE_1``
3799 - Generate size of length field instead of start code pattern and length is 1.
3800 * - ``V4L2_MPEG_VIDEO_HEVC_SIZE_2``
3801 - Generate size of length field instead of start code pattern and length is 2.
3802 * - ``V4L2_MPEG_VIDEO_HEVC_SIZE_4``
3803 - Generate size of length field instead of start code pattern and length is 4.
3832 P-Frame can use 1 or 2 frames for reference.
3839 .. _v4l2-mpeg-hevc:
3852 .. flat-table:: struct v4l2_ctrl_hevc_sps
3853 :header-rows: 0
3854 :stub-columns: 0
3857 * - __u16
3858 - ``pic_width_in_luma_samples``
3859 -
3860 * - __u16
3861 - ``pic_height_in_luma_samples``
3862 -
3863 * - __u8
3864 - ``bit_depth_luma_minus8``
3865 -
3866 * - __u8
3867 - ``bit_depth_chroma_minus8``
3868 -
3869 * - __u8
3870 - ``log2_max_pic_order_cnt_lsb_minus4``
3871 -
3872 * - __u8
3873 - ``sps_max_dec_pic_buffering_minus1``
3874 -
3875 * - __u8
3876 - ``sps_max_num_reorder_pics``
3877 -
3878 * - __u8
3879 - ``sps_max_latency_increase_plus1``
3880 -
3881 * - __u8
3882 - ``log2_min_luma_coding_block_size_minus3``
3883 -
3884 * - __u8
3885 - ``log2_diff_max_min_luma_coding_block_size``
3886 -
3887 * - __u8
3888 - ``log2_min_luma_transform_block_size_minus2``
3889 -
3890 * - __u8
3891 - ``log2_diff_max_min_luma_transform_block_size``
3892 -
3893 * - __u8
3894 - ``max_transform_hierarchy_depth_inter``
3895 -
3896 * - __u8
3897 - ``max_transform_hierarchy_depth_intra``
3898 -
3899 * - __u8
3900 - ``pcm_sample_bit_depth_luma_minus1``
3901 -
3902 * - __u8
3903 - ``pcm_sample_bit_depth_chroma_minus1``
3904 -
3905 * - __u8
3906 - ``log2_min_pcm_luma_coding_block_size_minus3``
3907 -
3908 * - __u8
3909 - ``log2_diff_max_min_pcm_luma_coding_block_size``
3910 -
3911 * - __u8
3912 - ``num_short_term_ref_pic_sets``
3913 -
3914 * - __u8
3915 - ``num_long_term_ref_pics_sps``
3916 -
3917 * - __u8
3918 - ``chroma_format_idc``
3919 -
3920 * - __u64
3921 - ``flags``
3922 - See :ref:`Sequence Parameter Set Flags <hevc_sps_flags>`
3930 .. flat-table::
3931 :header-rows: 0
3932 :stub-columns: 0
3935 * - ``V4L2_HEVC_SPS_FLAG_SEPARATE_COLOUR_PLANE``
3936 - 0x00000001
3937 -
3938 * - ``V4L2_HEVC_SPS_FLAG_SCALING_LIST_ENABLED``
3939 - 0x00000002
3940 -
3941 * - ``V4L2_HEVC_SPS_FLAG_AMP_ENABLED``
3942 - 0x00000004
3943 -
3944 * - ``V4L2_HEVC_SPS_FLAG_SAMPLE_ADAPTIVE_OFFSET``
3945 - 0x00000008
3946 -
3947 * - ``V4L2_HEVC_SPS_FLAG_PCM_ENABLED``
3948 - 0x00000010
3949 -
3950 * - ``V4L2_HEVC_SPS_FLAG_PCM_LOOP_FILTER_DISABLED``
3951 - 0x00000020
3952 -
3953 * - ``V4L2_HEVC_SPS_FLAG_LONG_TERM_REF_PICS_PRESENT``
3954 - 0x00000040
3955 -
3956 * - ``V4L2_HEVC_SPS_FLAG_SPS_TEMPORAL_MVP_ENABLED``
3957 - 0x00000080
3958 -
3959 * - ``V4L2_HEVC_SPS_FLAG_STRONG_INTRA_SMOOTHING_ENABLED``
3960 - 0x00000100
3961 -
3974 .. flat-table:: struct v4l2_ctrl_hevc_pps
3975 :header-rows: 0
3976 :stub-columns: 0
3979 * - __u8
3980 - ``num_extra_slice_header_bits``
3981 -
3982 * - __s8
3983 - ``init_qp_minus26``
3984 -
3985 * - __u8
3986 - ``diff_cu_qp_delta_depth``
3987 -
3988 * - __s8
3989 - ``pps_cb_qp_offset``
3990 -
3991 * - __s8
3992 - ``pps_cr_qp_offset``
3993 -
3994 * - __u8
3995 - ``num_tile_columns_minus1``
3996 -
3997 * - __u8
3998 - ``num_tile_rows_minus1``
3999 -
4000 * - __u8
4001 - ``column_width_minus1[20]``
4002 -
4003 * - __u8
4004 - ``row_height_minus1[22]``
4005 -
4006 * - __s8
4007 - ``pps_beta_offset_div2``
4008 -
4009 * - __s8
4010 - ``pps_tc_offset_div2``
4011 -
4012 * - __u8
4013 - ``log2_parallel_merge_level_minus2``
4014 -
4015 * - __u8
4016 - ``padding[4]``
4017 - Applications and drivers must set this to zero.
4018 * - __u64
4019 - ``flags``
4020 - See :ref:`Picture Parameter Set Flags <hevc_pps_flags>`
4028 .. flat-table::
4029 :header-rows: 0
4030 :stub-columns: 0
4033 * - ``V4L2_HEVC_PPS_FLAG_DEPENDENT_SLICE_SEGMENT``
4034 - 0x00000001
4035 -
4036 * - ``V4L2_HEVC_PPS_FLAG_OUTPUT_FLAG_PRESENT``
4037 - 0x00000002
4038 -
4039 * - ``V4L2_HEVC_PPS_FLAG_SIGN_DATA_HIDING_ENABLED``
4040 - 0x00000004
4041 -
4042 * - ``V4L2_HEVC_PPS_FLAG_CABAC_INIT_PRESENT``
4043 - 0x00000008
4044 -
4045 * - ``V4L2_HEVC_PPS_FLAG_CONSTRAINED_INTRA_PRED``
4046 - 0x00000010
4047 -
4048 * - ``V4L2_HEVC_PPS_FLAG_TRANSFORM_SKIP_ENABLED``
4049 - 0x00000020
4050 -
4051 * - ``V4L2_HEVC_PPS_FLAG_CU_QP_DELTA_ENABLED``
4052 - 0x00000040
4053 -
4054 * - ``V4L2_HEVC_PPS_FLAG_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT``
4055 - 0x00000080
4056 -
4057 * - ``V4L2_HEVC_PPS_FLAG_WEIGHTED_PRED``
4058 - 0x00000100
4059 -
4060 * - ``V4L2_HEVC_PPS_FLAG_WEIGHTED_BIPRED``
4061 - 0x00000200
4062 -
4063 * - ``V4L2_HEVC_PPS_FLAG_TRANSQUANT_BYPASS_ENABLED``
4064 - 0x00000400
4065 -
4066 * - ``V4L2_HEVC_PPS_FLAG_TILES_ENABLED``
4067 - 0x00000800
4068 -
4069 * - ``V4L2_HEVC_PPS_FLAG_ENTROPY_CODING_SYNC_ENABLED``
4070 - 0x00001000
4071 -
4072 * - ``V4L2_HEVC_PPS_FLAG_LOOP_FILTER_ACROSS_TILES_ENABLED``
4073 - 0x00002000
4074 -
4075 * - ``V4L2_HEVC_PPS_FLAG_PPS_LOOP_FILTER_ACROSS_SLICES_ENABLED``
4076 - 0x00004000
4077 -
4078 * - ``V4L2_HEVC_PPS_FLAG_DEBLOCKING_FILTER_OVERRIDE_ENABLED``
4079 - 0x00008000
4080 -
4081 * - ``V4L2_HEVC_PPS_FLAG_PPS_DISABLE_DEBLOCKING_FILTER``
4082 - 0x00010000
4083 -
4084 * - ``V4L2_HEVC_PPS_FLAG_LISTS_MODIFICATION_PRESENT``
4085 - 0x00020000
4086 -
4087 * - ``V4L2_HEVC_PPS_FLAG_SLICE_SEGMENT_HEADER_EXTENSION_PRESENT``
4088 - 0x00040000
4089 -
4092 Specifies various slice-specific parameters, especially from the NAL unit
4103 .. flat-table:: struct v4l2_ctrl_hevc_slice_params
4104 :header-rows: 0
4105 :stub-columns: 0
4108 * - __u32
4109 - ``bit_size``
4110 - Size (in bits) of the current slice data.
4111 * - __u32
4112 - ``data_bit_offset``
4113 - Offset (in bits) to the video data in the current slice data.
4114 * - __u8
4115 - ``nal_unit_type``
4116 -
4117 * - __u8
4118 - ``nuh_temporal_id_plus1``
4119 -
4120 * - __u8
4121 - ``slice_type``
4122 -
4125 * - __u8
4126 - ``colour_plane_id``
4127 -
4128 * - __u16
4129 - ``slice_pic_order_cnt``
4130 -
4131 * - __u8
4132 - ``num_ref_idx_l0_active_minus1``
4133 -
4134 * - __u8
4135 - ``num_ref_idx_l1_active_minus1``
4136 -
4137 * - __u8
4138 - ``collocated_ref_idx``
4139 -
4140 * - __u8
4141 - ``five_minus_max_num_merge_cand``
4142 -
4143 * - __s8
4144 - ``slice_qp_delta``
4145 -
4146 * - __s8
4147 - ``slice_cb_qp_offset``
4148 -
4149 * - __s8
4150 - ``slice_cr_qp_offset``
4151 -
4152 * - __s8
4153 - ``slice_act_y_qp_offset``
4154 -
4155 * - __s8
4156 - ``slice_act_cb_qp_offset``
4157 -
4158 * - __s8
4159 - ``slice_act_cr_qp_offset``
4160 -
4161 * - __s8
4162 - ``slice_beta_offset_div2``
4163 -
4164 * - __s8
4165 - ``slice_tc_offset_div2``
4166 -
4167 * - __u8
4168 - ``pic_struct``
4169 -
4170 * - __u8
4171 - ``num_active_dpb_entries``
4172 - The number of entries in ``dpb``.
4173 * - __u8
4174 - ``ref_idx_l0[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]``
4175 - The list of L0 reference elements as indices in the DPB.
4176 * - __u8
4177 - ``ref_idx_l1[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]``
4178 - The list of L1 reference elements as indices in the DPB.
4179 * - __u8
4180 - ``num_rps_poc_st_curr_before``
4181 - The number of reference pictures in the short-term set that come before
4183 * - __u8
4184 - ``num_rps_poc_st_curr_after``
4185 - The number of reference pictures in the short-term set that come after
4187 * - __u8
4188 - ``num_rps_poc_lt_curr``
4189 - The number of reference pictures in the long-term set.
4190 * - __u8
4191 - ``padding[7]``
4192 - Applications and drivers must set this to zero.
4193 * - struct :c:type:`v4l2_hevc_dpb_entry`
4194 - ``dpb[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]``
4195 - The decoded picture buffer, for meta-data about reference frames.
4196 * - struct :c:type:`v4l2_hevc_pred_weight_table`
4197 - ``pred_weight_table``
4198 - The prediction weight coefficients for inter-picture prediction.
4199 * - __u64
4200 - ``flags``
4201 - See :ref:`Slice Parameters Flags <hevc_slice_params_flags>`
4209 .. flat-table::
4210 :header-rows: 0
4211 :stub-columns: 0
4214 * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_SAO_LUMA``
4215 - 0x00000001
4216 -
4217 * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_SAO_CHROMA``
4218 - 0x00000002
4219 -
4220 * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_TEMPORAL_MVP_ENABLED``
4221 - 0x00000004
4222 -
4223 * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_MVD_L1_ZERO``
4224 - 0x00000008
4225 -
4226 * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_CABAC_INIT``
4227 - 0x00000010
4228 -
4229 * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_COLLOCATED_FROM_L0``
4230 - 0x00000020
4231 -
4232 * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_USE_INTEGER_MV``
4233 - 0x00000040
4234 -
4235 * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_DEBLOCKING_FILTER_DISABLED``
4236 - 0x00000080
4237 -
4238 * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_LOOP_FILTER_ACROSS_SLICES_ENABLED``
4239 - 0x00000100
4240 -
4246 .. flat-table:: struct v4l2_hevc_dpb_entry
4247 :header-rows: 0
4248 :stub-columns: 0
4251 * - __u64
4252 - ``timestamp``
4253 - Timestamp of the V4L2 capture buffer to use as reference, used
4254 with B-coded and P-coded frames. The timestamp refers to the
4258 * - __u8
4259 - ``rps``
4260 - The reference set for the reference frame
4264 * - __u8
4265 - ``field_pic``
4266 - Whether the reference is a field picture or a frame.
4267 * - __u16
4268 - ``pic_order_cnt[2]``
4269 - The picture order count of the reference. Only the first element of the
4271 top field and the second the bottom field in field-coded pictures.
4272 * - __u8
4273 - ``padding[2]``
4274 - Applications and drivers must set this to zero.
4280 .. flat-table:: struct v4l2_hevc_pred_weight_table
4281 :header-rows: 0
4282 :stub-columns: 0
4285 * - __u8
4286 - ``luma_log2_weight_denom``
4287 -
4288 * - __s8
4289 - ``delta_chroma_log2_weight_denom``
4290 -
4291 * - __s8
4292 - ``delta_luma_weight_l0[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]``
4293 -
4294 * - __s8
4295 - ``luma_offset_l0[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]``
4296 -
4297 * - __s8
4298 - ``delta_chroma_weight_l0[V4L2_HEVC_DPB_ENTRIES_NUM_MAX][2]``
4299 -
4300 * - __s8
4301 - ``chroma_offset_l0[V4L2_HEVC_DPB_ENTRIES_NUM_MAX][2]``
4302 -
4303 * - __s8
4304 - ``delta_luma_weight_l1[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]``
4305 -
4306 * - __s8
4307 - ``luma_offset_l1[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]``
4308 -
4309 * - __s8
4310 - ``delta_chroma_weight_l1[V4L2_HEVC_DPB_ENTRIES_NUM_MAX][2]``
4311 -
4312 * - __s8
4313 - ``chroma_offset_l1[V4L2_HEVC_DPB_ENTRIES_NUM_MAX][2]``
4314 -
4315 * - __u8
4316 - ``padding[6]``
4317 - Applications and drivers must set this to zero.
4320 Specifies the decoding mode to use. Currently exposes slice-based and
4321 frame-based decoding but new modes might be added later on.
4324 are required to set this control in order to specify the decoding mode
4338 .. flat-table::
4339 :header-rows: 0
4340 :stub-columns: 0
4343 * - ``V4L2_MPEG_VIDEO_HEVC_DECODE_MODE_SLICE_BASED``
4344 - 0
4345 - Decoding is done at the slice granularity.
4347 * - ``V4L2_MPEG_VIDEO_HEVC_DECODE_MODE_FRAME_BASED``
4348 - 1
4349 - Decoding is done at the frame granularity.
4371 .. flat-table::
4372 :header-rows: 0
4373 :stub-columns: 0
4376 * - ``V4L2_MPEG_VIDEO_HEVC_START_CODE_NONE``
4377 - 0
4378 - Selecting this value specifies that HEVC slices are passed
4380 * - ``V4L2_MPEG_VIDEO_HEVC_START_CODE_ANNEX_B``
4381 - 1
4382 - Selecting this value specifies that HEVC slices are expected
4384 valid start codes can be 3-bytes 0x000001 or 4-bytes 0x00000001.