Lines Matching +full:mipi +full:- +full:ccs +full:- +full:1
1 /* SPDX-License-Identifier: ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause) */
5 * Copyright (C) 1999-2012 the contributors
19 #define V4L2_CTRL_CLASS_USER 0x00980000 /* Old-style 'user' controls */
24 #define V4L2_CTRL_CLASS_JPEG 0x009d0000 /* JPEG-compression controls */
34 /* User-class control IDs */
38 #define V4L2_CID_USER_CLASS (V4L2_CTRL_CLASS_USER | 1)
40 #define V4L2_CID_CONTRAST (V4L2_CID_BASE+1)
65 V4L2_CID_POWER_LINE_FREQUENCY_50HZ = 1,
78 V4L2_COLORFX_BW = 1,
113 /* last CID + 1 */
116 /* USER-class private control IDs */
136 * The base for the si476x driver controls. See include/media/drv-intf/si476x.h
178 * The base for MIPI CCS driver controls.
225 /* MPEG-class control IDs */
230 #define V4L2_CID_CODEC_CLASS (V4L2_CTRL_CLASS_CODEC | 1)
235 V4L2_MPEG_STREAM_TYPE_MPEG2_PS = 0, /* MPEG-2 program stream */
236 V4L2_MPEG_STREAM_TYPE_MPEG2_TS = 1, /* MPEG-2 transport stream */
237 V4L2_MPEG_STREAM_TYPE_MPEG1_SS = 2, /* MPEG-1 system stream */
238 V4L2_MPEG_STREAM_TYPE_MPEG2_DVD = 3, /* MPEG-2 DVD-compatible stream */
239 V4L2_MPEG_STREAM_TYPE_MPEG1_VCD = 4, /* MPEG-1 VCD-compatible stream */
240 V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD = 5, /* MPEG-2 SVCD-compatible stream */
242 #define V4L2_CID_MPEG_STREAM_PID_PMT (V4L2_CID_CODEC_BASE+1)
251 V4L2_MPEG_STREAM_VBI_FMT_IVTV = 1, /* VBI in private packets, IVTV format */
258 V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000 = 1,
264 V4L2_MPEG_AUDIO_ENCODING_LAYER_2 = 1,
272 V4L2_MPEG_AUDIO_L1_BITRATE_64K = 1,
289 V4L2_MPEG_AUDIO_L2_BITRATE_48K = 1,
306 V4L2_MPEG_AUDIO_L3_BITRATE_40K = 1,
323 V4L2_MPEG_AUDIO_MODE_JOINT_STEREO = 1,
330 V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8 = 1,
337 V4L2_MPEG_AUDIO_EMPHASIS_50_DIV_15_uS = 1,
343 V4L2_MPEG_AUDIO_CRC_CRC16 = 1,
350 V4L2_MPEG_AUDIO_AC3_BITRATE_40K = 1,
372 V4L2_MPEG_AUDIO_DEC_PLAYBACK_STEREO = 1,
384 V4L2_MPEG_VIDEO_ENCODING_MPEG_2 = 1,
390 V4L2_MPEG_VIDEO_ASPECT_4x3 = 1,
401 V4L2_MPEG_VIDEO_BITRATE_MODE_CBR = 1,
416 V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME = 1,
426 V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB = 1,
430 V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_MB = 1,
452 V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_CYCLIC = 1,
455 /* CIDs for the MPEG-2 Part 2 (H.262) codec */
459 V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN = 1,
466 V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN = 1,
492 V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC = 1,
498 V4L2_MPEG_VIDEO_H264_LEVEL_1B = 1,
523 V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED = 1,
529 V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE = 1,
553 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_1x1 = 1,
576 V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_COLUMN = 1,
586 V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_SCATTERED_SLICES = 1,
597 V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT = 1,
607 V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P = 1,
634 V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B = 1,
645 V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE = 1,
659 V4L2_CID_MPEG_VIDEO_VPX_2_PARTITIONS = 1,
667 V4L2_CID_MPEG_VIDEO_VPX_2_REF_FRAME = 1,
676 V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_REF_PERIOD = 1,
686 V4L2_MPEG_VIDEO_VP8_PROFILE_1 = 1,
695 V4L2_MPEG_VIDEO_VP9_PROFILE_1 = 1,
702 V4L2_MPEG_VIDEO_VP9_LEVEL_1_1 = 1,
728 V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P = 1,
741 V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE = 1,
747 V4L2_MPEG_VIDEO_HEVC_LEVEL_2 = 1,
764 V4L2_MPEG_VIDEO_HEVC_TIER_HIGH = 1,
770 V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED = 1,
778 V4L2_MPEG_VIDEO_HEVC_REFRESH_CRA = 1,
795 V4L2_MPEG_VIDEO_HEVC_SIZE_1 = 1,
812 V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT = 1,
828 * enum v4l2_mpeg_video_av1_profile - AV1 profiles
833 * streams with seq_profile equal less than or equal to 1.
841 V4L2_MPEG_VIDEO_AV1_PROFILE_HIGH = 1,
847 * enum v4l2_mpeg_video_av1_level - AV1 levels
878 V4L2_MPEG_VIDEO_AV1_LEVEL_2_1 = 1,
910 /* MPEG-class control IDs specific to the CX2341x driver as defined by V4L2 */
915 V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO = 1,
917 #define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER (V4L2_CID_CODEC_CX2341X_BASE+1)
921 V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR = 1,
929 V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR = 1,
934 V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO = 1,
940 V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR = 1,
951 /* MPEG-class control IDs specific to the Samsung MFC 5.1 driver as defined by V4L2 */
955 #define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE (V4L2_CID_CODEC_MFC51_BASE+1)
959 V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT = 1,
965 V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_I_FRAME = 1,
981 #define V4L2_CID_CAMERA_CLASS (V4L2_CTRL_CLASS_CAMERA | 1)
983 #define V4L2_CID_EXPOSURE_AUTO (V4L2_CID_CAMERA_CLASS_BASE+1)
986 V4L2_EXPOSURE_MANUAL = 1,
1019 V4L2_WHITE_BALANCE_AUTO = 1,
1037 V4L2_ISO_SENSITIVITY_AUTO = 1,
1043 V4L2_EXPOSURE_METERING_CENTER_WEIGHTED = 1,
1051 V4L2_SCENE_MODE_BACKLIGHT = 1,
1067 #define V4L2_LOCK_EXPOSURE (1 << 0)
1068 #define V4L2_LOCK_WHITE_BALANCE (1 << 1)
1069 #define V4L2_LOCK_FOCUS (1 << 2)
1075 #define V4L2_AUTO_FOCUS_STATUS_BUSY (1 << 0)
1076 #define V4L2_AUTO_FOCUS_STATUS_REACHED (1 << 1)
1077 #define V4L2_AUTO_FOCUS_STATUS_FAILED (1 << 2)
1082 V4L2_AUTO_FOCUS_RANGE_NORMAL = 1,
1092 #define V4L2_CAMERA_ORIENTATION_BACK 1
1102 #define V4L2_CID_FM_TX_CLASS (V4L2_CTRL_CLASS_FM_TX | 1)
1104 #define V4L2_CID_RDS_TX_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 1)
1136 V4L2_PREEMPHASIS_50_uS = 1,
1146 #define V4L2_CID_FLASH_CLASS (V4L2_CTRL_CLASS_FLASH | 1)
1148 #define V4L2_CID_FLASH_LED_MODE (V4L2_CID_FLASH_CLASS_BASE + 1)
1171 #define V4L2_FLASH_FAULT_OVER_VOLTAGE (1 << 0)
1172 #define V4L2_FLASH_FAULT_TIMEOUT (1 << 1)
1173 #define V4L2_FLASH_FAULT_OVER_TEMPERATURE (1 << 2)
1174 #define V4L2_FLASH_FAULT_SHORT_CIRCUIT (1 << 3)
1175 #define V4L2_FLASH_FAULT_OVER_CURRENT (1 << 4)
1176 #define V4L2_FLASH_FAULT_INDICATOR (1 << 5)
1177 #define V4L2_FLASH_FAULT_UNDER_VOLTAGE (1 << 6)
1178 #define V4L2_FLASH_FAULT_INPUT_VOLTAGE (1 << 7)
1179 #define V4L2_FLASH_FAULT_LED_OVER_TEMPERATURE (1 << 8)
1185 /* JPEG-class control IDs */
1188 #define V4L2_CID_JPEG_CLASS (V4L2_CTRL_CLASS_JPEG | 1)
1190 #define V4L2_CID_JPEG_CHROMA_SUBSAMPLING (V4L2_CID_JPEG_CLASS_BASE + 1)
1193 V4L2_JPEG_CHROMA_SUBSAMPLING_422 = 1,
1203 #define V4L2_JPEG_ACTIVE_MARKER_APP0 (1 << 0)
1204 #define V4L2_JPEG_ACTIVE_MARKER_APP1 (1 << 1)
1205 #define V4L2_JPEG_ACTIVE_MARKER_COM (1 << 16)
1206 #define V4L2_JPEG_ACTIVE_MARKER_DQT (1 << 17)
1207 #define V4L2_JPEG_ACTIVE_MARKER_DHT (1 << 18)
1212 #define V4L2_CID_IMAGE_SOURCE_CLASS (V4L2_CTRL_CLASS_IMAGE_SOURCE | 1)
1214 #define V4L2_CID_VBLANK (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 1)
1228 #define V4L2_CID_IMAGE_PROC_CLASS (V4L2_CTRL_CLASS_IMAGE_PROC | 1)
1230 #define V4L2_CID_LINK_FREQ (V4L2_CID_IMAGE_PROC_CLASS_BASE + 1)
1236 /* DV-class control IDs defined by V4L2 */
1238 #define V4L2_CID_DV_CLASS (V4L2_CTRL_CLASS_DV | 1)
1240 #define V4L2_CID_DV_TX_HOTPLUG (V4L2_CID_DV_CLASS_BASE + 1)
1246 V4L2_DV_TX_MODE_HDMI = 1,
1251 V4L2_DV_RGB_RANGE_LIMITED = 1,
1258 V4L2_DV_IT_CONTENT_TYPE_PHOTO = 1,
1269 #define V4L2_CID_FM_RX_CLASS (V4L2_CTRL_CLASS_FM_RX | 1)
1271 #define V4L2_CID_TUNE_DEEMPHASIS (V4L2_CID_FM_RX_CLASS_BASE + 1)
1287 #define V4L2_CID_RF_TUNER_CLASS (V4L2_CTRL_CLASS_RF_TUNER | 1)
1301 /* Detection-class control IDs defined by V4L2 */
1303 #define V4L2_CID_DETECT_CLASS (V4L2_CTRL_CLASS_DETECT | 1)
1305 #define V4L2_CID_DETECT_MD_MODE (V4L2_CID_DETECT_CLASS_BASE + 1)
1308 V4L2_DETECT_MD_MODE_GLOBAL = 1,
1319 #define V4L2_CID_CODEC_STATELESS_CLASS (V4L2_CTRL_CLASS_CODEC_STATELESS | 1)
1323 * enum v4l2_stateless_h264_decode_mode - Decoding mode
1343 #define V4L2_CID_STATELESS_H264_START_CODE (V4L2_CID_CODEC_STATELESS_BASE + 1)
1345 * enum v4l2_stateless_h264_start_code - Start code
1351 * (legal start codes can be 3-bytes 0x000001 or 4-bytes 0x00000001).
1376 ((sps)->profile_idc == 100 || (sps)->profile_idc == 110 || \
1377 (sps)->profile_idc == 122 || (sps)->profile_idc == 244 || \
1378 (sps)->profile_idc == 44 || (sps)->profile_idc == 83 || \
1379 (sps)->profile_idc == 86 || (sps)->profile_idc == 118 || \
1380 (sps)->profile_idc == 128 || (sps)->profile_idc == 138 || \
1381 (sps)->profile_idc == 139 || (sps)->profile_idc == 134 || \
1382 (sps)->profile_idc == 135)
1386 * struct v4l2_ctrl_h264_sps - H264 sequence parameter set
1442 * struct v4l2_ctrl_h264_pps - H264 picture parameter set
1449 * has a specific meaning. This flag should be set if a non-flat
1452 * to pass the values of the non-flat matrices.
1482 * struct v4l2_ctrl_h264_scaling_matrix - H264 scaling matrices
1494 * matrices as per the H264 specification, see table 7-2 "Assignment
1496 * fall-back rule".
1511 ((((pps)->flags & V4L2_H264_PPS_FLAG_WEIGHTED_PRED) && \
1512 ((slice)->slice_type == V4L2_H264_SLICE_TYPE_P || \
1513 (slice)->slice_type == V4L2_H264_SLICE_TYPE_SP)) || \
1514 ((pps)->weighted_bipred_idc == 1 && \
1515 (slice)->slice_type == V4L2_H264_SLICE_TYPE_B))
1519 * struct v4l2_ctrl_h264_pred_weights - Prediction weight table
1535 #define V4L2_H264_SLICE_TYPE_B 1
1548 * struct v4l2_h264_reference - H264 picture reference
1568 * struct v4l2_ctrl_h264_slice_params - H264 slice parameters
1571 * as non-invariant for the slices in a given frame.
1575 * on frame-based decoders, where slice header parsing is done by the
1597 * @ref_pic_list0: reference picture list 0 after applying the per-slice modifications.
1598 * @ref_pic_list1: reference picture list 1 after applying the per-slice modifications.
1630 * struct v4l2_h264_dpb_entry - H264 decoded picture buffer entry
1665 * struct v4l2_ctrl_h264_decode_params - H264 decoding parameters
1712 /* Set if this is a bottom-first (NTSC) interlaced format */
1713 #define V4L2_FWHT_FL_IS_BOTTOM_FIRST _BITUL(1)
1736 /* A 4-values flag - the number of components - 1 */
1740 /* A 4-values flag - the pixel encoding type */
1743 #define V4L2_FWHT_FL_PIXENC_YUV (1 << V4L2_FWHT_FL_PIXENC_OFFSET)
1749 * struct v4l2_ctrl_fwht_params - FWHT parameters
1783 * struct v4l2_vp8_segment - VP8 segment-based adjustments parameters
1791 * This structure contains segment-based adjustments related parameters.
1793 * and section '9.3. Segment-Based Adjustments' of the VP8 specification
1809 * struct v4l2_vp8_loop_filter - VP8 loop filter parameters
1833 * struct v4l2_vp8_quantization - VP8 quantizattion indices
1862 * struct v4l2_vp8_entropy - VP8 update probabilities
1865 * @y_mode_probs: luma intra-prediction probabilities.
1866 * @uv_mode_probs: chroma intra-prediction probabilities.
1884 * struct v4l2_vp8_entropy_coder_state - VP8 boolean coder state
1909 (!!((hdr)->flags & V4L2_VP8_FRAME_FLAG_KEY_FRAME))
1913 * struct v4l2_ctrl_vp8_frame - VP8 frame parameters
1971 /* Stateless MPEG-2 controls */
1977 * struct v4l2_ctrl_mpeg2_sequence - MPEG-2 sequence header
1980 * extension syntaxes as specified by the MPEG-2 specification.
1992 * @profile_and_level_indication: see MPEG-2 specification.
1993 * @chroma_format: see MPEG-2 specification.
2005 #define V4L2_MPEG2_PIC_CODING_TYPE_I 1
2025 * struct v4l2_ctrl_mpeg2_picture - MPEG-2 picture header
2028 * coding extension syntaxes as specified by the MPEG-2 specification.
2037 * @f_code: see MPEG-2 specification.
2038 * @picture_coding_type: see MPEG-2 specification.
2040 * @intra_dc_precision: see MPEG-2 specification.
2056 * struct v4l2_ctrl_mpeg2_quantisation - MPEG-2 quantisation
2062 * for intra-coded frames, in zigzag scanning order. It is relevant
2064 * by the chroma-specific matrix for non-4:2:0 YUV formats.
2066 * for non-intra-coded frames, in zigzag scanning order. It is relevant
2068 * by the chroma-specific matrix for non-4:2:0 YUV formats.
2070 * for the chominance component of intra-coded frames, in zigzag scanning
2073 * for the chrominance component of non-intra-coded frames, in zigzag scanning
2103 #define V4L2_HEVC_SLICE_TYPE_P 1
2106 #define V4L2_HEVC_SPS_FLAG_SEPARATE_COLOUR_PLANE (1ULL << 0)
2107 #define V4L2_HEVC_SPS_FLAG_SCALING_LIST_ENABLED (1ULL << 1)
2108 #define V4L2_HEVC_SPS_FLAG_AMP_ENABLED (1ULL << 2)
2109 #define V4L2_HEVC_SPS_FLAG_SAMPLE_ADAPTIVE_OFFSET (1ULL << 3)
2110 #define V4L2_HEVC_SPS_FLAG_PCM_ENABLED (1ULL << 4)
2111 #define V4L2_HEVC_SPS_FLAG_PCM_LOOP_FILTER_DISABLED (1ULL << 5)
2112 #define V4L2_HEVC_SPS_FLAG_LONG_TERM_REF_PICS_PRESENT (1ULL << 6)
2113 #define V4L2_HEVC_SPS_FLAG_SPS_TEMPORAL_MVP_ENABLED (1ULL << 7)
2114 #define V4L2_HEVC_SPS_FLAG_STRONG_INTRA_SMOOTHING_ENABLED (1ULL << 8)
2117 * struct v4l2_ctrl_hevc_sps - ITU-T Rec. H.265: Sequence parameter set
2133 * @sps_max_dec_pic_buffering_minus1: this value plus 1 specifies the maximum
2157 * @pcm_sample_bit_depth_luma_minus1: this value plus 1 specifies the number of
2160 * @pcm_sample_bit_depth_chroma_minus1: this value plus 1 specifies the number
2170 * @num_long_term_ref_pics_sps: specifies the number of candidate long-term
2173 * @sps_max_sub_layers_minus1: this value plus 1 specifies the maximum number
2174 * of temporal sub-layers
2208 #define V4L2_HEVC_PPS_FLAG_DEPENDENT_SLICE_SEGMENT_ENABLED (1ULL << 0)
2209 #define V4L2_HEVC_PPS_FLAG_OUTPUT_FLAG_PRESENT (1ULL << 1)
2210 #define V4L2_HEVC_PPS_FLAG_SIGN_DATA_HIDING_ENABLED (1ULL << 2)
2211 #define V4L2_HEVC_PPS_FLAG_CABAC_INIT_PRESENT (1ULL << 3)
2212 #define V4L2_HEVC_PPS_FLAG_CONSTRAINED_INTRA_PRED (1ULL << 4)
2213 #define V4L2_HEVC_PPS_FLAG_TRANSFORM_SKIP_ENABLED (1ULL << 5)
2214 #define V4L2_HEVC_PPS_FLAG_CU_QP_DELTA_ENABLED (1ULL << 6)
2215 #define V4L2_HEVC_PPS_FLAG_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT (1ULL << 7)
2216 #define V4L2_HEVC_PPS_FLAG_WEIGHTED_PRED (1ULL << 8)
2217 #define V4L2_HEVC_PPS_FLAG_WEIGHTED_BIPRED (1ULL << 9)
2218 #define V4L2_HEVC_PPS_FLAG_TRANSQUANT_BYPASS_ENABLED (1ULL << 10)
2219 #define V4L2_HEVC_PPS_FLAG_TILES_ENABLED (1ULL << 11)
2220 #define V4L2_HEVC_PPS_FLAG_ENTROPY_CODING_SYNC_ENABLED (1ULL << 12)
2221 #define V4L2_HEVC_PPS_FLAG_LOOP_FILTER_ACROSS_TILES_ENABLED (1ULL << 13)
2222 #define V4L2_HEVC_PPS_FLAG_PPS_LOOP_FILTER_ACROSS_SLICES_ENABLED (1ULL << 14)
2223 #define V4L2_HEVC_PPS_FLAG_DEBLOCKING_FILTER_OVERRIDE_ENABLED (1ULL << 15)
2224 #define V4L2_HEVC_PPS_FLAG_PPS_DISABLE_DEBLOCKING_FILTER (1ULL << 16)
2225 #define V4L2_HEVC_PPS_FLAG_LISTS_MODIFICATION_PRESENT (1ULL << 17)
2226 #define V4L2_HEVC_PPS_FLAG_SLICE_SEGMENT_HEADER_EXTENSION_PRESENT (1ULL << 18)
2227 #define V4L2_HEVC_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT (1ULL << 19)
2228 #define V4L2_HEVC_PPS_FLAG_UNIFORM_SPACING (1ULL << 20)
2231 * struct v4l2_ctrl_hevc_pps - ITU-T Rec. H.265: Picture parameter set
2238 * @num_ref_idx_l0_default_active_minus1: this value plus 1 specifies the
2240 * @num_ref_idx_l1_default_active_minus1: this value plus 1 specifies the
2250 * @num_tile_columns_minus1: this value plus 1 specifies the number of tile columns
2252 * @num_tile_rows_minus1: this value plus 1 specifies the number of tile rows partitioning
2254 * @column_width_minus1: this value plus 1 specifies the width of the each tile column in
2256 * @row_height_minus1: this value plus 1 specifies the height of the each tile row in
2290 #define V4L2_HEVC_SEI_PIC_STRUCT_TOP_FIELD 1
2306 * struct v4l2_hevc_dpb_entry - HEVC decoded picture buffer entry
2323 * struct v4l2_hevc_pred_weight_table - HEVC weighted prediction parameters
2334 * to the luma prediction value for list 1
2336 * for list 1
2338 * to the chroma prediction values for list 1
2340 * the chroma prediction values for list 1
2362 #define V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_SAO_LUMA (1ULL << 0)
2363 #define V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_SAO_CHROMA (1ULL << 1)
2364 #define V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_TEMPORAL_MVP_ENABLED (1ULL << 2)
2365 #define V4L2_HEVC_SLICE_PARAMS_FLAG_MVD_L1_ZERO (1ULL << 3)
2366 #define V4L2_HEVC_SLICE_PARAMS_FLAG_CABAC_INIT (1ULL << 4)
2367 #define V4L2_HEVC_SLICE_PARAMS_FLAG_COLLOCATED_FROM_L0 (1ULL << 5)
2368 #define V4L2_HEVC_SLICE_PARAMS_FLAG_USE_INTEGER_MV (1ULL << 6)
2369 #define V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_DEBLOCKING_FILTER_DISABLED (1ULL << 7)
2370 #define V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_LOOP_FILTER_ACROSS_SLICES_ENABLED (1ULL << 8)
2371 #define V4L2_HEVC_SLICE_PARAMS_FLAG_DEPENDENT_SLICE_SEGMENT (1ULL << 9)
2374 * struct v4l2_ctrl_hevc_slice_params - HEVC slice parameters
2376 * This control is a dynamically sized 1-dimensional array,
2384 * @nuh_temporal_id_plus1: minus 1 specifies a temporal identifier for the NAL unit
2388 * @num_ref_idx_l0_active_minus1: this value plus 1 specifies the maximum
2391 * @num_ref_idx_l1_active_minus1: this value plus 1 specifies the maximum
2392 * reference index for reference picture list 1
2415 * @short_term_ref_pic_set_size: specifies the size of short-term reference
2417 * @long_term_ref_pic_set_size: specifies the size of long-term reference
2419 * @pred_weight_table: the prediction weight coefficients for inter-picture
2429 /* ISO/IEC 23008-2, ITU-T Rec. H.265: NAL unit header */
2433 /* ISO/IEC 23008-2, ITU-T Rec. H.265: General slice segment header */
2450 /* ISO/IEC 23008-2, ITU-T Rec. H.265: Picture timing SEI message */
2454 /* ISO/IEC 23008-2, ITU-T Rec. H.265: General slice segment header */
2461 /* ISO/IEC 23008-2, ITU-T Rec. H.265: Weighted prediction parameter */
2473 * struct v4l2_ctrl_hevc_decode_params - HEVC decode parameters
2476 * @short_term_ref_pic_set_size: specifies the size of short-term reference
2478 * @long_term_ref_pic_set_size: specifies the size of long-term reference
2481 * @num_poc_st_curr_before: the number of reference pictures in the short-term
2483 * @num_poc_st_curr_after: the number of reference pictures in the short-term
2485 * @num_poc_lt_curr: the number of reference pictures in the long-term set
2495 * @dpb: the decoded picture buffer, for meta-data about reference frames
2516 * struct v4l2_ctrl_hevc_scaling_matrix - HEVC scaling lists parameters
2547 #define V4L2_CID_COLORIMETRY_CLASS (V4L2_CTRL_CLASS_COLORIMETRY | 1)
2556 #define V4L2_CID_COLORIMETRY_HDR10_MASTERING_DISPLAY (V4L2_CID_COLORIMETRY_CLASS_BASE + 1)
2568 #define V4L2_HDR10_MASTERING_MIN_LUMA_LOW 1
2586 * struct v4l2_vp9_loop_filter - VP9 loop filter parameters
2612 * struct v4l2_vp9_quantization - VP9 quantization parameters
2638 #define V4L2_VP9_SEG_LVL_ALT_L 1
2643 #define V4L2_VP9_SEGMENT_FEATURE_ENABLED(id) (1 << (id))
2647 * struct v4l2_vp9_segmentation - VP9 segmentation parameters
2656 * Segment-ID. See '5.15. Segmentation map' section of the VP9 specification
2659 * Predicted-Segment-ID. See '6.4.14. Get segment id syntax' section of :ref:`vp9`
2692 #define V4L2_VP9_RESET_FRAME_CTX_SPEC 1
2696 #define V4L2_VP9_INTERP_FILTER_EIGHTTAP_SMOOTH 1
2702 #define V4L2_VP9_REFERENCE_MODE_COMPOUND_REFERENCE 1
2709 * struct v4l2_ctrl_vp9_frame - VP9 frame decoding control
2717 * @frame_width_minus_1: add 1 to it and you'll get the frame width expressed in pixels.
2718 * @frame_height_minus_1: add 1 to it and you'll get the frame height expressed in pixels.
2719 * @render_width_minus_1: add 1 to it and you'll get the expected render width expressed in
2722 * @render_height_minus_1: add 1 to it and you'll get the expected render height expressed in
2739 * @profile: VP9 profile. Can be 0, 1, 2 or 3.
2781 * struct v4l2_vp9_mv_probs - VP9 Motion vector probability updates
2811 #define V4L2_VP9_TX_MODE_ALLOW_8X8 1
2817 * struct v4l2_ctrl_vp9_compressed_hdr - VP9 probability updates control
2826 * @is_inter: is inter-block probability updates.
2846 __u8 tx8[2][1];
2868 #define V4L2_AV1_NUM_PLANES_MAX 3 /* 1 if monochrome, 3 otherwise */
2870 #define V4L2_AV1_MAX_OPERATING_POINTS (1 << 5) /* 5 bits to encode */
2872 #define V4L2_AV1_MAX_NUM_Y_POINTS (1 << 4) /* 4 bits to encode */
2873 #define V4L2_AV1_MAX_NUM_CB_POINTS (1 << 4) /* 4 bits to encode */
2874 #define V4L2_AV1_MAX_NUM_CR_POINTS (1 << 4) /* 4 bits to encode */
2875 #define V4L2_AV1_AR_COEFFS_SIZE 25 /* (2 * 3 * (3 + 1)) + 1 */
2904 * struct v4l2_ctrl_av1_sequence - AV1 Sequence
2917 * @max_frame_width_minus_1: specifies the maximum frame width minus 1 for the
2919 * @max_frame_height_minus_1: specifies the maximum frame height minus 1 for the
2934 * struct v4l2_ctrl_av1_tile_group_entry - AV1 Tile Group entry
2939 * tile_col. See section 6.10.1 "General tile group OBU semantics" for more
2959 * enum v4l2_av1_warp_model - AV1 Warp Model as described in section 3
2970 V4L2_AV1_WARP_MODEL_TRANSLATION = 1,
2976 * enum v4l2_av1_reference_frame - AV1 reference frames
2989 V4L2_AV1_REF_LAST_FRAME = 1,
2998 #define V4L2_AV1_GLOBAL_MOTION_IS_INVALID(ref) (1 << (ref))
3004 * struct v4l2_av1_global_motion - AV1 Global Motion parameters as described in
3028 * enum v4l2_av1_frame_restoration_type - AV1 Frame Restoration Type
3036 V4L2_AV1_FRAME_RESTORE_WIENER = 1,
3045 * struct v4l2_av1_loop_restoration - AV1 Loop Restauration as described in
3067 * struct v4l2_av1_cdef - AV1 CDEF params semantics as described in section
3094 * enum v4l2_av1_segment_feature - AV1 segment features as described in section
3107 V4L2_AV1_SEG_LVL_ALT_LF_Y_V = 1,
3114 #define V4L2_AV1_SEGMENT_FEATURE_ENABLED(id) (1 << (id))
3117 * struct v4l2_av1_segmentation - AV1 Segmentation params as defined in section
3142 * struct v4l2_av1_loop_filter - AV1 Loop filter params as defined in section
3178 * struct v4l2_av1_quantization - AV1 Quantization params as defined in section
3215 * struct v4l2_av1_tile_info - AV1 Tile info as defined in section 6.8.14 "Tile
3226 * @width_in_sbs_minus_1: specifies the width of a tile minus 1 in units of
3228 * @height_in_sbs_minus_1: specifies the height of a tile minus 1 in units of
3239 __u32 mi_col_starts[V4L2_AV1_MAX_TILE_COLS + 1];
3240 __u32 mi_row_starts[V4L2_AV1_MAX_TILE_ROWS + 1];
3248 * enum v4l2_av1_frame_type - AV1 Frame Type
3252 * @V4L2_AV1_INTRA_ONLY_FRAME: Intra-only frame
3257 V4L2_AV1_INTER_FRAME = 1,
3263 * enum v4l2_av1_interpolation_filter - AV1 interpolation filter types
3277 V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH = 1,
3284 * enum v4l2_av1_tx_mode - AV1 Tx mode as described in section 6.8.21 "TX mode
3295 V4L2_AV1_TX_MODE_LARGEST = 1,
3322 * struct v4l2_ctrl_av1_frame - Represents an AV1 Frame Header OBU.
3331 * skip_mode is equal to 1.
3344 * @frame_width_minus_1: add 1 to get the frame's width.
3345 * @frame_height_minus_1: add 1 to get the frame's height
3346 * @render_width_minus_1: add 1 to get the render width of the frame in luma
3348 * @render_height_minus_1: add 1 to get the render height of the frame in luma
3361 * only used for non-intra frames and ignored otherwise. order_hints[0] is
3365 * inter-frames. The meaning of this array is the same as in the specification.
3410 * struct v4l2_ctrl_av1_film_grain - AV1 Film Grain parameters.
3417 * @grain_seed: specifies the starting value for the pseudo-random numbers used
3421 * @num_y_points: specifies the number of points for the piece-wise linear
3423 * @point_y_value: represents the x (luma value) coordinate for the i-th point
3428 * @point_y_scaling: represents the scaling (output) value for the i-th point
3430 * @num_cb_points: specifies the number of points for the piece-wise linear
3432 * @point_cb_value: represents the x coordinate for the i-th point of the
3433 * piece-wise linear scaling function for cb component. The values are signaled
3435 * @point_cb_scaling: represents the scaling (output) value for the i-th point
3437 * @num_cr_points: specifies represents the number of points for the piece-wise
3439 * @point_cr_value: represents the x coordinate for the i-th point of the
3440 * piece-wise linear scaling function for cr component. The values are signaled
3442 * @point_cr_scaling: represents the scaling (output) value for the i-th point
3448 * @ar_coeff_lag: specifies the number of auto-regressive coefficients for luma
3450 * @ar_coeffs_y_plus_128: specifies auto-regressive coefficients used for the Y
3452 * @ar_coeffs_cb_plus_128: specifies auto-regressive coefficients used for the U
3454 * @ar_coeffs_cr_plus_128: specifies auto-regressive coefficients used for the V
3456 * @ar_coeff_shift_minus_6: specifies the range of the auto-regressive
3457 * coefficients. Values of 0, 1, 2, and 3 correspond to the ranges for
3458 * auto-regressive coefficients of [-2, 2), [-1, 1), [-0.5, 0.5) and [-0.25,
3503 /* MPEG-compression definitions kept for backwards compatibility */