Lines Matching +full:frame +full:- +full:number
4 .. Foundation, with no Invariant Sections, no Front-Cover Texts
5 .. and no Back-Cover Texts. A copy of the license is included at
6 .. Documentation/media/uapi/fdl-appendix.rst.
8 .. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections
10 .. _mpeg-controls:
31 .. _mpeg-control-id:
34 -----------------
42 .. _v4l2-mpeg-stream-type:
47 enum v4l2_mpeg_stream_type -
48 The MPEG-1, -2 or -4 output stream type. One cannot assume anything
55 .. flat-table::
56 :header-rows: 0
57 :stub-columns: 0
59 * - ``V4L2_MPEG_STREAM_TYPE_MPEG2_PS``
60 - MPEG-2 program stream
61 * - ``V4L2_MPEG_STREAM_TYPE_MPEG2_TS``
62 - MPEG-2 transport stream
63 * - ``V4L2_MPEG_STREAM_TYPE_MPEG1_SS``
64 - MPEG-1 system stream
65 * - ``V4L2_MPEG_STREAM_TYPE_MPEG2_DVD``
66 - MPEG-2 DVD-compatible stream
67 * - ``V4L2_MPEG_STREAM_TYPE_MPEG1_VCD``
68 - MPEG-1 VCD-compatible stream
69 * - ``V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD``
70 - MPEG-2 SVCD-compatible stream
94 .. _v4l2-mpeg-stream-vbi-fmt:
99 enum v4l2_mpeg_stream_vbi_fmt -
110 .. flat-table::
111 :header-rows: 0
112 :stub-columns: 0
114 * - ``V4L2_MPEG_STREAM_VBI_FMT_NONE``
115 - No VBI in the MPEG stream
116 * - ``V4L2_MPEG_STREAM_VBI_FMT_IVTV``
117 - VBI in private packets, IVTV format (documented in the kernel
119 ``Documentation/media/v4l-drivers/cx2341x.rst``)
123 .. _v4l2-mpeg-audio-sampling-freq:
128 enum v4l2_mpeg_audio_sampling_freq -
133 .. flat-table::
134 :header-rows: 0
135 :stub-columns: 0
137 * - ``V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100``
138 - 44.1 kHz
139 * - ``V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000``
140 - 48 kHz
141 * - ``V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000``
142 - 32 kHz
146 .. _v4l2-mpeg-audio-encoding:
151 enum v4l2_mpeg_audio_encoding -
157 .. flat-table::
158 :header-rows: 0
159 :stub-columns: 0
161 * - ``V4L2_MPEG_AUDIO_ENCODING_LAYER_1``
162 - MPEG-1/2 Layer I encoding
163 * - ``V4L2_MPEG_AUDIO_ENCODING_LAYER_2``
164 - MPEG-1/2 Layer II encoding
165 * - ``V4L2_MPEG_AUDIO_ENCODING_LAYER_3``
166 - MPEG-1/2 Layer III encoding
167 * - ``V4L2_MPEG_AUDIO_ENCODING_AAC``
168 - MPEG-2/4 AAC (Advanced Audio Coding)
169 * - ``V4L2_MPEG_AUDIO_ENCODING_AC3``
170 - AC-3 aka ATSC A/52 encoding
174 .. _v4l2-mpeg-audio-l1-bitrate:
179 enum v4l2_mpeg_audio_l1_bitrate -
180 MPEG-1/2 Layer I bitrate. Possible values are:
184 .. flat-table::
185 :header-rows: 0
186 :stub-columns: 0
188 * - ``V4L2_MPEG_AUDIO_L1_BITRATE_32K``
189 - 32 kbit/s
190 * - ``V4L2_MPEG_AUDIO_L1_BITRATE_64K``
191 - 64 kbit/s
192 * - ``V4L2_MPEG_AUDIO_L1_BITRATE_96K``
193 - 96 kbit/s
194 * - ``V4L2_MPEG_AUDIO_L1_BITRATE_128K``
195 - 128 kbit/s
196 * - ``V4L2_MPEG_AUDIO_L1_BITRATE_160K``
197 - 160 kbit/s
198 * - ``V4L2_MPEG_AUDIO_L1_BITRATE_192K``
199 - 192 kbit/s
200 * - ``V4L2_MPEG_AUDIO_L1_BITRATE_224K``
201 - 224 kbit/s
202 * - ``V4L2_MPEG_AUDIO_L1_BITRATE_256K``
203 - 256 kbit/s
204 * - ``V4L2_MPEG_AUDIO_L1_BITRATE_288K``
205 - 288 kbit/s
206 * - ``V4L2_MPEG_AUDIO_L1_BITRATE_320K``
207 - 320 kbit/s
208 * - ``V4L2_MPEG_AUDIO_L1_BITRATE_352K``
209 - 352 kbit/s
210 * - ``V4L2_MPEG_AUDIO_L1_BITRATE_384K``
211 - 384 kbit/s
212 * - ``V4L2_MPEG_AUDIO_L1_BITRATE_416K``
213 - 416 kbit/s
214 * - ``V4L2_MPEG_AUDIO_L1_BITRATE_448K``
215 - 448 kbit/s
219 .. _v4l2-mpeg-audio-l2-bitrate:
224 enum v4l2_mpeg_audio_l2_bitrate -
225 MPEG-1/2 Layer II bitrate. Possible values are:
229 .. flat-table::
230 :header-rows: 0
231 :stub-columns: 0
233 * - ``V4L2_MPEG_AUDIO_L2_BITRATE_32K``
234 - 32 kbit/s
235 * - ``V4L2_MPEG_AUDIO_L2_BITRATE_48K``
236 - 48 kbit/s
237 * - ``V4L2_MPEG_AUDIO_L2_BITRATE_56K``
238 - 56 kbit/s
239 * - ``V4L2_MPEG_AUDIO_L2_BITRATE_64K``
240 - 64 kbit/s
241 * - ``V4L2_MPEG_AUDIO_L2_BITRATE_80K``
242 - 80 kbit/s
243 * - ``V4L2_MPEG_AUDIO_L2_BITRATE_96K``
244 - 96 kbit/s
245 * - ``V4L2_MPEG_AUDIO_L2_BITRATE_112K``
246 - 112 kbit/s
247 * - ``V4L2_MPEG_AUDIO_L2_BITRATE_128K``
248 - 128 kbit/s
249 * - ``V4L2_MPEG_AUDIO_L2_BITRATE_160K``
250 - 160 kbit/s
251 * - ``V4L2_MPEG_AUDIO_L2_BITRATE_192K``
252 - 192 kbit/s
253 * - ``V4L2_MPEG_AUDIO_L2_BITRATE_224K``
254 - 224 kbit/s
255 * - ``V4L2_MPEG_AUDIO_L2_BITRATE_256K``
256 - 256 kbit/s
257 * - ``V4L2_MPEG_AUDIO_L2_BITRATE_320K``
258 - 320 kbit/s
259 * - ``V4L2_MPEG_AUDIO_L2_BITRATE_384K``
260 - 384 kbit/s
264 .. _v4l2-mpeg-audio-l3-bitrate:
269 enum v4l2_mpeg_audio_l3_bitrate -
270 MPEG-1/2 Layer III bitrate. Possible values are:
274 .. flat-table::
275 :header-rows: 0
276 :stub-columns: 0
278 * - ``V4L2_MPEG_AUDIO_L3_BITRATE_32K``
279 - 32 kbit/s
280 * - ``V4L2_MPEG_AUDIO_L3_BITRATE_40K``
281 - 40 kbit/s
282 * - ``V4L2_MPEG_AUDIO_L3_BITRATE_48K``
283 - 48 kbit/s
284 * - ``V4L2_MPEG_AUDIO_L3_BITRATE_56K``
285 - 56 kbit/s
286 * - ``V4L2_MPEG_AUDIO_L3_BITRATE_64K``
287 - 64 kbit/s
288 * - ``V4L2_MPEG_AUDIO_L3_BITRATE_80K``
289 - 80 kbit/s
290 * - ``V4L2_MPEG_AUDIO_L3_BITRATE_96K``
291 - 96 kbit/s
292 * - ``V4L2_MPEG_AUDIO_L3_BITRATE_112K``
293 - 112 kbit/s
294 * - ``V4L2_MPEG_AUDIO_L3_BITRATE_128K``
295 - 128 kbit/s
296 * - ``V4L2_MPEG_AUDIO_L3_BITRATE_160K``
297 - 160 kbit/s
298 * - ``V4L2_MPEG_AUDIO_L3_BITRATE_192K``
299 - 192 kbit/s
300 * - ``V4L2_MPEG_AUDIO_L3_BITRATE_224K``
301 - 224 kbit/s
302 * - ``V4L2_MPEG_AUDIO_L3_BITRATE_256K``
303 - 256 kbit/s
304 * - ``V4L2_MPEG_AUDIO_L3_BITRATE_320K``
305 - 320 kbit/s
312 .. _v4l2-mpeg-audio-ac3-bitrate:
317 enum v4l2_mpeg_audio_ac3_bitrate -
318 AC-3 bitrate. Possible values are:
322 .. flat-table::
323 :header-rows: 0
324 :stub-columns: 0
326 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_32K``
327 - 32 kbit/s
328 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_40K``
329 - 40 kbit/s
330 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_48K``
331 - 48 kbit/s
332 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_56K``
333 - 56 kbit/s
334 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_64K``
335 - 64 kbit/s
336 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_80K``
337 - 80 kbit/s
338 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_96K``
339 - 96 kbit/s
340 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_112K``
341 - 112 kbit/s
342 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_128K``
343 - 128 kbit/s
344 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_160K``
345 - 160 kbit/s
346 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_192K``
347 - 192 kbit/s
348 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_224K``
349 - 224 kbit/s
350 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_256K``
351 - 256 kbit/s
352 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_320K``
353 - 320 kbit/s
354 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_384K``
355 - 384 kbit/s
356 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_448K``
357 - 448 kbit/s
358 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_512K``
359 - 512 kbit/s
360 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_576K``
361 - 576 kbit/s
362 * - ``V4L2_MPEG_AUDIO_AC3_BITRATE_640K``
363 - 640 kbit/s
367 .. _v4l2-mpeg-audio-mode:
372 enum v4l2_mpeg_audio_mode -
377 .. flat-table::
378 :header-rows: 0
379 :stub-columns: 0
381 * - ``V4L2_MPEG_AUDIO_MODE_STEREO``
382 - Stereo
383 * - ``V4L2_MPEG_AUDIO_MODE_JOINT_STEREO``
384 - Joint Stereo
385 * - ``V4L2_MPEG_AUDIO_MODE_DUAL``
386 - Bilingual
387 * - ``V4L2_MPEG_AUDIO_MODE_MONO``
388 - Mono
392 .. _v4l2-mpeg-audio-mode-extension:
397 enum v4l2_mpeg_audio_mode_extension -
404 .. flat-table::
405 :header-rows: 0
406 :stub-columns: 0
408 * - ``V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4``
409 - Subbands 4-31 in intensity stereo
410 * - ``V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8``
411 - Subbands 8-31 in intensity stereo
412 * - ``V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12``
413 - Subbands 12-31 in intensity stereo
414 * - ``V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16``
415 - Subbands 16-31 in intensity stereo
419 .. _v4l2-mpeg-audio-emphasis:
424 enum v4l2_mpeg_audio_emphasis -
429 .. flat-table::
430 :header-rows: 0
431 :stub-columns: 0
433 * - ``V4L2_MPEG_AUDIO_EMPHASIS_NONE``
434 - None
435 * - ``V4L2_MPEG_AUDIO_EMPHASIS_50_DIV_15_uS``
436 - 50/15 microsecond emphasis
437 * - ``V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17``
438 - CCITT J.17
442 .. _v4l2-mpeg-audio-crc:
447 enum v4l2_mpeg_audio_crc -
452 .. flat-table::
453 :header-rows: 0
454 :stub-columns: 0
456 * - ``V4L2_MPEG_AUDIO_CRC_NONE``
457 - None
458 * - ``V4L2_MPEG_AUDIO_CRC_CRC16``
459 - 16 bit parity check
469 .. _v4l2-mpeg-audio-dec-playback:
474 enum v4l2_mpeg_audio_dec_playback -
482 .. flat-table::
483 :header-rows: 0
484 :stub-columns: 0
486 * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_AUTO``
487 - Automatically determines the best playback mode.
488 * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_STEREO``
489 - Stereo playback.
490 * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_LEFT``
491 - Left channel playback.
492 * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_RIGHT``
493 - Right channel playback.
494 * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_MONO``
495 - Mono playback.
496 * - ``V4L2_MPEG_AUDIO_DEC_PLAYBACK_SWAPPED_STEREO``
497 - Stereo playback with swapped left and right channels.
501 .. _v4l2-mpeg-audio-dec-multilingual-playback:
506 enum v4l2_mpeg_audio_dec_playback -
509 .. _v4l2-mpeg-video-encoding:
514 enum v4l2_mpeg_video_encoding -
520 .. flat-table::
521 :header-rows: 0
522 :stub-columns: 0
524 * - ``V4L2_MPEG_VIDEO_ENCODING_MPEG_1``
525 - MPEG-1 Video encoding
526 * - ``V4L2_MPEG_VIDEO_ENCODING_MPEG_2``
527 - MPEG-2 Video encoding
528 * - ``V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC``
529 - MPEG-4 AVC (H.264) Video encoding
533 .. _v4l2-mpeg-video-aspect:
538 enum v4l2_mpeg_video_aspect -
543 .. flat-table::
544 :header-rows: 0
545 :stub-columns: 0
547 * - ``V4L2_MPEG_VIDEO_ASPECT_1x1``
548 * - ``V4L2_MPEG_VIDEO_ASPECT_4x3``
549 * - ``V4L2_MPEG_VIDEO_ASPECT_16x9``
550 * - ``V4L2_MPEG_VIDEO_ASPECT_221x100``
555 Number of B-Frames (default 2)
566 .. _v4l2-mpeg-video-bitrate-mode:
571 enum v4l2_mpeg_video_bitrate_mode -
576 .. flat-table::
577 :header-rows: 0
578 :stub-columns: 0
580 * - ``V4L2_MPEG_VIDEO_BITRATE_MODE_VBR``
581 - Variable bitrate
582 * - ``V4L2_MPEG_VIDEO_BITRATE_MODE_CBR``
583 - Constant bitrate
596 For every captured frame, skip this many subsequent frames (default
605 Sets the "mute" color of the video. The supplied 32-bit integer is
610 .. flat-table::
611 :header-rows: 0
612 :stub-columns: 0
614 * - Bit 0:7
615 - V chrominance information
616 * - Bit 8:15
617 - U chrominance information
618 * - Bit 16:23
619 - Y luminance information
620 * - Bit 24:31
621 - Must be zero.
625 .. _v4l2-mpeg-video-dec-pts:
628 This read-only control returns the 33-bit video Presentation Time
629 Stamp as defined in ITU T-REC-H.222.0 and ISO/IEC 13818-1 of the
630 currently displayed frame. This is the same PTS as is used in
633 .. _v4l2-mpeg-video-dec-frame:
636 This read-only control returns the frame counter of the frame that
642 otherwise the decoder expects a single frame in per buffer.
649 .. _v4l2-mpeg-video-h264-vui-sar-idc:
654 enum v4l2_mpeg_video_h264_vui_sar_idc -
656 defined in the table E-1 in the standard. Applicable to the H264
661 .. flat-table::
662 :header-rows: 0
663 :stub-columns: 0
665 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_UNSPECIFIED``
666 - Unspecified
667 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_1x1``
668 - 1x1
669 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_12x11``
670 - 12x11
671 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_10x11``
672 - 10x11
673 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_16x11``
674 - 16x11
675 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_40x33``
676 - 40x33
677 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_24x11``
678 - 24x11
679 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_20x11``
680 - 20x11
681 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_32x11``
682 - 32x11
683 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_80x33``
684 - 80x33
685 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_18x11``
686 - 18x11
687 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_15x11``
688 - 15x11
689 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_64x33``
690 - 64x33
691 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_160x99``
692 - 160x99
693 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_4x3``
694 - 4x3
695 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_3x2``
696 - 3x2
697 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_2x1``
698 - 2x1
699 * - ``V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_EXTENDED``
700 - Extended SAR
712 .. _v4l2-mpeg-video-h264-level:
717 enum v4l2_mpeg_video_h264_level -
723 .. flat-table::
724 :header-rows: 0
725 :stub-columns: 0
727 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1_0``
728 - Level 1.0
729 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1B``
730 - Level 1B
731 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1_1``
732 - Level 1.1
733 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1_2``
734 - Level 1.2
735 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_1_3``
736 - Level 1.3
737 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_2_0``
738 - Level 2.0
739 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_2_1``
740 - Level 2.1
741 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_2_2``
742 - Level 2.2
743 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_3_0``
744 - Level 3.0
745 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_3_1``
746 - Level 3.1
747 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_3_2``
748 - Level 3.2
749 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_4_0``
750 - Level 4.0
751 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_4_1``
752 - Level 4.1
753 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_4_2``
754 - Level 4.2
755 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_5_0``
756 - Level 5.0
757 * - ``V4L2_MPEG_VIDEO_H264_LEVEL_5_1``
758 - Level 5.1
762 .. _v4l2-mpeg-video-mpeg2-level:
767 enum v4l2_mpeg_video_mpeg2_level -
773 .. flat-table::
774 :header-rows: 0
775 :stub-columns: 0
777 * - ``V4L2_MPEG_VIDEO_MPEG2_LEVEL_LOW``
778 - Low Level (LL)
779 * - ``V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN``
780 - Main Level (ML)
781 * - ``V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH_1440``
782 - High-1440 Level (H-14)
783 * - ``V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH``
784 - High Level (HL)
788 .. _v4l2-mpeg-video-mpeg4-level:
793 enum v4l2_mpeg_video_mpeg4_level -
799 .. flat-table::
800 :header-rows: 0
801 :stub-columns: 0
803 * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_0``
804 - Level 0
805 * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B``
806 - Level 0b
807 * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_1``
808 - Level 1
809 * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_2``
810 - Level 2
811 * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_3``
812 - Level 3
813 * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_3B``
814 - Level 3b
815 * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_4``
816 - Level 4
817 * - ``V4L2_MPEG_VIDEO_MPEG4_LEVEL_5``
818 - Level 5
822 .. _v4l2-mpeg-video-h264-profile:
827 enum v4l2_mpeg_video_h264_profile -
833 .. flat-table::
834 :header-rows: 0
835 :stub-columns: 0
837 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE``
838 - Baseline profile
839 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE``
840 - Constrained Baseline profile
841 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_MAIN``
842 - Main profile
843 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_EXTENDED``
844 - Extended profile
845 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH``
846 - High profile
847 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10``
848 - High 10 profile
849 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422``
850 - High 422 profile
851 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_PREDICTIVE``
852 - High 444 Predictive profile
853 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10_INTRA``
854 - High 10 Intra profile
855 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422_INTRA``
856 - High 422 Intra profile
857 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_INTRA``
858 - High 444 Intra profile
859 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_CAVLC_444_INTRA``
860 - CAVLC 444 Intra profile
861 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_BASELINE``
862 - Scalable Baseline profile
863 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH``
864 - Scalable High profile
865 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH_INTRA``
866 - Scalable High Intra profile
867 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_STEREO_HIGH``
868 - Stereo High profile
869 * - ``V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH``
870 - Multiview High profile
874 .. _v4l2-mpeg-video-mpeg2-profile:
879 enum v4l2_mpeg_video_mpeg2_profile -
885 .. flat-table::
886 :header-rows: 0
887 :stub-columns: 0
889 * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_SIMPLE``
890 - Simple profile (SP)
891 * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN``
892 - Main profile (MP)
893 * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_SNR_SCALABLE``
894 - SNR Scalable profile (SNR)
895 * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_SPATIALLY_SCALABLE``
896 - Spatially Scalable profile (Spt)
897 * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_HIGH``
898 - High profile (HP)
899 * - ``V4L2_MPEG_VIDEO_MPEG2_PROFILE_MULTIVIEW``
900 - Multi-view profile (MVP)
904 .. _v4l2-mpeg-video-mpeg4-profile:
909 enum v4l2_mpeg_video_mpeg4_profile -
915 .. flat-table::
916 :header-rows: 0
917 :stub-columns: 0
919 * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE``
920 - Simple profile
921 * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE``
922 - Advanced Simple profile
923 * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_CORE``
924 - Core profile
925 * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE_SCALABLE``
926 - Simple Scalable profile
927 * - ``V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY``
928 -
933 The maximum number of reference pictures used for encoding.
936 .. _v4l2-mpeg-video-multi-slice-mode:
941 enum v4l2_mpeg_video_multi_slice_mode -
942 Determines how the encoder should handle division of frame into
949 .. flat-table::
950 :header-rows: 0
951 :stub-columns: 0
953 * - ``V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE``
954 - Single slice per frame.
955 * - ``V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB``
956 - Multiple slices with set maximum number of macroblocks per slice.
957 * - ``V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES``
958 - Multiple slice with set maximum size in bytes per slice.
963 The maximum number of macroblocks in a slice. Used when
974 .. _v4l2-mpeg-video-h264-loop-filter-mode:
979 enum v4l2_mpeg_video_h264_loop_filter_mode -
988 .. flat-table::
989 :header-rows: 0
990 :stub-columns: 0
992 * - ``V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED``
993 - Loop filter is enabled.
994 * - ``V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED``
995 - Loop filter is disabled.
996 * - ``V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY``
997 - Loop filter is disabled at the slice boundary.
1007 field, and should be in the range of -6 to +6, inclusive. The actual alpha
1014 should be in the range of -6 to +6, inclusive. The actual beta offset
1018 .. _v4l2-mpeg-video-h264-entropy-mode:
1023 enum v4l2_mpeg_video_h264_entropy_mode -
1024 Entropy coding mode for H264 - CABAC/CAVALC. Applicable to the H264
1031 .. flat-table::
1032 :header-rows: 0
1033 :stub-columns: 0
1035 * - ``V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC``
1036 - Use CAVLC entropy coding.
1037 * - ``V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC``
1038 - Use CABAC entropy coding.
1055 Cyclic intra macroblock refresh. This is the number of continuous
1056 macroblocks refreshed every frame. Each frame a successive set of
1058 the top of the frame. Applicable to H264, H263 and MPEG4 encoder.
1061 Frame level rate control enable. If this control is disabled then
1062 the quantization parameter for each frame type is constant and set
1064 ``V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP``). If frame rate control is
1079 Quantization parameter for an I frame for H263. Valid range: from 1
1089 Quantization parameter for an P frame for H263. Valid range: from 1
1093 Quantization parameter for an B frame for H263. Valid range: from 1
1097 Quantization parameter for an I frame for H264. Valid range: from 0
1107 Quantization parameter for an P frame for H264. Valid range: from 0
1111 Quantization parameter for an B frame for H264. Valid range: from 0
1115 Minimum quantization parameter for the H264 I frame to limit I frame
1121 Maximum quantization parameter for the H264 I frame to limit I frame
1127 Minimum quantization parameter for the H264 P frame to limit P frame
1133 Maximum quantization parameter for the H264 P frame to limit P frame
1139 Quantization parameter for an I frame for MPEG4. Valid range: from 1
1149 Quantization parameter for an P frame for MPEG4. Valid range: from 1
1153 Quantization parameter for an B frame for MPEG4. Valid range: from 1
1158 limitation of frame skip. The VBV is defined in the standard as a
1166 .. _v4l2-mpeg-video-vbv-delay:
1171 .. _v4l2-mpeg-video-hor-search-range:
1179 .. _v4l2-mpeg-video-vert-search-range:
1187 .. _v4l2-mpeg-video-force-key-frame:
1190 Force a key frame for the next queued buffer. Applicable to
1191 encoders. This is a general, codec-agnostic keyframe control.
1195 limitation of frame skip. The CPB is defined in the H264 standard as
1200 Period between I-frames in the open GOP for H264. In case of an open
1201 GOP this is the period between two I-frames. The period between IDR
1203 control. An IDR frame, which stands for Instantaneous Decoding
1204 Refresh is an I-frame after which no prior frames are referenced.
1205 This means that a stream can be restarted from an IDR frame without
1209 .. _v4l2-mpeg-video-header-mode:
1214 enum v4l2_mpeg_video_header_mode -
1216 it returned together with the first frame. Applicable to encoders.
1225 .. flat-table::
1226 :header-rows: 0
1227 :stub-columns: 0
1229 * - ``V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE``
1230 - The stream header is returned separately in the first buffer.
1231 * - ``V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME``
1232 - The stream header is returned together with the first encoded
1233 frame.
1258 Enable generation of frame packing supplemental enhancement
1259 information in the encoded bitstream. The frame packing SEI message
1264 Sets current frame as frame0 in frame packing SEI. Applicable to the
1267 .. _v4l2-mpeg-video-h264-sei-fp-arrangement-type:
1272 enum v4l2_mpeg_video_h264_sei_fp_arrangement_type -
1273 Frame packing arrangement type for H264 SEI. Applicable to the H264
1282 .. flat-table::
1283 :header-rows: 0
1284 :stub-columns: 0
1286 * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_CHEKERBOARD``
1287 - Pixels are alternatively from L and R.
1288 * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_COLUMN``
1289 - L and R are interlaced by column.
1290 * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_ROW``
1291 - L and R are interlaced by row.
1292 * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_SIDE_BY_SIDE``
1293 - L is on the left, R on the right.
1294 * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TOP_BOTTOM``
1295 - L is on top, R on bottom.
1296 * - ``V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TEMPORAL``
1297 - One view per frame.
1310 .. _v4l2-mpeg-video-h264-fmo-map-type:
1315 enum v4l2_mpeg_video_h264_fmo_map_type -
1326 .. flat-table::
1327 :header-rows: 0
1328 :stub-columns: 0
1330 * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_INTERLEAVED_SLICES``
1331 - Slices are interleaved one after other with macroblocks in run
1333 * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_SCATTERED_SLICES``
1334 - Scatters the macroblocks based on a mathematical function known to
1336 * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_FOREGROUND_WITH_LEFT_OVER``
1337 - Macroblocks arranged in rectangular areas or regions of interest.
1338 * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_BOX_OUT``
1339 - Slice groups grow in a cyclic way from centre to outwards.
1340 * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_RASTER_SCAN``
1341 - Slice groups grow in raster scan pattern from left to right.
1342 * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_WIPE_SCAN``
1343 - Slice groups grow in wipe scan pattern from top to bottom.
1344 * - ``V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_EXPLICIT``
1345 - User defined map type.
1354 Number of slice groups in FMO. Applicable to the H264 encoder.
1356 .. _v4l2-mpeg-video-h264-fmo-change-direction:
1361 enum v4l2_mpeg_video_h264_fmo_change_dir -
1367 .. flat-table::
1368 :header-rows: 0
1369 :stub-columns: 0
1371 * - ``V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_RIGHT``
1372 - Raster scan or wipe right.
1373 * - ``V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT``
1374 - Reverse raster scan or wipe left.
1383 Specifies the number of consecutive macroblocks for the interleaved
1392 The supplied 32-bit integer is interpreted as follows (bit 0 = least
1397 .. flat-table::
1398 :header-rows: 0
1399 :stub-columns: 0
1401 * - Bit 0:15
1402 - Slice ID
1403 * - Bit 16:32
1404 - Slice position or order
1411 .. _v4l2-mpeg-video-h264-hierarchical-coding-type:
1416 enum v4l2_mpeg_video_h264_hierarchical_coding_type -
1422 .. flat-table::
1423 :header-rows: 0
1424 :stub-columns: 0
1426 * - ``V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B``
1427 - Hierarchical B coding.
1428 * - ``V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P``
1429 - Hierarchical P coding.
1434 Specifies the number of hierarchical coding layers. Applicable to
1439 encoder. The supplied 32-bit integer is interpreted as follows (bit
1444 .. flat-table::
1445 :header-rows: 0
1446 :stub-columns: 0
1448 * - Bit 0:15
1449 - QP value
1450 * - Bit 16:32
1451 - Layer number
1454 .. _v4l2-mpeg-h264:
1475 .. flat-table:: struct v4l2_ctrl_h264_sps
1476 :header-rows: 0
1477 :stub-columns: 0
1480 * - __u8
1481 - ``profile_idc``
1482 -
1483 * - __u8
1484 - ``constraint_set_flags``
1485 - See :ref:`Sequence Parameter Set Constraints Set Flags <h264_sps_constraints_set_flags>`
1486 * - __u8
1487 - ``level_idc``
1488 -
1489 * - __u8
1490 - ``seq_parameter_set_id``
1491 -
1492 * - __u8
1493 - ``chroma_format_idc``
1494 -
1495 * - __u8
1496 - ``bit_depth_luma_minus8``
1497 -
1498 * - __u8
1499 - ``bit_depth_chroma_minus8``
1500 -
1501 * - __u8
1502 - ``log2_max_frame_num_minus4``
1503 -
1504 * - __u8
1505 - ``pic_order_cnt_type``
1506 -
1507 * - __u8
1508 - ``log2_max_pic_order_cnt_lsb_minus4``
1509 -
1510 * - __u8
1511 - ``max_num_ref_frames``
1512 -
1513 * - __u8
1514 - ``num_ref_frames_in_pic_order_cnt_cycle``
1515 -
1516 * - __s32
1517 - ``offset_for_ref_frame[255]``
1518 -
1519 * - __s32
1520 - ``offset_for_non_ref_pic``
1521 -
1522 * - __s32
1523 - ``offset_for_top_to_bottom_field``
1524 -
1525 * - __u16
1526 - ``pic_width_in_mbs_minus1``
1527 -
1528 * - __u16
1529 - ``pic_height_in_map_units_minus1``
1530 -
1531 * - __u32
1532 - ``flags``
1533 - See :ref:`Sequence Parameter Set Flags <h264_sps_flags>`
1541 .. flat-table::
1542 :header-rows: 0
1543 :stub-columns: 0
1546 * - ``V4L2_H264_SPS_CONSTRAINT_SET0_FLAG``
1547 - 0x00000001
1548 -
1549 * - ``V4L2_H264_SPS_CONSTRAINT_SET1_FLAG``
1550 - 0x00000002
1551 -
1552 * - ``V4L2_H264_SPS_CONSTRAINT_SET2_FLAG``
1553 - 0x00000004
1554 -
1555 * - ``V4L2_H264_SPS_CONSTRAINT_SET3_FLAG``
1556 - 0x00000008
1557 -
1558 * - ``V4L2_H264_SPS_CONSTRAINT_SET4_FLAG``
1559 - 0x00000010
1560 -
1561 * - ``V4L2_H264_SPS_CONSTRAINT_SET5_FLAG``
1562 - 0x00000020
1563 -
1571 .. flat-table::
1572 :header-rows: 0
1573 :stub-columns: 0
1576 * - ``V4L2_H264_SPS_FLAG_SEPARATE_COLOUR_PLANE``
1577 - 0x00000001
1578 -
1579 * - ``V4L2_H264_SPS_FLAG_QPPRIME_Y_ZERO_TRANSFORM_BYPASS``
1580 - 0x00000002
1581 -
1582 * - ``V4L2_H264_SPS_FLAG_DELTA_PIC_ORDER_ALWAYS_ZERO``
1583 - 0x00000004
1584 -
1585 * - ``V4L2_H264_SPS_FLAG_GAPS_IN_FRAME_NUM_VALUE_ALLOWED``
1586 - 0x00000008
1587 -
1588 * - ``V4L2_H264_SPS_FLAG_FRAME_MBS_ONLY``
1589 - 0x00000010
1590 -
1591 * - ``V4L2_H264_SPS_FLAG_MB_ADAPTIVE_FRAME_FIELD``
1592 - 0x00000020
1593 -
1594 * - ``V4L2_H264_SPS_FLAG_DIRECT_8X8_INFERENCE``
1595 - 0x00000040
1596 -
1617 .. flat-table:: struct v4l2_ctrl_h264_pps
1618 :header-rows: 0
1619 :stub-columns: 0
1622 * - __u8
1623 - ``pic_parameter_set_id``
1624 -
1625 * - __u8
1626 - ``seq_parameter_set_id``
1627 -
1628 * - __u8
1629 - ``num_slice_groups_minus1``
1630 -
1631 * - __u8
1632 - ``num_ref_idx_l0_default_active_minus1``
1633 -
1634 * - __u8
1635 - ``num_ref_idx_l1_default_active_minus1``
1636 -
1637 * - __u8
1638 - ``weighted_bipred_idc``
1639 -
1640 * - __s8
1641 - ``pic_init_qp_minus26``
1642 -
1643 * - __s8
1644 - ``pic_init_qs_minus26``
1645 -
1646 * - __s8
1647 - ``chroma_qp_index_offset``
1648 -
1649 * - __s8
1650 - ``second_chroma_qp_index_offset``
1651 -
1652 * - __u16
1653 - ``flags``
1654 - See :ref:`Picture Parameter Set Flags <h264_pps_flags>`
1662 .. flat-table::
1663 :header-rows: 0
1664 :stub-columns: 0
1667 * - ``V4L2_H264_PPS_FLAG_ENTROPY_CODING_MODE``
1668 - 0x00000001
1669 -
1670 * - ``V4L2_H264_PPS_FLAG_BOTTOM_FIELD_PIC_ORDER_IN_FRAME_PRESENT``
1671 - 0x00000002
1672 -
1673 * - ``V4L2_H264_PPS_FLAG_WEIGHTED_PRED``
1674 - 0x00000004
1675 -
1676 * - ``V4L2_H264_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT``
1677 - 0x00000008
1678 -
1679 * - ``V4L2_H264_PPS_FLAG_CONSTRAINED_INTRA_PRED``
1680 - 0x00000010
1681 -
1682 * - ``V4L2_H264_PPS_FLAG_REDUNDANT_PIC_CNT_PRESENT``
1683 - 0x00000020
1684 -
1685 * - ``V4L2_H264_PPS_FLAG_TRANSFORM_8X8_MODE``
1686 - 0x00000040
1687 -
1688 * - ``V4L2_H264_PPS_FLAG_PIC_SCALING_MATRIX_PRESENT``
1689 - 0x00000080
1690 -
1709 .. flat-table:: struct v4l2_ctrl_h264_scaling_matrix
1710 :header-rows: 0
1711 :stub-columns: 0
1714 * - __u8
1715 - ``scaling_list_4x4[6][16]``
1716 -
1717 * - __u8
1718 - ``scaling_list_8x8[6][64]``
1719 -
1742 .. flat-table:: struct v4l2_ctrl_h264_slice_params
1743 :header-rows: 0
1744 :stub-columns: 0
1747 * - __u32
1748 - ``size``
1749 -
1750 * - __u32
1751 - ``start_byte_offset``
1754 offset to such start code. When operating in slice-based decoding mode
1756 be set to 0. When operating in frame-based decoding mode, this field
1758 * - __u32
1759 - ``header_bit_size``
1760 -
1761 * - __u16
1762 - ``first_mb_in_slice``
1763 -
1764 * - __u8
1765 - ``slice_type``
1766 -
1767 * - __u8
1768 - ``pic_parameter_set_id``
1769 -
1770 * - __u8
1771 - ``colour_plane_id``
1772 -
1773 * - __u8
1774 - ``redundant_pic_cnt``
1775 -
1776 * - __u16
1777 - ``frame_num``
1778 -
1779 * - __u16
1780 - ``idr_pic_id``
1781 -
1782 * - __u16
1783 - ``pic_order_cnt_lsb``
1784 -
1785 * - __s32
1786 - ``delta_pic_order_cnt_bottom``
1787 -
1788 * - __s32
1789 - ``delta_pic_order_cnt0``
1790 -
1791 * - __s32
1792 - ``delta_pic_order_cnt1``
1793 -
1794 * - struct :c:type:`v4l2_h264_pred_weight_table`
1795 - ``pred_weight_table``
1796 -
1797 * - __u32
1798 - ``dec_ref_pic_marking_bit_size``
1799 -
1800 * - __u32
1801 - ``pic_order_cnt_bit_size``
1802 -
1803 * - __u8
1804 - ``cabac_init_idc``
1805 -
1806 * - __s8
1807 - ``slice_qp_delta``
1808 -
1809 * - __s8
1810 - ``slice_qs_delta``
1811 -
1812 * - __u8
1813 - ``disable_deblocking_filter_idc``
1814 -
1815 * - __s8
1816 - ``slice_alpha_c0_offset_div2``
1817 -
1818 * - __s8
1819 - ``slice_beta_offset_div2``
1820 -
1821 * - __u8
1822 - ``num_ref_idx_l0_active_minus1``
1823 -
1824 * - __u8
1825 - ``num_ref_idx_l1_active_minus1``
1826 -
1827 * - __u32
1828 - ``slice_group_change_cycle``
1829 -
1830 * - __u8
1831 - ``ref_pic_list0[32]``
1832 - Reference picture list after applying the per-slice modifications
1833 * - __u8
1834 - ``ref_pic_list1[32]``
1835 - Reference picture list after applying the per-slice modifications
1836 * - __u32
1837 - ``flags``
1838 - See :ref:`Slice Parameter Flags <h264_slice_flags>`
1846 .. flat-table::
1847 :header-rows: 0
1848 :stub-columns: 0
1851 * - ``V4L2_H264_SLICE_FLAG_FIELD_PIC``
1852 - 0x00000001
1853 -
1854 * - ``V4L2_H264_SLICE_FLAG_BOTTOM_FIELD``
1855 - 0x00000002
1856 -
1857 * - ``V4L2_H264_SLICE_FLAG_DIRECT_SPATIAL_MV_PRED``
1858 - 0x00000004
1859 -
1860 * - ``V4L2_H264_SLICE_FLAG_SP_FOR_SWITCH``
1861 - 0x00000008
1862 -
1875 .. flat-table:: struct v4l2_h264_pred_weight_table
1876 :header-rows: 0
1877 :stub-columns: 0
1880 * - __u16
1881 - ``luma_log2_weight_denom``
1882 -
1883 * - __u16
1884 - ``chroma_log2_weight_denom``
1885 -
1886 * - struct :c:type:`v4l2_h264_weight_factors`
1887 - ``weight_factors[2]``
1888 - The weight factors at index 0 are the weight factors for the reference
1895 .. flat-table:: struct v4l2_h264_weight_factors
1896 :header-rows: 0
1897 :stub-columns: 0
1900 * - __s16
1901 - ``luma_weight[32]``
1902 -
1903 * - __s16
1904 - ``luma_offset[32]``
1905 -
1906 * - __s16
1907 - ``chroma_weight[32][2]``
1908 -
1909 * - __s16
1910 - ``chroma_offset[32][2]``
1911 -
1931 .. flat-table:: struct v4l2_ctrl_h264_decode_params
1932 :header-rows: 0
1933 :stub-columns: 0
1936 * - struct :c:type:`v4l2_h264_dpb_entry`
1937 - ``dpb[16]``
1938 -
1939 * - __u16
1940 - ``num_slices``
1941 - Number of slices needed to decode the current frame/field. When
1942 operating in slice-based decoding mode (see
1945 * - __u16
1946 - ``nal_ref_idc``
1947 - NAL reference ID value coming from the NAL Unit header
1948 * - __s32
1949 - ``top_field_order_cnt``
1950 - Picture Order Count for the coded top field
1951 * - __s32
1952 - ``bottom_field_order_cnt``
1953 - Picture Order Count for the coded bottom field
1954 * - __u32
1955 - ``flags``
1956 - See :ref:`Decode Parameters Flags <h264_decode_params_flags>`
1964 .. flat-table::
1965 :header-rows: 0
1966 :stub-columns: 0
1969 * - ``V4L2_H264_DECODE_PARAM_FLAG_IDR_PIC``
1970 - 0x00000001
1971 - That picture is an IDR picture
1977 .. flat-table:: struct v4l2_h264_dpb_entry
1978 :header-rows: 0
1979 :stub-columns: 0
1982 * - __u64
1983 - ``reference_ts``
1984 - Timestamp of the V4L2 capture buffer to use as reference, used
1985 with B-coded and P-coded frames. The timestamp refers to the
1989 * - __u16
1990 - ``frame_num``
1991 -
1992 * - __u16
1993 - ``pic_num``
1994 -
1995 * - __s32
1996 - ``top_field_order_cnt``
1997 -
1998 * - __s32
1999 - ``bottom_field_order_cnt``
2000 -
2001 * - __u32
2002 - ``flags``
2003 - See :ref:`DPB Entry Flags <h264_dpb_flags>`
2011 .. flat-table::
2012 :header-rows: 0
2013 :stub-columns: 0
2016 * - ``V4L2_H264_DPB_ENTRY_FLAG_VALID``
2017 - 0x00000001
2018 - The DPB entry is valid and should be considered
2019 * - ``V4L2_H264_DPB_ENTRY_FLAG_ACTIVE``
2020 - 0x00000002
2021 - The DPB entry is currently being used as a reference frame
2022 * - ``V4L2_H264_DPB_ENTRY_FLAG_LONG_TERM``
2023 - 0x00000004
2024 - The DPB entry is a long term reference frame
2027 Specifies the decoding mode to use. Currently exposes slice-based and
2028 frame-based decoding but new modes might be added later on.
2045 .. flat-table::
2046 :header-rows: 0
2047 :stub-columns: 0
2050 * - ``V4L2_MPEG_VIDEO_H264_DECODE_MODE_SLICE_BASED``
2051 - 0
2052 - Decoding is done at the slice granularity.
2058 * - ``V4L2_MPEG_VIDEO_H264_DECODE_MODE_FRAME_BASED``
2059 - 1
2060 - Decoding is done at the frame granularity.
2062 :c:type:`v4l2_ctrl_h264_decode_params` should be set to the number
2063 of slices in the frame, and ``start_byte_offset`` in struct
2068 frame. The OUTPUT buffer must also contain both fields.
2088 .. flat-table::
2089 :header-rows: 0
2090 :stub-columns: 0
2093 * - ``V4L2_MPEG_VIDEO_H264_START_CODE_NONE``
2094 - 0
2095 - Selecting this value specifies that H264 slices are passed
2097 * - ``V4L2_MPEG_VIDEO_H264_START_CODE_ANNEX_B``
2098 - 1
2099 - Selecting this value specifies that H264 slices are expected
2101 valid start codes can be 3-bytes 0x000001 or 4-bytes 0x00000001.
2103 .. _v4l2-mpeg-mpeg2:
2107 associated MPEG-2 slice data. This includes the necessary parameters for
2108 configuring a stateless hardware decoding pipeline for MPEG-2.
2122 .. flat-table:: struct v4l2_ctrl_mpeg2_slice_params
2123 :header-rows: 0
2124 :stub-columns: 0
2127 * - __u32
2128 - ``bit_size``
2129 - Size (in bits) of the current slice data.
2130 * - __u32
2131 - ``data_bit_offset``
2132 - Offset (in bits) to the video data in the current slice data.
2133 * - struct :c:type:`v4l2_mpeg2_sequence`
2134 - ``sequence``
2135 - Structure with MPEG-2 sequence metadata, merging relevant fields from
2137 * - struct :c:type:`v4l2_mpeg2_picture`
2138 - ``picture``
2139 - Structure with MPEG-2 picture metadata, merging relevant fields from
2141 * - __u64
2142 - ``backward_ref_ts``
2143 - Timestamp of the V4L2 capture buffer to use as backward reference, used
2144 with B-coded and P-coded frames. The timestamp refers to the
2148 * - __u64
2149 - ``forward_ref_ts``
2150 - Timestamp for the V4L2 capture buffer to use as forward reference, used
2151 with B-coded frames. The timestamp refers to the ``timestamp`` field in
2155 * - __u32
2156 - ``quantiser_scale_code``
2157 - Code used to determine the quantization scale to use for the IDCT.
2165 .. flat-table:: struct v4l2_mpeg2_sequence
2166 :header-rows: 0
2167 :stub-columns: 0
2170 * - __u16
2171 - ``horizontal_size``
2172 - The width of the displayable part of the frame's luminance component.
2173 * - __u16
2174 - ``vertical_size``
2175 - The height of the displayable part of the frame's luminance component.
2176 * - __u32
2177 - ``vbv_buffer_size``
2178 - Used to calculate the required size of the video buffering verifier,
2180 * - __u16
2181 - ``profile_and_level_indication``
2182 - The current profile and level indication as extracted from the
2184 * - __u8
2185 - ``progressive_sequence``
2186 - Indication that all the frames for the sequence are progressive instead
2188 * - __u8
2189 - ``chroma_format``
2190 - The chrominance sub-sampling format (1: 4:2:0, 2: 4:2:2, 3: 4:4:4).
2198 .. flat-table:: struct v4l2_mpeg2_picture
2199 :header-rows: 0
2200 :stub-columns: 0
2203 * - __u8
2204 - ``picture_coding_type``
2205 - Picture coding type for the frame covered by the current slice
2208 * - __u8
2209 - ``f_code[2][2]``
2210 - Motion vector codes.
2211 * - __u8
2212 - ``intra_dc_precision``
2213 - Precision of Discrete Cosine transform (0: 8 bits precision,
2215 * - __u8
2216 - ``picture_structure``
2217 - Picture structure (1: interlaced top field, 2: interlaced bottom field,
2218 3: progressive frame).
2219 * - __u8
2220 - ``top_field_first``
2221 - If set to 1 and interlaced stream, top field is output first.
2222 * - __u8
2223 - ``frame_pred_frame_dct``
2224 - If set to 1, only frame-DCT and frame prediction are used.
2225 * - __u8
2226 - ``concealment_motion_vectors``
2227 - If set to 1, motion vectors are coded for intra macroblocks.
2228 * - __u8
2229 - ``q_scale_type``
2230 - This flag affects the inverse quantization process.
2231 * - __u8
2232 - ``intra_vlc_format``
2233 - This flag affects the decoding of transform coefficient data.
2234 * - __u8
2235 - ``alternate_scan``
2236 - This flag affects the decoding of transform coefficient data.
2237 * - __u8
2238 - ``repeat_first_field``
2239 - This flag affects the decoding process of progressive frames.
2240 * - __u16
2241 - ``progressive_frame``
2242 - Indicates whether the current frame is progressive.
2246 associated MPEG-2 slice data.
2263 .. flat-table:: struct v4l2_ctrl_mpeg2_quantization
2264 :header-rows: 0
2265 :stub-columns: 0
2268 * - __u8
2269 - ``load_intra_quantiser_matrix``
2270 - One bit to indicate whether to load the ``intra_quantiser_matrix`` data.
2271 * - __u8
2272 - ``load_non_intra_quantiser_matrix``
2273 - One bit to indicate whether to load the ``non_intra_quantiser_matrix``
2275 * - __u8
2276 - ``load_chroma_intra_quantiser_matrix``
2277 - One bit to indicate whether to load the
2278 ``chroma_intra_quantiser_matrix`` data, only relevant for non-4:2:0 YUV
2280 * - __u8
2281 - ``load_chroma_non_intra_quantiser_matrix``
2282 - One bit to indicate whether to load the
2283 ``chroma_non_intra_quantiser_matrix`` data, only relevant for non-4:2:0
2285 * - __u8
2286 - ``intra_quantiser_matrix[64]``
2287 - The quantization matrix coefficients for intra-coded frames, in zigzag
2289 although it can be superseded by the chroma-specific matrix for
2290 non-4:2:0 YUV formats.
2291 * - __u8
2292 - ``non_intra_quantiser_matrix[64]``
2293 - The quantization matrix coefficients for non-intra-coded frames, in
2295 components, although it can be superseded by the chroma-specific matrix
2296 for non-4:2:0 YUV formats.
2297 * - __u8
2298 - ``chroma_intra_quantiser_matrix[64]``
2299 - The quantization matrix coefficients for the chominance component of
2300 intra-coded frames, in zigzag scanning order. Only relevant for
2301 non-4:2:0 YUV formats.
2302 * - __u8
2303 - ``chroma_non_intra_quantiser_matrix[64]``
2304 - The quantization matrix coefficients for the chrominance component of
2305 non-intra-coded frames, in zigzag scanning order. Only relevant for
2306 non-4:2:0 YUV formats.
2309 Quantization parameter for an I frame for FWHT. Valid range: from 1
2313 Quantization parameter for a P frame for FWHT. Valid range: from 1
2316 .. _v4l2-mpeg-vp8:
2319 Specifies the frame parameters for the associated VP8 parsed frame data.
2335 .. flat-table:: struct v4l2_ctrl_vp8_frame_header
2336 :header-rows: 0
2337 :stub-columns: 0
2340 * - struct :c:type:`v4l2_vp8_segment_header`
2341 - ``segment_header``
2342 - Structure with segment-based adjustments metadata.
2343 * - struct :c:type:`v4l2_vp8_loopfilter_header`
2344 - ``loopfilter_header``
2345 - Structure with loop filter level adjustments metadata.
2346 * - struct :c:type:`v4l2_vp8_quantization_header`
2347 - ``quant_header``
2348 - Structure with VP8 dequantization indices metadata.
2349 * - struct :c:type:`v4l2_vp8_entropy_header`
2350 - ``entropy_header``
2351 - Structure with VP8 entropy coder probabilities metadata.
2352 * - struct :c:type:`v4l2_vp8_entropy_coder_state`
2353 - ``coder_state``
2354 - Structure with VP8 entropy coder state.
2355 * - __u16
2356 - ``width``
2357 - The width of the frame. Must be set for all frames.
2358 * - __u16
2359 - ``height``
2360 - The height of the frame. Must be set for all frames.
2361 * - __u8
2362 - ``horizontal_scale``
2363 - Horizontal scaling factor.
2364 * - __u8
2365 - ``vertical_scaling factor``
2366 - Vertical scale.
2367 * - __u8
2368 - ``version``
2369 - Bitstream version.
2370 * - __u8
2371 - ``prob_skip_false``
2372 - Indicates the probability that the macroblock is not skipped.
2373 * - __u8
2374 - ``prob_intra``
2375 - Indicates the probability that a macroblock is intra-predicted.
2376 * - __u8
2377 - ``prob_last``
2378 - Indicates the probability that the last reference frame is used
2379 for inter-prediction
2380 * - __u8
2381 - ``prob_gf``
2382 - Indicates the probability that the golden reference frame is used
2383 for inter-prediction
2384 * - __u8
2385 - ``num_dct_parts``
2386 - Number of DCT coefficients partitions. Must be one of: 1, 2, 4, or 8.
2387 * - __u32
2388 - ``first_part_size``
2389 - Size of the first partition, i.e. the control partition.
2390 * - __u32
2391 - ``first_part_header_bits``
2392 - Size in bits of the first partition header portion.
2393 * - __u32
2394 - ``dct_part_sizes[8]``
2395 - DCT coefficients sizes.
2396 * - __u64
2397 - ``last_frame_ts``
2398 - Timestamp for the V4L2 capture buffer to use as last reference frame, used
2399 with inter-coded frames. The timestamp refers to the ``timestamp`` field in
2403 * - __u64
2404 - ``golden_frame_ts``
2405 - Timestamp for the V4L2 capture buffer to use as last reference frame, used
2406 with inter-coded frames. The timestamp refers to the ``timestamp`` field in
2410 * - __u64
2411 - ``alt_frame_ts``
2412 - Timestamp for the V4L2 capture buffer to use as alternate reference frame, used
2413 with inter-coded frames. The timestamp refers to the ``timestamp`` field in
2417 * - __u64
2418 - ``flags``
2419 - See :ref:`Frame Header Flags <vp8_frame_header_flags>`
2423 ``Frame Header Flags``
2427 .. flat-table::
2428 :header-rows: 0
2429 :stub-columns: 0
2432 * - ``V4L2_VP8_FRAME_HEADER_FLAG_KEY_FRAME``
2433 - 0x01
2434 - Indicates if the frame is a key frame.
2435 * - ``V4L2_VP8_FRAME_HEADER_FLAG_EXPERIMENTAL``
2436 - 0x02
2437 - Experimental bitstream.
2438 * - ``V4L2_VP8_FRAME_HEADER_FLAG_SHOW_FRAME``
2439 - 0x04
2440 - Show frame flag, indicates if the frame is for display.
2441 * - ``V4L2_VP8_FRAME_HEADER_FLAG_MB_NO_SKIP_COEFF``
2442 - 0x08
2443 - Enable/disable skipping of macroblocks with no non-zero coefficients.
2444 * - ``V4L2_VP8_FRAME_HEADER_FLAG_SIGN_BIAS_GOLDEN``
2445 - 0x10
2446 - Sign of motion vectors when the golden frame is referenced.
2447 * - ``V4L2_VP8_FRAME_HEADER_FLAG_SIGN_BIAS_ALT``
2448 - 0x20
2449 - Sign of motion vectors when the alt frame is referenced.
2457 .. flat-table:: struct v4l2_vp8_entropy_coder_state
2458 :header-rows: 0
2459 :stub-columns: 0
2462 * - __u8
2463 - ``range``
2464 -
2465 * - __u8
2466 - ``value``
2467 -
2468 * - __u8
2469 - ``bit_count``
2470 -
2471 * - __u8
2472 - ``padding``
2473 - Applications and drivers must set this to zero.
2481 .. flat-table:: struct v4l2_vp8_segment_header
2482 :header-rows: 0
2483 :stub-columns: 0
2486 * - __s8
2487 - ``quant_update[4]``
2488 - Signed quantizer value update.
2489 * - __s8
2490 - ``lf_update[4]``
2491 - Signed loop filter level value update.
2492 * - __u8
2493 - ``segment_probs[3]``
2494 - Segment probabilities.
2495 * - __u8
2496 - ``padding``
2497 - Applications and drivers must set this to zero.
2498 * - __u32
2499 - ``flags``
2500 - See :ref:`Segment Header Flags <vp8_segment_header_flags>`
2508 .. flat-table::
2509 :header-rows: 0
2510 :stub-columns: 0
2513 * - ``V4L2_VP8_SEGMENT_HEADER_FLAG_ENABLED``
2514 - 0x01
2515 - Enable/disable segment-based adjustments.
2516 * - ``V4L2_VP8_SEGMENT_HEADER_FLAG_UPDATE_MAP``
2517 - 0x02
2518 - Indicates if the macroblock segmentation map is updated in this frame.
2519 * - ``V4L2_VP8_SEGMENT_HEADER_FLAG_UPDATE_FEATURE_DATA``
2520 - 0x04
2521 - Indicates if the segment feature data is updated in this frame.
2522 * - ``V4L2_VP8_SEGMENT_HEADER_FLAG_DELTA_VALUE_MODE``
2523 - 0x08
2524 - If is set, the segment feature data mode is delta-value.
2525 If cleared, it's absolute-value.
2533 .. flat-table:: struct v4l2_vp8_loopfilter_header
2534 :header-rows: 0
2535 :stub-columns: 0
2538 * - __s8
2539 - ``ref_frm_delta[4]``
2540 - Reference adjustment (signed) delta value.
2541 * - __s8
2542 - ``mb_mode_delta[4]``
2543 - Macroblock prediction mode adjustment (signed) delta value.
2544 * - __u8
2545 - ``sharpness_level``
2546 - Sharpness level
2547 * - __u8
2548 - ``level``
2549 - Filter level
2550 * - __u16
2551 - ``padding``
2552 - Applications and drivers must set this to zero.
2553 * - __u32
2554 - ``flags``
2555 - See :ref:`Loopfilter Header Flags <vp8_loopfilter_header_flags>`
2563 .. flat-table::
2564 :header-rows: 0
2565 :stub-columns: 0
2568 * - ``V4L2_VP8_LF_HEADER_ADJ_ENABLE``
2569 - 0x01
2570 - Enable/disable macroblock-level loop filter adjustment.
2571 * - ``V4L2_VP8_LF_HEADER_DELTA_UPDATE``
2572 - 0x02
2573 - Indicates if the delta values used in an adjustment are updated.
2574 * - ``V4L2_VP8_LF_FILTER_TYPE_SIMPLE``
2575 - 0x04
2576 - If set, indicates the filter type is simple.
2585 .. flat-table:: struct v4l2_vp8_quantization_header
2586 :header-rows: 0
2587 :stub-columns: 0
2590 * - __u8
2591 - ``y_ac_qi``
2592 - Luma AC coefficient table index.
2593 * - __s8
2594 - ``y_dc_delta``
2595 - Luma DC delta vaue.
2596 * - __s8
2597 - ``y2_dc_delta``
2598 - Y2 block DC delta value.
2599 * - __s8
2600 - ``y2_ac_delta``
2601 - Y2 block AC delta value.
2602 * - __s8
2603 - ``uv_dc_delta``
2604 - Chroma DC delta value.
2605 * - __s8
2606 - ``uv_ac_delta``
2607 - Chroma AC delta value.
2608 * - __u16
2609 - ``padding``
2610 - Applications and drivers must set this to zero.
2618 .. flat-table:: struct v4l2_vp8_entropy_header
2619 :header-rows: 0
2620 :stub-columns: 0
2623 * - __u8
2624 - ``coeff_probs[4][8][3][11]``
2625 - Coefficient update probabilities.
2626 * - __u8
2627 - ``y_mode_probs[4]``
2628 - Luma mode update probabilities.
2629 * - __u8
2630 - ``uv_mode_probs[3]``
2631 - Chroma mode update probabilities.
2632 * - __u8
2633 - ``mv_probs[2][19]``
2634 - MV decoding update probabilities.
2635 * - __u8
2636 - ``padding[3]``
2637 - Applications and drivers must set this to zero.
2652 .. _mfc51-control-id:
2655 -------------------
2659 a CAPTURE buffer (decoded frame) after processing a certain number
2667 return a decoded frame after the set 'display delay' number of
2668 frames. If this number is low it may result in frames returned out
2673 The number of reference pictures used for encoding a P picture.
2677 Padding enable in the encoder - use a color instead of repeating
2682 32-bit integer is interpreted as follows (bit 0 = least significant
2687 .. flat-table::
2688 :header-rows: 0
2689 :stub-columns: 0
2691 * - Bit 0:7
2692 - V chrominance information
2693 * - Bit 8:15
2694 - U chrominance information
2695 * - Bit 16:23
2696 - Y luminance information
2697 * - Bit 24:31
2698 - Must be zero.
2707 #. Valid only when the frame level RC is enabled.
2712 #. It is not recommended to use the greater number than
2739 .. _v4l2-mpeg-mfc51-video-frame-skip-mode:
2744 enum v4l2_mpeg_mfc51_video_frame_skip_mode -
2746 encoding a frame would cause the encoded stream to be larger then a
2747 chosen data limit then the frame will be skipped. Possible values
2757 .. flat-table::
2758 :header-rows: 0
2759 :stub-columns: 0
2761 * - ``V4L2_MPEG_MFC51_FRAME_SKIP_MODE_DISABLED``
2762 - Frame skip mode is disabled.
2763 * - ``V4L2_MPEG_MFC51_FRAME_SKIP_MODE_LEVEL_LIMIT``
2764 - Frame skip mode enabled and buffer limit is set by the chosen
2766 * - ``V4L2_MPEG_MFC51_FRAME_SKIP_MODE_BUF_LIMIT``
2767 - Frame skip mode enabled and buffer limit is set by the VBV
2775 Enable rate-control with fixed target bit. If this setting is
2782 because the average is calculated for smaller number of frames, on
2786 .. _v4l2-mpeg-mfc51-video-force-frame-type:
2791 enum v4l2_mpeg_mfc51_video_force_frame_type -
2792 Force a frame type for the next queued buffer. Applicable to
2797 .. flat-table::
2798 :header-rows: 0
2799 :stub-columns: 0
2801 * - ``V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_DISABLED``
2802 - Forcing a specific frame type disabled.
2803 * - ``V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_I_FRAME``
2804 - Force an I-frame.
2805 * - ``V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_NOT_CODED``
2806 - Force a non-coded frame.
2809 .. _v4l2-mpeg-fwht:
2827 .. flat-table:: struct v4l2_ctrl_fwht_params
2828 :header-rows: 0
2829 :stub-columns: 0
2832 * - __u64
2833 - ``backward_ref_ts``
2834 - Timestamp of the V4L2 capture buffer to use as backward reference, used
2835 with P-coded frames. The timestamp refers to the
2839 * - __u32
2840 - ``version``
2841 - The version of the codec
2842 * - __u32
2843 - ``width``
2844 - The width of the frame
2845 * - __u32
2846 - ``height``
2847 - The height of the frame
2848 * - __u32
2849 - ``flags``
2850 - The flags of the frame, see :ref:`fwht-flags`.
2851 * - __u32
2852 - ``colorspace``
2853 - The colorspace of the frame, from enum :c:type:`v4l2_colorspace`.
2854 * - __u32
2855 - ``xfer_func``
2856 - The transfer function, from enum :c:type:`v4l2_xfer_func`.
2857 * - __u32
2858 - ``ycbcr_enc``
2859 - The Y'CbCr encoding, from enum :c:type:`v4l2_ycbcr_encoding`.
2860 * - __u32
2861 - ``quantization``
2862 - The quantization range, from enum :c:type:`v4l2_quantization`.
2866 .. _fwht-flags:
2875 .. flat-table::
2876 :header-rows: 0
2877 :stub-columns: 0
2880 * - ``FWHT_FL_IS_INTERLACED``
2881 - 0x00000001
2882 - Set if this is an interlaced format
2883 * - ``FWHT_FL_IS_BOTTOM_FIRST``
2884 - 0x00000002
2885 - Set if this is a bottom-first (NTSC) interlaced format
2886 * - ``FWHT_FL_IS_ALTERNATE``
2887 - 0x00000004
2888 - Set if each 'frame' contains just one field
2889 * - ``FWHT_FL_IS_BOTTOM_FIELD``
2890 - 0x00000008
2891 - If FWHT_FL_IS_ALTERNATE was set, then this is set if this 'frame' is the
2893 * - ``FWHT_FL_LUMA_IS_UNCOMPRESSED``
2894 - 0x00000010
2895 - Set if the luma plane is uncompressed
2896 * - ``FWHT_FL_CB_IS_UNCOMPRESSED``
2897 - 0x00000020
2898 - Set if the cb plane is uncompressed
2899 * - ``FWHT_FL_CR_IS_UNCOMPRESSED``
2900 - 0x00000040
2901 - Set if the cr plane is uncompressed
2902 * - ``FWHT_FL_CHROMA_FULL_HEIGHT``
2903 - 0x00000080
2904 - Set if the chroma plane has the same height as the luma plane,
2906 * - ``FWHT_FL_CHROMA_FULL_WIDTH``
2907 - 0x00000100
2908 - Set if the chroma plane has the same width as the luma plane,
2910 * - ``FWHT_FL_ALPHA_IS_UNCOMPRESSED``
2911 - 0x00000200
2912 - Set if the alpha plane is uncompressed
2913 * - ``FWHT_FL_I_FRAME``
2914 - 0x00000400
2915 - Set if this is an I-frame
2916 * - ``FWHT_FL_COMPONENTS_NUM_MSK``
2917 - 0x00070000
2918 - A 4-values flag - the number of components - 1
2919 * - ``FWHT_FL_PIXENC_YUV``
2920 - 0x00080000
2921 - Set if the pixel encoding is YUV
2922 * - ``FWHT_FL_PIXENC_RGB``
2923 - 0x00100000
2924 - Set if the pixel encoding is RGB
2925 * - ``FWHT_FL_PIXENC_HSV``
2926 - 0x00180000
2927 - Set if the pixel encoding is HSV
2937 .. _cx2341x-control-id:
2940 -------------------
2942 .. _v4l2-mpeg-cx2341x-video-spatial-filter-mode:
2947 enum v4l2_mpeg_cx2341x_video_spatial_filter_mode -
2953 .. flat-table::
2954 :header-rows: 0
2955 :stub-columns: 0
2957 * - ``V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL``
2958 - Choose the filter manually
2959 * - ``V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO``
2960 - Choose the filter automatically
2964 ``V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER (integer (0-15))``
2968 .. _luma-spatial-filter-type:
2973 enum v4l2_mpeg_cx2341x_video_luma_spatial_filter_type -
2983 .. flat-table::
2984 :header-rows: 0
2985 :stub-columns: 0
2987 * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF``
2988 - No filter
2989 * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR``
2990 - One-dimensional horizontal
2991 * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT``
2992 - One-dimensional vertical
2993 * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE``
2994 - Two-dimensional separable
2995 * - ``V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE``
2996 - Two-dimensional symmetrical non-separable
3004 .. _chroma-spatial-filter-type:
3009 enum v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type -
3016 .. flat-table::
3017 :header-rows: 0
3018 :stub-columns: 0
3020 * - ``V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF``
3021 - No filter
3022 * - ``V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR``
3023 - One-dimensional horizontal
3027 .. _v4l2-mpeg-cx2341x-video-temporal-filter-mode:
3032 enum v4l2_mpeg_cx2341x_video_temporal_filter_mode -
3038 .. flat-table::
3039 :header-rows: 0
3040 :stub-columns: 0
3042 * - ``V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL``
3043 - Choose the filter manually
3044 * - ``V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO``
3045 - Choose the filter automatically
3049 ``V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER (integer (0-31))``
3051 is 8 for full-scale capturing and 0 for scaled capturing.)
3053 .. _v4l2-mpeg-cx2341x-video-median-filter-type:
3058 enum v4l2_mpeg_cx2341x_video_median_filter_type -
3063 .. flat-table::
3064 :header-rows: 0
3065 :stub-columns: 0
3067 * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF``
3068 - No filter
3069 * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR``
3070 - Horizontal filter
3071 * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_VERT``
3072 - Vertical filter
3073 * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT``
3074 - Horizontal and vertical filter
3075 * - ``V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG``
3076 - Diagonal filter
3080 ``V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM (integer (0-255))``
3084 ``V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP (integer (0-255))``
3088 ``V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM (integer (0-255))``
3092 ``V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP (integer (0-255))``
3097 The CX2341X MPEG encoder can insert one empty MPEG-2 PES packet into
3112 .. _vpx-control-id:
3115 ---------------
3117 .. _v4l2-vpx-num-partitions:
3122 enum v4l2_vp8_num_partitions -
3123 The number of token partitions to use in VP8 encoder. Possible
3128 .. flat-table::
3129 :header-rows: 0
3130 :stub-columns: 0
3132 * - ``V4L2_CID_MPEG_VIDEO_VPX_1_PARTITION``
3133 - 1 coefficient partition
3134 * - ``V4L2_CID_MPEG_VIDEO_VPX_2_PARTITIONS``
3135 - 2 coefficient partitions
3136 * - ``V4L2_CID_MPEG_VIDEO_VPX_4_PARTITIONS``
3137 - 4 coefficient partitions
3138 * - ``V4L2_CID_MPEG_VIDEO_VPX_8_PARTITIONS``
3139 - 8 coefficient partitions
3146 .. _v4l2-vpx-num-ref-frames:
3151 enum v4l2_vp8_num_ref_frames -
3152 The number of reference pictures for encoding P frames. Possible
3161 .. flat-table::
3162 :header-rows: 0
3163 :stub-columns: 0
3165 * - ``V4L2_CID_MPEG_VIDEO_VPX_1_REF_FRAME``
3166 - Last encoded frame will be searched
3167 * - ``V4L2_CID_MPEG_VIDEO_VPX_2_REF_FRAME``
3168 - Two frames will be searched among the last encoded frame, the
3169 golden frame and the alternate reference (altref) frame. The
3171 * - ``V4L2_CID_MPEG_VIDEO_VPX_3_REF_FRAME``
3172 - The last encoded frame, the golden frame and the altref frame will
3191 Sets the refresh period for the golden frame. The period is defined
3192 in number of frames. For a value of 'n', every nth frame starting
3193 from the first key frame will be taken as a golden frame. For eg.
3195 frame refresh period is set as 4, the frames 0, 4, 8 etc will be
3196 taken as the golden frames as frame 0 is always a key frame.
3198 .. _v4l2-vpx-golden-frame-sel:
3203 enum v4l2_vp8_golden_frame_sel -
3204 Selects the golden frame for encoding. Possible values are:
3212 .. flat-table::
3213 :header-rows: 0
3214 :stub-columns: 0
3216 * - ``V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_PREV``
3217 - Use the (n-2)th frame as a golden frame, current frame index being
3219 * - ``V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_REF_PERIOD``
3220 - Use the previous specific frame indicated by
3222 golden frame.
3236 Quantization parameter for an I frame for VP8.
3239 Quantization parameter for a P frame for VP8.
3241 .. _v4l2-mpeg-video-vp8-profile:
3246 enum v4l2_mpeg_video_vp8_profile -
3251 .. flat-table::
3252 :header-rows: 0
3253 :stub-columns: 0
3255 * - ``V4L2_MPEG_VIDEO_VP8_PROFILE_0``
3256 - Profile 0
3257 * - ``V4L2_MPEG_VIDEO_VP8_PROFILE_1``
3258 - Profile 1
3259 * - ``V4L2_MPEG_VIDEO_VP8_PROFILE_2``
3260 - Profile 2
3261 * - ``V4L2_MPEG_VIDEO_VP8_PROFILE_3``
3262 - Profile 3
3264 .. _v4l2-mpeg-video-vp9-profile:
3269 enum v4l2_mpeg_video_vp9_profile -
3274 .. flat-table::
3275 :header-rows: 0
3276 :stub-columns: 0
3278 * - ``V4L2_MPEG_VIDEO_VP9_PROFILE_0``
3279 - Profile 0
3280 * - ``V4L2_MPEG_VIDEO_VP9_PROFILE_1``
3281 - Profile 1
3282 * - ``V4L2_MPEG_VIDEO_VP9_PROFILE_2``
3283 - Profile 2
3284 * - ``V4L2_MPEG_VIDEO_VP9_PROFILE_3``
3285 - Profile 3
3295 .. _hevc-control-id:
3298 ----------------------
3309 Quantization parameter for an I frame for HEVC.
3314 Quantization parameter for a P frame for HEVC.
3319 Quantization parameter for a B frame for HEVC.
3329 .. _v4l2-hevc-hier-coding-type:
3334 enum v4l2_mpeg_video_hevc_hier_coding_type -
3343 .. flat-table::
3344 :header-rows: 0
3345 :stub-columns: 0
3347 * - ``V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B``
3348 - Use the B frame for hierarchical coding.
3349 * - ``V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P``
3350 - Use the P frame for hierarchical coding.
3359 (non-hierarchial coding), it should be zero. Possible values are [0, 6].
3398 .. _v4l2-hevc-profile:
3403 enum v4l2_mpeg_video_hevc_profile -
3412 .. flat-table::
3413 :header-rows: 0
3414 :stub-columns: 0
3416 * - ``V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN``
3417 - Main profile.
3418 * - ``V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE``
3419 - Main still picture profile.
3420 * - ``V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10``
3421 - Main 10 profile.
3428 .. _v4l2-hevc-level:
3433 enum v4l2_mpeg_video_hevc_level -
3442 .. flat-table::
3443 :header-rows: 0
3444 :stub-columns: 0
3446 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_1``
3447 - Level 1.0
3448 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_2``
3449 - Level 2.0
3450 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_2_1``
3451 - Level 2.1
3452 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_3``
3453 - Level 3.0
3454 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_3_1``
3455 - Level 3.1
3456 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_4``
3457 - Level 4.0
3458 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1``
3459 - Level 4.1
3460 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_5``
3461 - Level 5.0
3462 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1``
3463 - Level 5.1
3464 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2``
3465 - Level 5.2
3466 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_6``
3467 - Level 6.0
3468 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1``
3469 - Level 6.1
3470 * - ``V4L2_MPEG_VIDEO_HEVC_LEVEL_6_2``
3471 - Level 6.2
3479 Indicates the number of evenly spaced subintervals, called ticks, within
3483 .. _v4l2-hevc-tier:
3488 enum v4l2_mpeg_video_hevc_tier -
3501 .. flat-table::
3502 :header-rows: 0
3503 :stub-columns: 0
3505 * - ``V4L2_MPEG_VIDEO_HEVC_TIER_MAIN``
3506 - Main tier.
3507 * - ``V4L2_MPEG_VIDEO_HEVC_TIER_HIGH``
3508 - High tier.
3518 .. _v4l2-hevc-loop-filter-mode:
3523 enum v4l2_mpeg_video_hevc_loop_filter_mode -
3532 .. flat-table::
3533 :header-rows: 0
3534 :stub-columns: 0
3536 * - ``V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED``
3537 - Loop filter is disabled.
3538 * - ``V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED``
3539 - Loop filter is enabled.
3540 * - ``V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY``
3541 - Loop filter is disabled at the slice boundary.
3549 Selects HEVC loop filter beta offset. The valid range is [-6, +6].
3552 Selects HEVC loop filter tc offset. The valid range is [-6, +6].
3554 .. _v4l2-hevc-refresh-type:
3559 enum v4l2_mpeg_video_hevc_hier_refresh_type -
3570 .. flat-table::
3571 :header-rows: 0
3572 :stub-columns: 0
3574 * - ``V4L2_MPEG_VIDEO_HEVC_REFRESH_NONE``
3575 - Use the B frame for hierarchical coding.
3576 * - ``V4L2_MPEG_VIDEO_HEVC_REFRESH_CRA``
3577 - Use CRA (Clean Random Access Unit) picture encoding.
3578 * - ``V4L2_MPEG_VIDEO_HEVC_REFRESH_IDR``
3579 - Use IDR (Instantaneous Decoding Refresh) picture encoding.
3588 This specifies the number of I pictures between two CRA/IDR pictures.
3608 Setting the value to 1 enables combination of P and B frame for HEVC
3616 Indicates bi-linear interpolation is conditionally used in the intra
3617 prediction filtering process in the CVS when set to 1. Indicates bi-linear
3621 Indicates maximum number of merge candidate motion vectors.
3635 .. _v4l2-hevc-size-of-length-field:
3640 enum v4l2_mpeg_video_hevc_size_of_length_field -
3650 .. flat-table::
3651 :header-rows: 0
3652 :stub-columns: 0
3654 * - ``V4L2_MPEG_VIDEO_HEVC_SIZE_0``
3655 - Generate start code pattern (Normal).
3656 * - ``V4L2_MPEG_VIDEO_HEVC_SIZE_1``
3657 - Generate size of length field instead of start code pattern and length is 1.
3658 * - ``V4L2_MPEG_VIDEO_HEVC_SIZE_2``
3659 - Generate size of length field instead of start code pattern and length is 2.
3660 * - ``V4L2_MPEG_VIDEO_HEVC_SIZE_4``
3661 - Generate size of length field instead of start code pattern and length is 4.
3689 Selects number of P reference pictures required for HEVC encoder.
3690 P-Frame can use 1 or 2 frames for reference.