Lines Matching +full:video +full:- +full:encoder
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
42 here. Each hardware MPEG encoder tends to support different subsets
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
75 Video Packet ID for the MPEG transport stream (default 260)
85 Video ID for MPEG PES
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
458 hardware, which can still produce a slight hiss, but in the encoder
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 -
508 MPEG Video encoding method. This control is specific to multiplexed
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 -
532 Video aspect. Possible values are:
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
583 Video bitrate in bits per second.
586 Peak video bitrate in bits per second. Must be larger or equal to
587 the average video bitrate. It is ignored if the video bitrate mode
595 Encoder will decide the appropriate quantization parameter and
601 enum v4l2_mpeg_video_frame_skip_mode -
602 Indicates in what conditions the encoder should skip frames. If
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.
637 "Mutes" the video to a fixed color when capturing. This is useful
638 for testing, to produce a fixed video bitstream. 0 = unmuted, 1 =
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
683 Enable writing sample aspect ratio in the Video Usability
684 Information. Applicable to the H264 encoder.
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
694 encoder.
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
743 Applicable to the H264 encoder.
747 Applicable to the H264 encoder.
749 .. _v4l2-mpeg-video-h264-level:
754 enum v4l2_mpeg_video_h264_level -
755 The level information for the H264 video elementary stream.
756 Applicable to the H264 encoder. Possible values are:
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 -
840 the MPEG4 encoder. Possible values are:
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 -
873 The profile information for H264. Applicable to the H264 encoder.
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 -
957 The profile information for MPEG4. Applicable to the MPEG4 encoder.
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 -
981 Applicable to the encoder.
983 .. _v4l2-mpeg-video-multi-slice-mode:
988 enum v4l2_mpeg_video_multi_slice_mode -
989 Determines how the encoder should handle division of frame into
990 slices. Applicable to the encoder. Possible values are:
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.
1013 encoder.
1019 encoder.
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
1056 Applicable to the H264 encoder.
1061 should be in the range of -6 to +6, inclusive. The actual beta offset
1063 Applicable to the H264 encoder.
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
1072 encoder. Possible values are:
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.
1090 Enable 8X8 transform for H264. Applicable to the H264 encoder.
1094 encoder.
1099 to the H264 encoder.
1105 the top of the frame. Applicable to H264, H263 and MPEG4 encoder.
1123 encoder.
1203 .. _v4l2-mpeg-video-vbv-size:
1206 The Video Buffer Verifier size in kilobytes, it is used as a
1210 decoder that is conceptually connected to the output of the encoder.
1212 data rate that an encoder or editing process may produce.".
1215 .. _v4l2-mpeg-video-vbv-delay:
1220 .. _v4l2-mpeg-video-hor-search-range:
1226 search range for motion estimation module in video encoder.
1228 .. _v4l2-mpeg-video-vert-search-range:
1234 range for motion estimation module in video encoder.
1236 .. _v4l2-mpeg-video-force-key-frame:
1240 encoders. This is a general, codec-agnostic keyframe control.
1242 .. _v4l2-mpeg-video-h264-cpb-size:
1248 decoded. Applicable to the H264 encoder.
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.
1258 H264 encoder.
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
1292 Repeat the video sequence headers. Repeating these headers makes
1293 random access to the video stream easier. Applicable to the MPEG1, 2
1294 and 4 encoder.
1302 MPEG4 encoder.
1306 encoder.
1312 Applicable to the H264 encoder.
1316 H264 encoder.
1318 .. _v4l2-mpeg-video-h264-sei-fp-arrangement-type:
1323 enum v4l2_mpeg_video_h264_sei_fp_arrangement_type -
1325 encoder. Possible values are:
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.
1359 pictures. Applicable to the H264 encoder.
1361 .. _v4l2-mpeg-video-h264-fmo-map-type:
1366 enum v4l2_mpeg_video_h264_fmo_map_type -
1368 patterns of macroblocks. Applicable to the H264 encoder. Possible
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
1386 both encoder and decoder.
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.
1405 Number of slice groups in FMO. Applicable to the H264 encoder.
1407 .. _v4l2-mpeg-video-h264-fmo-change-direction:
1412 enum v4l2_mpeg_video_h264_fmo_change_dir -
1414 maps. Applicable to the H264 encoder. Possible values are:
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.
1431 Applicable to the H264 encoder.
1435 map. Applicable to the H264 encoder.
1439 the H264 encoder.
1442 Specifies the slice order in ASO. Applicable to the H264 encoder.
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
1460 Enables H264 hierarchical coding. Applicable to the H264 encoder.
1462 .. _v4l2-mpeg-video-h264-hierarchical-coding-type:
1467 enum v4l2_mpeg_video_h264_hierarchical_coding_type -
1469 encoder. Possible values are:
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.
1486 the H264 encoder.
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.
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.
2154 * - ``V4L2_MPEG_VIDEO_H264_DECODE_MODE_FRAME_BASED``
2155 - 1
2156 - Decoding is done at the frame granularity,
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 -------------------
2768 Applicable to the H264 encoder.
2771 Padding enable in the encoder - use a color instead of repeating
2775 Padding color in the encoder. Applicable to encoders. The supplied
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.
2813 encoder.
2819 encoder.
2825 encoder.
2831 encoder.
2833 .. _v4l2-mpeg-mfc51-video-frame-skip-mode:
2843 enum v4l2_mpeg_mfc51_video_frame_skip_mode -
2844 Indicates in what conditions the encoder should skip frames. If
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
2875 enabled, then the rate control logic of the encoder will calculate
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 -
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 -
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
3197 the stream between every four video frames. The packet size is 2048
3207 The VPX controls include controls for encoding parameters of VPx video
3211 .. _vpx-control-id:
3214 ---------------
3216 .. _v4l2-vpx-num-partitions:
3221 enum v4l2_vp8_num_partitions -
3222 The number of token partitions to use in VP8 encoder. Possible
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
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
3269 encoder implementation will decide which two are chosen.
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 -
3346 This control allows selecting the profile for VP8 encoder.
3347 This is also used to enumerate supported profiles by VP8 encoder or decoder.
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 -
3369 This control allows selecting the profile for VP9 encoder.
3370 This is also used to enumerate supported profiles by VP9 encoder or decoder.
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 -
3391 This control allows selecting the level for VP9 encoder.
3392 This is also used to enumerate supported levels by VP9 encoder or decoder.
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
3430 High Efficiency Video Coding (HEVC/H.265) Control Reference
3434 video codec.
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 -
3546 Select the desired profile for HEVC encoder.
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 -
3576 Selects the desired level for HEVC encoder.
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 -
3702 Selects refresh type for HEVC encoder.
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.
3729 Selects the refresh period for HEVC encoder.
3738 Indicates constant intra prediction for HEVC encoder. Specifies the
3745 Indicates wavefront parallel processing for HEVC encoder. Setting it to 0
3751 encoder.
3754 Indicates temporal identifier for HEVC encoder which is enabled by
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
3767 Indicates temporal motion vector prediction for HEVC encoder. Setting it to
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.
3810 Indicates bit rate for hierarchical coding layer 0 for HEVC encoder.
3813 Indicates bit rate for hierarchical coding layer 1 for HEVC encoder.
3816 Indicates bit rate for hierarchical coding layer 2 for HEVC encoder.
3819 Indicates bit rate for hierarchical coding layer 3 for HEVC encoder.
3822 Indicates bit rate for hierarchical coding layer 4 for HEVC encoder.
3825 Indicates bit rate for hierarchical coding layer 5 for HEVC encoder.
3828 Indicates bit rate for hierarchical coding layer 6 for HEVC encoder.
3831 Selects number of P reference pictures required for HEVC encoder.
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.
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.