include/uapi/linux/v4l2-controls.h
Source file repositories/reference/linux-study-clean/include/uapi/linux/v4l2-controls.h
File Facts
- System
- Linux kernel
- Corpus path
include/uapi/linux/v4l2-controls.h- Extension
.h- Size
- 153316 bytes
- Lines
- 3589
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/const.hlinux/types.h
Detected Declarations
struct v4l2_ctrl_h264_spsstruct v4l2_ctrl_h264_ppsstruct v4l2_ctrl_h264_scaling_matrixstruct v4l2_h264_weight_factorsstruct v4l2_ctrl_h264_pred_weightsstruct v4l2_h264_referencestruct v4l2_ctrl_h264_slice_paramsstruct v4l2_h264_dpb_entrystruct v4l2_ctrl_h264_decode_paramsstruct v4l2_ctrl_fwht_paramsstruct v4l2_vp8_segmentstruct v4l2_vp8_loop_filterstruct v4l2_vp8_quantizationstruct v4l2_vp8_entropystruct v4l2_vp8_entropy_coder_statestruct v4l2_ctrl_vp8_framestruct v4l2_ctrl_mpeg2_sequencestruct v4l2_ctrl_mpeg2_picturestruct v4l2_ctrl_mpeg2_quantisationstruct v4l2_ctrl_hevc_spsstruct v4l2_ctrl_hevc_ppsstruct v4l2_hevc_dpb_entrystruct v4l2_hevc_pred_weight_tablestruct v4l2_ctrl_hevc_slice_paramsstruct v4l2_ctrl_hevc_decode_paramsstruct v4l2_ctrl_hevc_scaling_matrixstruct v4l2_ctrl_hevc_ext_sps_st_rpsstruct v4l2_ctrl_hevc_ext_sps_lt_rpsstruct v4l2_vp9_loop_filterstruct v4l2_vp9_quantizationstruct v4l2_vp9_segmentationstruct v4l2_ctrl_vp9_framestruct v4l2_vp9_mv_probsstruct v4l2_ctrl_vp9_compressed_hdrstruct v4l2_ctrl_av1_sequencestruct v4l2_ctrl_av1_tile_group_entrystruct v4l2_av1_global_motionstruct v4l2_av1_loop_restorationstruct v4l2_av1_cdefstruct v4l2_av1_segmentationstruct v4l2_av1_loop_filterstruct v4l2_av1_quantizationstruct v4l2_av1_tile_infostruct v4l2_ctrl_av1_framestruct v4l2_ctrl_av1_film_grainstruct v4l2_ctrl_hdr10_cll_infostruct v4l2_ctrl_hdr10_mastering_displayenum v4l2_power_line_frequency
Annotated Snippet
struct v4l2_ctrl_h264_sps {
__u8 profile_idc;
__u8 constraint_set_flags;
__u8 level_idc;
__u8 seq_parameter_set_id;
__u8 chroma_format_idc;
__u8 bit_depth_luma_minus8;
__u8 bit_depth_chroma_minus8;
__u8 log2_max_frame_num_minus4;
__u8 pic_order_cnt_type;
__u8 log2_max_pic_order_cnt_lsb_minus4;
__u8 max_num_ref_frames;
__u8 num_ref_frames_in_pic_order_cnt_cycle;
__s32 offset_for_ref_frame[255];
__s32 offset_for_non_ref_pic;
__s32 offset_for_top_to_bottom_field;
__u16 pic_width_in_mbs_minus1;
__u16 pic_height_in_map_units_minus1;
__u32 flags;
};
#define V4L2_H264_PPS_FLAG_ENTROPY_CODING_MODE 0x0001
#define V4L2_H264_PPS_FLAG_BOTTOM_FIELD_PIC_ORDER_IN_FRAME_PRESENT 0x0002
#define V4L2_H264_PPS_FLAG_WEIGHTED_PRED 0x0004
#define V4L2_H264_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT 0x0008
#define V4L2_H264_PPS_FLAG_CONSTRAINED_INTRA_PRED 0x0010
#define V4L2_H264_PPS_FLAG_REDUNDANT_PIC_CNT_PRESENT 0x0020
#define V4L2_H264_PPS_FLAG_TRANSFORM_8X8_MODE 0x0040
#define V4L2_H264_PPS_FLAG_SCALING_MATRIX_PRESENT 0x0080
#define V4L2_CID_STATELESS_H264_PPS (V4L2_CID_CODEC_STATELESS_BASE + 3)
/**
* struct v4l2_ctrl_h264_pps - H264 picture parameter set
*
* Except where noted, all the members on this picture parameter set
* structure match the picture parameter set syntax as specified
* by the H264 specification.
*
* In particular, V4L2_H264_PPS_FLAG_SCALING_MATRIX_PRESENT flag
* has a specific meaning. This flag should be set if a non-flat
* scaling matrix applies to the picture. In this case, applications
* are expected to use V4L2_CID_STATELESS_H264_SCALING_MATRIX,
* to pass the values of the non-flat matrices.
*
* @pic_parameter_set_id: see H264 specification.
* @seq_parameter_set_id: see H264 specification.
* @num_slice_groups_minus1: see H264 specification.
* @num_ref_idx_l0_default_active_minus1: see H264 specification.
* @num_ref_idx_l1_default_active_minus1: see H264 specification.
* @weighted_bipred_idc: see H264 specification.
* @pic_init_qp_minus26: see H264 specification.
* @pic_init_qs_minus26: see H264 specification.
* @chroma_qp_index_offset: see H264 specification.
* @second_chroma_qp_index_offset: see H264 specification.
* @flags: see V4L2_H264_PPS_FLAG_{}.
*/
struct v4l2_ctrl_h264_pps {
__u8 pic_parameter_set_id;
__u8 seq_parameter_set_id;
__u8 num_slice_groups_minus1;
__u8 num_ref_idx_l0_default_active_minus1;
__u8 num_ref_idx_l1_default_active_minus1;
__u8 weighted_bipred_idc;
__s8 pic_init_qp_minus26;
__s8 pic_init_qs_minus26;
__s8 chroma_qp_index_offset;
__s8 second_chroma_qp_index_offset;
__u16 flags;
};
#define V4L2_CID_STATELESS_H264_SCALING_MATRIX (V4L2_CID_CODEC_STATELESS_BASE + 4)
/**
* struct v4l2_ctrl_h264_scaling_matrix - H264 scaling matrices
*
* @scaling_list_4x4: scaling matrix after applying the inverse
* scanning process. Expected list order is Intra Y, Intra Cb,
* Intra Cr, Inter Y, Inter Cb, Inter Cr. The values on each
* scaling list are expected in raster scan order.
* @scaling_list_8x8: scaling matrix after applying the inverse
* scanning process. Expected list order is Intra Y, Inter Y,
* Intra Cb, Inter Cb, Intra Cr, Inter Cr. The values on each
* scaling list are expected in raster scan order.
*
* Note that the list order is different for the 4x4 and 8x8
* matrices as per the H264 specification, see table 7-2 "Assignment
* of mnemonic names to scaling list indices and specification of
* fall-back rule".
*/
struct v4l2_ctrl_h264_scaling_matrix {
__u8 scaling_list_4x4[6][16];
Annotation
- Immediate include surface: `linux/const.h`, `linux/types.h`.
- Detected declarations: `struct v4l2_ctrl_h264_sps`, `struct v4l2_ctrl_h264_pps`, `struct v4l2_ctrl_h264_scaling_matrix`, `struct v4l2_h264_weight_factors`, `struct v4l2_ctrl_h264_pred_weights`, `struct v4l2_h264_reference`, `struct v4l2_ctrl_h264_slice_params`, `struct v4l2_h264_dpb_entry`, `struct v4l2_ctrl_h264_decode_params`, `struct v4l2_ctrl_fwht_params`.
- Atlas domain: Core OS / Core Kernel Interface.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.