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.
206 /* MPEG-class control IDs */
211 #define V4L2_CID_CODEC_CLASS (V4L2_CTRL_CLASS_CODEC | 1)
216 V4L2_MPEG_STREAM_TYPE_MPEG2_PS = 0, /* MPEG-2 program stream */
217 V4L2_MPEG_STREAM_TYPE_MPEG2_TS = 1, /* MPEG-2 transport stream */
218 V4L2_MPEG_STREAM_TYPE_MPEG1_SS = 2, /* MPEG-1 system stream */
219 V4L2_MPEG_STREAM_TYPE_MPEG2_DVD = 3, /* MPEG-2 DVD-compatible stream */
220 V4L2_MPEG_STREAM_TYPE_MPEG1_VCD = 4, /* MPEG-1 VCD-compatible stream */
221 V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD = 5, /* MPEG-2 SVCD-compatible stream */
223 #define V4L2_CID_MPEG_STREAM_PID_PMT (V4L2_CID_CODEC_BASE+1)
232 V4L2_MPEG_STREAM_VBI_FMT_IVTV = 1, /* VBI in private packets, IVTV format */
239 V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000 = 1,
245 V4L2_MPEG_AUDIO_ENCODING_LAYER_2 = 1,
253 V4L2_MPEG_AUDIO_L1_BITRATE_64K = 1,
270 V4L2_MPEG_AUDIO_L2_BITRATE_48K = 1,
287 V4L2_MPEG_AUDIO_L3_BITRATE_40K = 1,
304 V4L2_MPEG_AUDIO_MODE_JOINT_STEREO = 1,
311 V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8 = 1,
318 V4L2_MPEG_AUDIO_EMPHASIS_50_DIV_15_uS = 1,
324 V4L2_MPEG_AUDIO_CRC_CRC16 = 1,
331 V4L2_MPEG_AUDIO_AC3_BITRATE_40K = 1,
353 V4L2_MPEG_AUDIO_DEC_PLAYBACK_STEREO = 1,
365 V4L2_MPEG_VIDEO_ENCODING_MPEG_2 = 1,
371 V4L2_MPEG_VIDEO_ASPECT_4x3 = 1,
382 V4L2_MPEG_VIDEO_BITRATE_MODE_CBR = 1,
397 V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME = 1,
407 V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB = 1,
411 V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_MB = 1,
433 V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_CYCLIC = 1,
436 /* CIDs for the MPEG-2 Part 2 (H.262) codec */
440 V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN = 1,
447 V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN = 1,
473 V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC = 1,
479 V4L2_MPEG_VIDEO_H264_LEVEL_1B = 1,
504 V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED = 1,
510 V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE = 1,
534 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_1x1 = 1,
557 V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_COLUMN = 1,
567 V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_SCATTERED_SLICES = 1,
578 V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT = 1,
588 V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P = 1,
615 V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B = 1,
626 V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE = 1,
640 V4L2_CID_MPEG_VIDEO_VPX_2_PARTITIONS = 1,
648 V4L2_CID_MPEG_VIDEO_VPX_2_REF_FRAME = 1,
657 V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_REF_PERIOD = 1,
667 V4L2_MPEG_VIDEO_VP8_PROFILE_1 = 1,
676 V4L2_MPEG_VIDEO_VP9_PROFILE_1 = 1,
683 V4L2_MPEG_VIDEO_VP9_LEVEL_1_1 = 1,
709 V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P = 1,
722 V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE = 1,
728 V4L2_MPEG_VIDEO_HEVC_LEVEL_2 = 1,
745 V4L2_MPEG_VIDEO_HEVC_TIER_HIGH = 1,
751 V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED = 1,
759 V4L2_MPEG_VIDEO_HEVC_REFRESH_CRA = 1,
776 V4L2_MPEG_VIDEO_HEVC_SIZE_1 = 1,
793 V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT = 1,
809 * enum v4l2_mpeg_video_av1_profile - AV1 profiles
814 * streams with seq_profile equal less than or equal to 1.
822 V4L2_MPEG_VIDEO_AV1_PROFILE_HIGH = 1,
828 * enum v4l2_mpeg_video_av1_level - AV1 levels
859 V4L2_MPEG_VIDEO_AV1_LEVEL_2_1 = 1,
889 /* MPEG-class control IDs specific to the CX2341x driver as defined by V4L2 */
894 V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO = 1,
896 #define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER (V4L2_CID_CODEC_CX2341X_BASE+1)
900 V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR = 1,
908 V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR = 1,
913 V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO = 1,
919 V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR = 1,
930 /* MPEG-class control IDs specific to the Samsung MFC 5.1 driver as defined by V4L2 */
934 #define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE (V4L2_CID_CODEC_MFC51_BASE+1)
938 V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT = 1,
944 V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_I_FRAME = 1,
960 #define V4L2_CID_CAMERA_CLASS (V4L2_CTRL_CLASS_CAMERA | 1)
962 #define V4L2_CID_EXPOSURE_AUTO (V4L2_CID_CAMERA_CLASS_BASE+1)
965 V4L2_EXPOSURE_MANUAL = 1,
998 V4L2_WHITE_BALANCE_AUTO = 1,
1016 V4L2_ISO_SENSITIVITY_AUTO = 1,
1022 V4L2_EXPOSURE_METERING_CENTER_WEIGHTED = 1,
1030 V4L2_SCENE_MODE_BACKLIGHT = 1,
1046 #define V4L2_LOCK_EXPOSURE (1 << 0)
1047 #define V4L2_LOCK_WHITE_BALANCE (1 << 1)
1048 #define V4L2_LOCK_FOCUS (1 << 2)
1054 #define V4L2_AUTO_FOCUS_STATUS_BUSY (1 << 0)
1055 #define V4L2_AUTO_FOCUS_STATUS_REACHED (1 << 1)
1056 #define V4L2_AUTO_FOCUS_STATUS_FAILED (1 << 2)
1061 V4L2_AUTO_FOCUS_RANGE_NORMAL = 1,
1071 #define V4L2_CAMERA_ORIENTATION_BACK 1
1081 #define V4L2_CID_FM_TX_CLASS (V4L2_CTRL_CLASS_FM_TX | 1)
1083 #define V4L2_CID_RDS_TX_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 1)
1115 V4L2_PREEMPHASIS_50_uS = 1,
1125 #define V4L2_CID_FLASH_CLASS (V4L2_CTRL_CLASS_FLASH | 1)
1127 #define V4L2_CID_FLASH_LED_MODE (V4L2_CID_FLASH_CLASS_BASE + 1)
1150 #define V4L2_FLASH_FAULT_OVER_VOLTAGE (1 << 0)
1151 #define V4L2_FLASH_FAULT_TIMEOUT (1 << 1)
1152 #define V4L2_FLASH_FAULT_OVER_TEMPERATURE (1 << 2)
1153 #define V4L2_FLASH_FAULT_SHORT_CIRCUIT (1 << 3)
1154 #define V4L2_FLASH_FAULT_OVER_CURRENT (1 << 4)
1155 #define V4L2_FLASH_FAULT_INDICATOR (1 << 5)
1156 #define V4L2_FLASH_FAULT_UNDER_VOLTAGE (1 << 6)
1157 #define V4L2_FLASH_FAULT_INPUT_VOLTAGE (1 << 7)
1158 #define V4L2_FLASH_FAULT_LED_OVER_TEMPERATURE (1 << 8)
1164 /* JPEG-class control IDs */
1167 #define V4L2_CID_JPEG_CLASS (V4L2_CTRL_CLASS_JPEG | 1)
1169 #define V4L2_CID_JPEG_CHROMA_SUBSAMPLING (V4L2_CID_JPEG_CLASS_BASE + 1)
1172 V4L2_JPEG_CHROMA_SUBSAMPLING_422 = 1,
1182 #define V4L2_JPEG_ACTIVE_MARKER_APP0 (1 << 0)
1183 #define V4L2_JPEG_ACTIVE_MARKER_APP1 (1 << 1)
1184 #define V4L2_JPEG_ACTIVE_MARKER_COM (1 << 16)
1185 #define V4L2_JPEG_ACTIVE_MARKER_DQT (1 << 17)
1186 #define V4L2_JPEG_ACTIVE_MARKER_DHT (1 << 18)
1191 #define V4L2_CID_IMAGE_SOURCE_CLASS (V4L2_CTRL_CLASS_IMAGE_SOURCE | 1)
1193 #define V4L2_CID_VBLANK (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 1)
1207 #define V4L2_CID_IMAGE_PROC_CLASS (V4L2_CTRL_CLASS_IMAGE_PROC | 1)
1209 #define V4L2_CID_LINK_FREQ (V4L2_CID_IMAGE_PROC_CLASS_BASE + 1)
1215 /* DV-class control IDs defined by V4L2 */
1217 #define V4L2_CID_DV_CLASS (V4L2_CTRL_CLASS_DV | 1)
1219 #define V4L2_CID_DV_TX_HOTPLUG (V4L2_CID_DV_CLASS_BASE + 1)
1225 V4L2_DV_TX_MODE_HDMI = 1,
1230 V4L2_DV_RGB_RANGE_LIMITED = 1,
1237 V4L2_DV_IT_CONTENT_TYPE_PHOTO = 1,
1248 #define V4L2_CID_FM_RX_CLASS (V4L2_CTRL_CLASS_FM_RX | 1)
1250 #define V4L2_CID_TUNE_DEEMPHASIS (V4L2_CID_FM_RX_CLASS_BASE + 1)
1266 #define V4L2_CID_RF_TUNER_CLASS (V4L2_CTRL_CLASS_RF_TUNER | 1)
1280 /* Detection-class control IDs defined by V4L2 */
1282 #define V4L2_CID_DETECT_CLASS (V4L2_CTRL_CLASS_DETECT | 1)
1284 #define V4L2_CID_DETECT_MD_MODE (V4L2_CID_DETECT_CLASS_BASE + 1)
1287 V4L2_DETECT_MD_MODE_GLOBAL = 1,
1298 #define V4L2_CID_CODEC_STATELESS_CLASS (V4L2_CTRL_CLASS_CODEC_STATELESS | 1)
1302 * enum v4l2_stateless_h264_decode_mode - Decoding mode
1322 #define V4L2_CID_STATELESS_H264_START_CODE (V4L2_CID_CODEC_STATELESS_BASE + 1)
1324 * enum v4l2_stateless_h264_start_code - Start code
1330 * (legal start codes can be 3-bytes 0x000001 or 4-bytes 0x00000001).
1355 ((sps)->profile_idc == 100 || (sps)->profile_idc == 110 || \
1356 (sps)->profile_idc == 122 || (sps)->profile_idc == 244 || \
1357 (sps)->profile_idc == 44 || (sps)->profile_idc == 83 || \
1358 (sps)->profile_idc == 86 || (sps)->profile_idc == 118 || \
1359 (sps)->profile_idc == 128 || (sps)->profile_idc == 138 || \
1360 (sps)->profile_idc == 139 || (sps)->profile_idc == 134 || \
1361 (sps)->profile_idc == 135)
1365 * struct v4l2_ctrl_h264_sps - H264 sequence parameter set
1421 * struct v4l2_ctrl_h264_pps - H264 picture parameter set
1428 * has a specific meaning. This flag should be set if a non-flat
1431 * to pass the values of the non-flat matrices.
1461 * struct v4l2_ctrl_h264_scaling_matrix - H264 scaling matrices
1473 * matrices as per the H264 specification, see table 7-2 "Assignment
1475 * fall-back rule".
1490 ((((pps)->flags & V4L2_H264_PPS_FLAG_WEIGHTED_PRED) && \
1491 ((slice)->slice_type == V4L2_H264_SLICE_TYPE_P || \
1492 (slice)->slice_type == V4L2_H264_SLICE_TYPE_SP)) || \
1493 ((pps)->weighted_bipred_idc == 1 && \
1494 (slice)->slice_type == V4L2_H264_SLICE_TYPE_B))
1498 * struct v4l2_ctrl_h264_pred_weights - Prediction weight table
1514 #define V4L2_H264_SLICE_TYPE_B 1
1527 * struct v4l2_h264_reference - H264 picture reference
1547 * struct v4l2_ctrl_h264_slice_params - H264 slice parameters
1550 * as non-invariant for the slices in a given frame.
1554 * on frame-based decoders, where slice header parsing is done by the
1576 * @ref_pic_list0: reference picture list 0 after applying the per-slice modifications.
1577 * @ref_pic_list1: reference picture list 1 after applying the per-slice modifications.
1609 * struct v4l2_h264_dpb_entry - H264 decoded picture buffer entry
1644 * struct v4l2_ctrl_h264_decode_params - H264 decoding parameters
1691 /* Set if this is a bottom-first (NTSC) interlaced format */
1692 #define V4L2_FWHT_FL_IS_BOTTOM_FIRST _BITUL(1)
1715 /* A 4-values flag - the number of components - 1 */
1719 /* A 4-values flag - the pixel encoding type */
1722 #define V4L2_FWHT_FL_PIXENC_YUV (1 << V4L2_FWHT_FL_PIXENC_OFFSET)
1728 * struct v4l2_ctrl_fwht_params - FWHT parameters
1762 * struct v4l2_vp8_segment - VP8 segment-based adjustments parameters
1770 * This structure contains segment-based adjustments related parameters.
1772 * and section '9.3. Segment-Based Adjustments' of the VP8 specification
1788 * struct v4l2_vp8_loop_filter - VP8 loop filter parameters
1812 * struct v4l2_vp8_quantization - VP8 quantizattion indices
1841 * struct v4l2_vp8_entropy - VP8 update probabilities
1844 * @y_mode_probs: luma intra-prediction probabilities.
1845 * @uv_mode_probs: chroma intra-prediction probabilities.
1863 * struct v4l2_vp8_entropy_coder_state - VP8 boolean coder state
1888 (!!((hdr)->flags & V4L2_VP8_FRAME_FLAG_KEY_FRAME))
1892 * struct v4l2_ctrl_vp8_frame - VP8 frame parameters
1950 /* Stateless MPEG-2 controls */
1956 * struct v4l2_ctrl_mpeg2_sequence - MPEG-2 sequence header
1959 * extension syntaxes as specified by the MPEG-2 specification.
1971 * @profile_and_level_indication: see MPEG-2 specification.
1972 * @chroma_format: see MPEG-2 specification.
1984 #define V4L2_MPEG2_PIC_CODING_TYPE_I 1
2004 * struct v4l2_ctrl_mpeg2_picture - MPEG-2 picture header
2007 * coding extension syntaxes as specified by the MPEG-2 specification.
2016 * @f_code: see MPEG-2 specification.
2017 * @picture_coding_type: see MPEG-2 specification.
2019 * @intra_dc_precision: see MPEG-2 specification.
2035 * struct v4l2_ctrl_mpeg2_quantisation - MPEG-2 quantisation
2041 * for intra-coded frames, in zigzag scanning order. It is relevant
2043 * by the chroma-specific matrix for non-4:2:0 YUV formats.
2045 * for non-intra-coded frames, in zigzag scanning order. It is relevant
2047 * by the chroma-specific matrix for non-4:2:0 YUV formats.
2049 * for the chominance component of intra-coded frames, in zigzag scanning
2052 * for the chrominance component of non-intra-coded frames, in zigzag scanning
2082 #define V4L2_HEVC_SLICE_TYPE_P 1
2085 #define V4L2_HEVC_SPS_FLAG_SEPARATE_COLOUR_PLANE (1ULL << 0)
2086 #define V4L2_HEVC_SPS_FLAG_SCALING_LIST_ENABLED (1ULL << 1)
2087 #define V4L2_HEVC_SPS_FLAG_AMP_ENABLED (1ULL << 2)
2088 #define V4L2_HEVC_SPS_FLAG_SAMPLE_ADAPTIVE_OFFSET (1ULL << 3)
2089 #define V4L2_HEVC_SPS_FLAG_PCM_ENABLED (1ULL << 4)
2090 #define V4L2_HEVC_SPS_FLAG_PCM_LOOP_FILTER_DISABLED (1ULL << 5)
2091 #define V4L2_HEVC_SPS_FLAG_LONG_TERM_REF_PICS_PRESENT (1ULL << 6)
2092 #define V4L2_HEVC_SPS_FLAG_SPS_TEMPORAL_MVP_ENABLED (1ULL << 7)
2093 #define V4L2_HEVC_SPS_FLAG_STRONG_INTRA_SMOOTHING_ENABLED (1ULL << 8)
2096 * struct v4l2_ctrl_hevc_sps - ITU-T Rec. H.265: Sequence parameter set
2112 * @sps_max_dec_pic_buffering_minus1: this value plus 1 specifies the maximum
2136 * @pcm_sample_bit_depth_luma_minus1: this value plus 1 specifies the number of
2139 * @pcm_sample_bit_depth_chroma_minus1: this value plus 1 specifies the number
2149 * @num_long_term_ref_pics_sps: specifies the number of candidate long-term
2152 * @sps_max_sub_layers_minus1: this value plus 1 specifies the maximum number
2153 * of temporal sub-layers
2187 #define V4L2_HEVC_PPS_FLAG_DEPENDENT_SLICE_SEGMENT_ENABLED (1ULL << 0)
2188 #define V4L2_HEVC_PPS_FLAG_OUTPUT_FLAG_PRESENT (1ULL << 1)
2189 #define V4L2_HEVC_PPS_FLAG_SIGN_DATA_HIDING_ENABLED (1ULL << 2)
2190 #define V4L2_HEVC_PPS_FLAG_CABAC_INIT_PRESENT (1ULL << 3)
2191 #define V4L2_HEVC_PPS_FLAG_CONSTRAINED_INTRA_PRED (1ULL << 4)
2192 #define V4L2_HEVC_PPS_FLAG_TRANSFORM_SKIP_ENABLED (1ULL << 5)
2193 #define V4L2_HEVC_PPS_FLAG_CU_QP_DELTA_ENABLED (1ULL << 6)
2194 #define V4L2_HEVC_PPS_FLAG_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT (1ULL << 7)
2195 #define V4L2_HEVC_PPS_FLAG_WEIGHTED_PRED (1ULL << 8)
2196 #define V4L2_HEVC_PPS_FLAG_WEIGHTED_BIPRED (1ULL << 9)
2197 #define V4L2_HEVC_PPS_FLAG_TRANSQUANT_BYPASS_ENABLED (1ULL << 10)
2198 #define V4L2_HEVC_PPS_FLAG_TILES_ENABLED (1ULL << 11)
2199 #define V4L2_HEVC_PPS_FLAG_ENTROPY_CODING_SYNC_ENABLED (1ULL << 12)
2200 #define V4L2_HEVC_PPS_FLAG_LOOP_FILTER_ACROSS_TILES_ENABLED (1ULL << 13)
2201 #define V4L2_HEVC_PPS_FLAG_PPS_LOOP_FILTER_ACROSS_SLICES_ENABLED (1ULL << 14)
2202 #define V4L2_HEVC_PPS_FLAG_DEBLOCKING_FILTER_OVERRIDE_ENABLED (1ULL << 15)
2203 #define V4L2_HEVC_PPS_FLAG_PPS_DISABLE_DEBLOCKING_FILTER (1ULL << 16)
2204 #define V4L2_HEVC_PPS_FLAG_LISTS_MODIFICATION_PRESENT (1ULL << 17)
2205 #define V4L2_HEVC_PPS_FLAG_SLICE_SEGMENT_HEADER_EXTENSION_PRESENT (1ULL << 18)
2206 #define V4L2_HEVC_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT (1ULL << 19)
2207 #define V4L2_HEVC_PPS_FLAG_UNIFORM_SPACING (1ULL << 20)
2210 * struct v4l2_ctrl_hevc_pps - ITU-T Rec. H.265: Picture parameter set
2217 * @num_ref_idx_l0_default_active_minus1: this value plus 1 specifies the
2219 * @num_ref_idx_l1_default_active_minus1: this value plus 1 specifies the
2229 * @num_tile_columns_minus1: this value plus 1 specifies the number of tile columns
2231 * @num_tile_rows_minus1: this value plus 1 specifies the number of tile rows partitioning
2233 * @column_width_minus1: this value plus 1 specifies the width of the each tile column in
2235 * @row_height_minus1: this value plus 1 specifies the height of the each tile row in
2269 #define V4L2_HEVC_SEI_PIC_STRUCT_TOP_FIELD 1
2285 * struct v4l2_hevc_dpb_entry - HEVC decoded picture buffer entry
2302 * struct v4l2_hevc_pred_weight_table - HEVC weighted prediction parameters
2313 * to the luma prediction value for list 1
2315 * for list 1
2317 * to the chroma prediction values for list 1
2319 * the chroma prediction values for list 1
2341 #define V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_SAO_LUMA (1ULL << 0)
2342 #define V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_SAO_CHROMA (1ULL << 1)
2343 #define V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_TEMPORAL_MVP_ENABLED (1ULL << 2)
2344 #define V4L2_HEVC_SLICE_PARAMS_FLAG_MVD_L1_ZERO (1ULL << 3)
2345 #define V4L2_HEVC_SLICE_PARAMS_FLAG_CABAC_INIT (1ULL << 4)
2346 #define V4L2_HEVC_SLICE_PARAMS_FLAG_COLLOCATED_FROM_L0 (1ULL << 5)
2347 #define V4L2_HEVC_SLICE_PARAMS_FLAG_USE_INTEGER_MV (1ULL << 6)
2348 #define V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_DEBLOCKING_FILTER_DISABLED (1ULL << 7)
2349 #define V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_LOOP_FILTER_ACROSS_SLICES_ENABLED (1ULL << 8)
2350 #define V4L2_HEVC_SLICE_PARAMS_FLAG_DEPENDENT_SLICE_SEGMENT (1ULL << 9)
2353 * struct v4l2_ctrl_hevc_slice_params - HEVC slice parameters
2355 * This control is a dynamically sized 1-dimensional array,
2363 * @nuh_temporal_id_plus1: minus 1 specifies a temporal identifier for the NAL unit
2367 * @num_ref_idx_l0_active_minus1: this value plus 1 specifies the maximum
2370 * @num_ref_idx_l1_active_minus1: this value plus 1 specifies the maximum
2371 * reference index for reference picture list 1
2394 * @short_term_ref_pic_set_size: specifies the size of short-term reference
2396 * @long_term_ref_pic_set_size: specifies the size of long-term reference
2398 * @pred_weight_table: the prediction weight coefficients for inter-picture
2408 /* ISO/IEC 23008-2, ITU-T Rec. H.265: NAL unit header */
2412 /* ISO/IEC 23008-2, ITU-T Rec. H.265: General slice segment header */
2429 /* ISO/IEC 23008-2, ITU-T Rec. H.265: Picture timing SEI message */
2433 /* ISO/IEC 23008-2, ITU-T Rec. H.265: General slice segment header */
2440 /* ISO/IEC 23008-2, ITU-T Rec. H.265: Weighted prediction parameter */
2452 * struct v4l2_ctrl_hevc_decode_params - HEVC decode parameters
2455 * @short_term_ref_pic_set_size: specifies the size of short-term reference
2457 * @long_term_ref_pic_set_size: specifies the size of long-term reference
2460 * @num_poc_st_curr_before: the number of reference pictures in the short-term
2462 * @num_poc_st_curr_after: the number of reference pictures in the short-term
2464 * @num_poc_lt_curr: the number of reference pictures in the long-term set
2474 * @dpb: the decoded picture buffer, for meta-data about reference frames
2495 * struct v4l2_ctrl_hevc_scaling_matrix - HEVC scaling lists parameters
2526 #define V4L2_CID_COLORIMETRY_CLASS (V4L2_CTRL_CLASS_COLORIMETRY | 1)
2535 #define V4L2_CID_COLORIMETRY_HDR10_MASTERING_DISPLAY (V4L2_CID_COLORIMETRY_CLASS_BASE + 1)
2547 #define V4L2_HDR10_MASTERING_MIN_LUMA_LOW 1
2565 * struct v4l2_vp9_loop_filter - VP9 loop filter parameters
2591 * struct v4l2_vp9_quantization - VP9 quantization parameters
2617 #define V4L2_VP9_SEG_LVL_ALT_L 1
2622 #define V4L2_VP9_SEGMENT_FEATURE_ENABLED(id) (1 << (id))
2626 * struct v4l2_vp9_segmentation - VP9 segmentation parameters
2635 * Segment-ID. See '5.15. Segmentation map' section of the VP9 specification
2638 * Predicted-Segment-ID. See '6.4.14. Get segment id syntax' section of :ref:`vp9`
2671 #define V4L2_VP9_RESET_FRAME_CTX_SPEC 1
2675 #define V4L2_VP9_INTERP_FILTER_EIGHTTAP_SMOOTH 1
2681 #define V4L2_VP9_REFERENCE_MODE_COMPOUND_REFERENCE 1
2688 * struct v4l2_ctrl_vp9_frame - VP9 frame decoding control
2696 * @frame_width_minus_1: add 1 to it and you'll get the frame width expressed in pixels.
2697 * @frame_height_minus_1: add 1 to it and you'll get the frame height expressed in pixels.
2698 * @render_width_minus_1: add 1 to it and you'll get the expected render width expressed in
2701 * @render_height_minus_1: add 1 to it and you'll get the expected render height expressed in
2718 * @profile: VP9 profile. Can be 0, 1, 2 or 3.
2760 * struct v4l2_vp9_mv_probs - VP9 Motion vector probability updates
2790 #define V4L2_VP9_TX_MODE_ALLOW_8X8 1
2796 * struct v4l2_ctrl_vp9_compressed_hdr - VP9 probability updates control
2805 * @is_inter: is inter-block probability updates.
2825 __u8 tx8[2][1];
2847 #define V4L2_AV1_NUM_PLANES_MAX 3 /* 1 if monochrome, 3 otherwise */
2849 #define V4L2_AV1_MAX_OPERATING_POINTS (1 << 5) /* 5 bits to encode */
2851 #define V4L2_AV1_MAX_NUM_Y_POINTS (1 << 4) /* 4 bits to encode */
2852 #define V4L2_AV1_MAX_NUM_CB_POINTS (1 << 4) /* 4 bits to encode */
2853 #define V4L2_AV1_MAX_NUM_CR_POINTS (1 << 4) /* 4 bits to encode */
2854 #define V4L2_AV1_AR_COEFFS_SIZE 25 /* (2 * 3 * (3 + 1)) + 1 */
2883 * struct v4l2_ctrl_av1_sequence - AV1 Sequence
2896 * @max_frame_width_minus_1: specifies the maximum frame width minus 1 for the
2898 * @max_frame_height_minus_1: specifies the maximum frame height minus 1 for the
2913 * struct v4l2_ctrl_av1_tile_group_entry - AV1 Tile Group entry
2918 * tile_col. See section 6.10.1 "General tile group OBU semantics" for more
2938 * enum v4l2_av1_warp_model - AV1 Warp Model as described in section 3
2949 V4L2_AV1_WARP_MODEL_TRANSLATION = 1,
2955 * enum v4l2_av1_reference_frame - AV1 reference frames
2968 V4L2_AV1_REF_LAST_FRAME = 1,
2977 #define V4L2_AV1_GLOBAL_MOTION_IS_INVALID(ref) (1 << (ref))
2983 * struct v4l2_av1_global_motion - AV1 Global Motion parameters as described in
3007 * enum v4l2_av1_frame_restoration_type - AV1 Frame Restoration Type
3015 V4L2_AV1_FRAME_RESTORE_WIENER = 1,
3024 * struct v4l2_av1_loop_restoration - AV1 Loop Restauration as described in
3046 * struct v4l2_av1_cdef - AV1 CDEF params semantics as described in section
3073 * enum v4l2_av1_segment_feature - AV1 segment features as described in section
3086 V4L2_AV1_SEG_LVL_ALT_LF_Y_V = 1,
3093 #define V4L2_AV1_SEGMENT_FEATURE_ENABLED(id) (1 << (id))
3096 * struct v4l2_av1_segmentation - AV1 Segmentation params as defined in section
3121 * struct v4l2_av1_loop_filter - AV1 Loop filter params as defined in section
3157 * struct v4l2_av1_quantization - AV1 Quantization params as defined in section
3194 * struct v4l2_av1_tile_info - AV1 Tile info as defined in section 6.8.14 "Tile
3205 * @width_in_sbs_minus_1: specifies the width of a tile minus 1 in units of
3207 * @height_in_sbs_minus_1: specifies the height of a tile minus 1 in units of
3218 __u32 mi_col_starts[V4L2_AV1_MAX_TILE_COLS + 1];
3219 __u32 mi_row_starts[V4L2_AV1_MAX_TILE_ROWS + 1];
3227 * enum v4l2_av1_frame_type - AV1 Frame Type
3231 * @V4L2_AV1_INTRA_ONLY_FRAME: Intra-only frame
3236 V4L2_AV1_INTER_FRAME = 1,
3242 * enum v4l2_av1_interpolation_filter - AV1 interpolation filter types
3256 V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH = 1,
3263 * enum v4l2_av1_tx_mode - AV1 Tx mode as described in section 6.8.21 "TX mode
3274 V4L2_AV1_TX_MODE_LARGEST = 1,
3301 * struct v4l2_ctrl_av1_frame - Represents an AV1 Frame Header OBU.
3310 * skip_mode is equal to 1.
3323 * @frame_width_minus_1: add 1 to get the frame's width.
3324 * @frame_height_minus_1: add 1 to get the frame's height
3325 * @render_width_minus_1: add 1 to get the render width of the frame in luma
3327 * @render_height_minus_1: add 1 to get the render height of the frame in luma
3340 * only used for non-intra frames and ignored otherwise. order_hints[0] is
3344 * inter-frames. The meaning of this array is the same as in the specification.
3389 * struct v4l2_ctrl_av1_film_grain - AV1 Film Grain parameters.
3396 * @grain_seed: specifies the starting value for the pseudo-random numbers used
3400 * @num_y_points: specifies the number of points for the piece-wise linear
3402 * @point_y_value: represents the x (luma value) coordinate for the i-th point
3407 * @point_y_scaling: represents the scaling (output) value for the i-th point
3409 * @num_cb_points: specifies the number of points for the piece-wise linear
3411 * @point_cb_value: represents the x coordinate for the i-th point of the
3412 * piece-wise linear scaling function for cb component. The values are signaled
3414 * @point_cb_scaling: represents the scaling (output) value for the i-th point
3416 * @num_cr_points: specifies represents the number of points for the piece-wise
3418 * @point_cr_value: represents the x coordinate for the i-th point of the
3419 * piece-wise linear scaling function for cr component. The values are signaled
3421 * @point_cr_scaling: represents the scaling (output) value for the i-th point
3427 * @ar_coeff_lag: specifies the number of auto-regressive coefficients for luma
3429 * @ar_coeffs_y_plus_128: specifies auto-regressive coefficients used for the Y
3431 * @ar_coeffs_cb_plus_128: specifies auto-regressive coefficients used for the U
3433 * @ar_coeffs_cr_plus_128: specifies auto-regressive coefficients used for the V
3435 * @ar_coeff_shift_minus_6: specifies the range of the auto-regressive
3436 * coefficients. Values of 0, 1, 2, and 3 correspond to the ranges for
3437 * auto-regressive coefficients of [-2, 2), [-1, 1), [-0.5, 0.5) and [-0.25,
3482 /* MPEG-compression definitions kept for backwards compatibility */