• Home
  • Raw
  • Download

Lines Matching +full:frame +full:- +full:buffer

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