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.
218 /* MPEG-class control IDs */
223 #define V4L2_CID_CODEC_CLASS (V4L2_CTRL_CLASS_CODEC | 1)
228 V4L2_MPEG_STREAM_TYPE_MPEG2_PS = 0, /* MPEG-2 program stream */
229 V4L2_MPEG_STREAM_TYPE_MPEG2_TS = 1, /* MPEG-2 transport stream */
230 V4L2_MPEG_STREAM_TYPE_MPEG1_SS = 2, /* MPEG-1 system stream */
231 V4L2_MPEG_STREAM_TYPE_MPEG2_DVD = 3, /* MPEG-2 DVD-compatible stream */
232 V4L2_MPEG_STREAM_TYPE_MPEG1_VCD = 4, /* MPEG-1 VCD-compatible stream */
233 V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD = 5, /* MPEG-2 SVCD-compatible stream */
235 #define V4L2_CID_MPEG_STREAM_PID_PMT (V4L2_CID_CODEC_BASE+1)
244 V4L2_MPEG_STREAM_VBI_FMT_IVTV = 1, /* VBI in private packets, IVTV format */
251 V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000 = 1,
257 V4L2_MPEG_AUDIO_ENCODING_LAYER_2 = 1,
265 V4L2_MPEG_AUDIO_L1_BITRATE_64K = 1,
282 V4L2_MPEG_AUDIO_L2_BITRATE_48K = 1,
299 V4L2_MPEG_AUDIO_L3_BITRATE_40K = 1,
316 V4L2_MPEG_AUDIO_MODE_JOINT_STEREO = 1,
323 V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8 = 1,
330 V4L2_MPEG_AUDIO_EMPHASIS_50_DIV_15_uS = 1,
336 V4L2_MPEG_AUDIO_CRC_CRC16 = 1,
343 V4L2_MPEG_AUDIO_AC3_BITRATE_40K = 1,
365 V4L2_MPEG_AUDIO_DEC_PLAYBACK_STEREO = 1,
377 V4L2_MPEG_VIDEO_ENCODING_MPEG_2 = 1,
383 V4L2_MPEG_VIDEO_ASPECT_4x3 = 1,
394 V4L2_MPEG_VIDEO_BITRATE_MODE_CBR = 1,
409 V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME = 1,
419 V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB = 1,
423 V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_MB = 1,
445 V4L2_CID_MPEG_VIDEO_INTRA_REFRESH_PERIOD_TYPE_CYCLIC = 1,
448 /* CIDs for the MPEG-2 Part 2 (H.262) codec */
452 V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN = 1,
459 V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN = 1,
485 V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC = 1,
491 V4L2_MPEG_VIDEO_H264_LEVEL_1B = 1,
516 V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED = 1,
522 V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE = 1,
546 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_1x1 = 1,
569 V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_COLUMN = 1,
579 V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_SCATTERED_SLICES = 1,
590 V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT = 1,
600 V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P = 1,
627 V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B = 1,
638 V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE = 1,
652 V4L2_CID_MPEG_VIDEO_VPX_2_PARTITIONS = 1,
660 V4L2_CID_MPEG_VIDEO_VPX_2_REF_FRAME = 1,
669 V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_REF_PERIOD = 1,
679 V4L2_MPEG_VIDEO_VP8_PROFILE_1 = 1,
688 V4L2_MPEG_VIDEO_VP9_PROFILE_1 = 1,
695 V4L2_MPEG_VIDEO_VP9_LEVEL_1_1 = 1,
721 V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P = 1,
734 V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE = 1,
740 V4L2_MPEG_VIDEO_HEVC_LEVEL_2 = 1,
757 V4L2_MPEG_VIDEO_HEVC_TIER_HIGH = 1,
763 V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED = 1,
771 V4L2_MPEG_VIDEO_HEVC_REFRESH_CRA = 1,
788 V4L2_MPEG_VIDEO_HEVC_SIZE_1 = 1,
805 V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT = 1,
821 * enum v4l2_mpeg_video_av1_profile - AV1 profiles
826 * streams with seq_profile equal less than or equal to 1.
834 V4L2_MPEG_VIDEO_AV1_PROFILE_HIGH = 1,
840 * enum v4l2_mpeg_video_av1_level - AV1 levels
871 V4L2_MPEG_VIDEO_AV1_LEVEL_2_1 = 1,
903 /* MPEG-class control IDs specific to the CX2341x driver as defined by V4L2 */
908 V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO = 1,
910 #define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER (V4L2_CID_CODEC_CX2341X_BASE+1)
914 V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR = 1,
922 V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR = 1,
927 V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO = 1,
933 V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR = 1,
944 /* MPEG-class control IDs specific to the Samsung MFC 5.1 driver as defined by V4L2 */
948 #define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE (V4L2_CID_CODEC_MFC51_BASE+1)
952 V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT = 1,
958 V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_I_FRAME = 1,
974 #define V4L2_CID_CAMERA_CLASS (V4L2_CTRL_CLASS_CAMERA | 1)
976 #define V4L2_CID_EXPOSURE_AUTO (V4L2_CID_CAMERA_CLASS_BASE+1)
979 V4L2_EXPOSURE_MANUAL = 1,
1012 V4L2_WHITE_BALANCE_AUTO = 1,
1030 V4L2_ISO_SENSITIVITY_AUTO = 1,
1036 V4L2_EXPOSURE_METERING_CENTER_WEIGHTED = 1,
1044 V4L2_SCENE_MODE_BACKLIGHT = 1,
1060 #define V4L2_LOCK_EXPOSURE (1 << 0)
1061 #define V4L2_LOCK_WHITE_BALANCE (1 << 1)
1062 #define V4L2_LOCK_FOCUS (1 << 2)
1068 #define V4L2_AUTO_FOCUS_STATUS_BUSY (1 << 0)
1069 #define V4L2_AUTO_FOCUS_STATUS_REACHED (1 << 1)
1070 #define V4L2_AUTO_FOCUS_STATUS_FAILED (1 << 2)
1075 V4L2_AUTO_FOCUS_RANGE_NORMAL = 1,
1085 #define V4L2_CAMERA_ORIENTATION_BACK 1
1095 #define V4L2_CID_FM_TX_CLASS (V4L2_CTRL_CLASS_FM_TX | 1)
1097 #define V4L2_CID_RDS_TX_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 1)
1129 V4L2_PREEMPHASIS_50_uS = 1,
1139 #define V4L2_CID_FLASH_CLASS (V4L2_CTRL_CLASS_FLASH | 1)
1141 #define V4L2_CID_FLASH_LED_MODE (V4L2_CID_FLASH_CLASS_BASE + 1)
1164 #define V4L2_FLASH_FAULT_OVER_VOLTAGE (1 << 0)
1165 #define V4L2_FLASH_FAULT_TIMEOUT (1 << 1)
1166 #define V4L2_FLASH_FAULT_OVER_TEMPERATURE (1 << 2)
1167 #define V4L2_FLASH_FAULT_SHORT_CIRCUIT (1 << 3)
1168 #define V4L2_FLASH_FAULT_OVER_CURRENT (1 << 4)
1169 #define V4L2_FLASH_FAULT_INDICATOR (1 << 5)
1170 #define V4L2_FLASH_FAULT_UNDER_VOLTAGE (1 << 6)
1171 #define V4L2_FLASH_FAULT_INPUT_VOLTAGE (1 << 7)
1172 #define V4L2_FLASH_FAULT_LED_OVER_TEMPERATURE (1 << 8)
1178 /* JPEG-class control IDs */
1181 #define V4L2_CID_JPEG_CLASS (V4L2_CTRL_CLASS_JPEG | 1)
1183 #define V4L2_CID_JPEG_CHROMA_SUBSAMPLING (V4L2_CID_JPEG_CLASS_BASE + 1)
1186 V4L2_JPEG_CHROMA_SUBSAMPLING_422 = 1,
1196 #define V4L2_JPEG_ACTIVE_MARKER_APP0 (1 << 0)
1197 #define V4L2_JPEG_ACTIVE_MARKER_APP1 (1 << 1)
1198 #define V4L2_JPEG_ACTIVE_MARKER_COM (1 << 16)
1199 #define V4L2_JPEG_ACTIVE_MARKER_DQT (1 << 17)
1200 #define V4L2_JPEG_ACTIVE_MARKER_DHT (1 << 18)
1205 #define V4L2_CID_IMAGE_SOURCE_CLASS (V4L2_CTRL_CLASS_IMAGE_SOURCE | 1)
1207 #define V4L2_CID_VBLANK (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 1)
1221 #define V4L2_CID_IMAGE_PROC_CLASS (V4L2_CTRL_CLASS_IMAGE_PROC | 1)
1223 #define V4L2_CID_LINK_FREQ (V4L2_CID_IMAGE_PROC_CLASS_BASE + 1)
1229 /* DV-class control IDs defined by V4L2 */
1231 #define V4L2_CID_DV_CLASS (V4L2_CTRL_CLASS_DV | 1)
1233 #define V4L2_CID_DV_TX_HOTPLUG (V4L2_CID_DV_CLASS_BASE + 1)
1239 V4L2_DV_TX_MODE_HDMI = 1,
1244 V4L2_DV_RGB_RANGE_LIMITED = 1,
1251 V4L2_DV_IT_CONTENT_TYPE_PHOTO = 1,
1262 #define V4L2_CID_FM_RX_CLASS (V4L2_CTRL_CLASS_FM_RX | 1)
1264 #define V4L2_CID_TUNE_DEEMPHASIS (V4L2_CID_FM_RX_CLASS_BASE + 1)
1280 #define V4L2_CID_RF_TUNER_CLASS (V4L2_CTRL_CLASS_RF_TUNER | 1)
1294 /* Detection-class control IDs defined by V4L2 */
1296 #define V4L2_CID_DETECT_CLASS (V4L2_CTRL_CLASS_DETECT | 1)
1298 #define V4L2_CID_DETECT_MD_MODE (V4L2_CID_DETECT_CLASS_BASE + 1)
1301 V4L2_DETECT_MD_MODE_GLOBAL = 1,
1312 #define V4L2_CID_CODEC_STATELESS_CLASS (V4L2_CTRL_CLASS_CODEC_STATELESS | 1)
1316 * enum v4l2_stateless_h264_decode_mode - Decoding mode
1336 #define V4L2_CID_STATELESS_H264_START_CODE (V4L2_CID_CODEC_STATELESS_BASE + 1)
1338 * enum v4l2_stateless_h264_start_code - Start code
1344 * (legal start codes can be 3-bytes 0x000001 or 4-bytes 0x00000001).
1369 ((sps)->profile_idc == 100 || (sps)->profile_idc == 110 || \
1370 (sps)->profile_idc == 122 || (sps)->profile_idc == 244 || \
1371 (sps)->profile_idc == 44 || (sps)->profile_idc == 83 || \
1372 (sps)->profile_idc == 86 || (sps)->profile_idc == 118 || \
1373 (sps)->profile_idc == 128 || (sps)->profile_idc == 138 || \
1374 (sps)->profile_idc == 139 || (sps)->profile_idc == 134 || \
1375 (sps)->profile_idc == 135)
1379 * struct v4l2_ctrl_h264_sps - H264 sequence parameter set
1435 * struct v4l2_ctrl_h264_pps - H264 picture parameter set
1442 * has a specific meaning. This flag should be set if a non-flat
1445 * to pass the values of the non-flat matrices.
1475 * struct v4l2_ctrl_h264_scaling_matrix - H264 scaling matrices
1487 * matrices as per the H264 specification, see table 7-2 "Assignment
1489 * fall-back rule".
1504 ((((pps)->flags & V4L2_H264_PPS_FLAG_WEIGHTED_PRED) && \
1505 ((slice)->slice_type == V4L2_H264_SLICE_TYPE_P || \
1506 (slice)->slice_type == V4L2_H264_SLICE_TYPE_SP)) || \
1507 ((pps)->weighted_bipred_idc == 1 && \
1508 (slice)->slice_type == V4L2_H264_SLICE_TYPE_B))
1512 * struct v4l2_ctrl_h264_pred_weights - Prediction weight table
1528 #define V4L2_H264_SLICE_TYPE_B 1
1541 * struct v4l2_h264_reference - H264 picture reference
1561 * struct v4l2_ctrl_h264_slice_params - H264 slice parameters
1564 * as non-invariant for the slices in a given frame.
1568 * on frame-based decoders, where slice header parsing is done by the
1590 * @ref_pic_list0: reference picture list 0 after applying the per-slice modifications.
1591 * @ref_pic_list1: reference picture list 1 after applying the per-slice modifications.
1623 * struct v4l2_h264_dpb_entry - H264 decoded picture buffer entry
1658 * struct v4l2_ctrl_h264_decode_params - H264 decoding parameters
1705 /* Set if this is a bottom-first (NTSC) interlaced format */
1706 #define V4L2_FWHT_FL_IS_BOTTOM_FIRST _BITUL(1)
1729 /* A 4-values flag - the number of components - 1 */
1733 /* A 4-values flag - the pixel encoding type */
1736 #define V4L2_FWHT_FL_PIXENC_YUV (1 << V4L2_FWHT_FL_PIXENC_OFFSET)
1742 * struct v4l2_ctrl_fwht_params - FWHT parameters
1776 * struct v4l2_vp8_segment - VP8 segment-based adjustments parameters
1784 * This structure contains segment-based adjustments related parameters.
1786 * and section '9.3. Segment-Based Adjustments' of the VP8 specification
1802 * struct v4l2_vp8_loop_filter - VP8 loop filter parameters
1826 * struct v4l2_vp8_quantization - VP8 quantizattion indices
1855 * struct v4l2_vp8_entropy - VP8 update probabilities
1858 * @y_mode_probs: luma intra-prediction probabilities.
1859 * @uv_mode_probs: chroma intra-prediction probabilities.
1877 * struct v4l2_vp8_entropy_coder_state - VP8 boolean coder state
1902 (!!((hdr)->flags & V4L2_VP8_FRAME_FLAG_KEY_FRAME))
1906 * struct v4l2_ctrl_vp8_frame - VP8 frame parameters
1964 /* Stateless MPEG-2 controls */
1970 * struct v4l2_ctrl_mpeg2_sequence - MPEG-2 sequence header
1973 * extension syntaxes as specified by the MPEG-2 specification.
1985 * @profile_and_level_indication: see MPEG-2 specification.
1986 * @chroma_format: see MPEG-2 specification.
1998 #define V4L2_MPEG2_PIC_CODING_TYPE_I 1
2018 * struct v4l2_ctrl_mpeg2_picture - MPEG-2 picture header
2021 * coding extension syntaxes as specified by the MPEG-2 specification.
2030 * @f_code: see MPEG-2 specification.
2031 * @picture_coding_type: see MPEG-2 specification.
2033 * @intra_dc_precision: see MPEG-2 specification.
2049 * struct v4l2_ctrl_mpeg2_quantisation - MPEG-2 quantisation
2055 * for intra-coded frames, in zigzag scanning order. It is relevant
2057 * by the chroma-specific matrix for non-4:2:0 YUV formats.
2059 * for non-intra-coded frames, in zigzag scanning order. It is relevant
2061 * by the chroma-specific matrix for non-4:2:0 YUV formats.
2063 * for the chominance component of intra-coded frames, in zigzag scanning
2066 * for the chrominance component of non-intra-coded frames, in zigzag scanning
2096 #define V4L2_HEVC_SLICE_TYPE_P 1
2099 #define V4L2_HEVC_SPS_FLAG_SEPARATE_COLOUR_PLANE (1ULL << 0)
2100 #define V4L2_HEVC_SPS_FLAG_SCALING_LIST_ENABLED (1ULL << 1)
2101 #define V4L2_HEVC_SPS_FLAG_AMP_ENABLED (1ULL << 2)
2102 #define V4L2_HEVC_SPS_FLAG_SAMPLE_ADAPTIVE_OFFSET (1ULL << 3)
2103 #define V4L2_HEVC_SPS_FLAG_PCM_ENABLED (1ULL << 4)
2104 #define V4L2_HEVC_SPS_FLAG_PCM_LOOP_FILTER_DISABLED (1ULL << 5)
2105 #define V4L2_HEVC_SPS_FLAG_LONG_TERM_REF_PICS_PRESENT (1ULL << 6)
2106 #define V4L2_HEVC_SPS_FLAG_SPS_TEMPORAL_MVP_ENABLED (1ULL << 7)
2107 #define V4L2_HEVC_SPS_FLAG_STRONG_INTRA_SMOOTHING_ENABLED (1ULL << 8)
2110 * struct v4l2_ctrl_hevc_sps - ITU-T Rec. H.265: Sequence parameter set
2126 * @sps_max_dec_pic_buffering_minus1: this value plus 1 specifies the maximum
2150 * @pcm_sample_bit_depth_luma_minus1: this value plus 1 specifies the number of
2153 * @pcm_sample_bit_depth_chroma_minus1: this value plus 1 specifies the number
2163 * @num_long_term_ref_pics_sps: specifies the number of candidate long-term
2166 * @sps_max_sub_layers_minus1: this value plus 1 specifies the maximum number
2167 * of temporal sub-layers
2201 #define V4L2_HEVC_PPS_FLAG_DEPENDENT_SLICE_SEGMENT_ENABLED (1ULL << 0)
2202 #define V4L2_HEVC_PPS_FLAG_OUTPUT_FLAG_PRESENT (1ULL << 1)
2203 #define V4L2_HEVC_PPS_FLAG_SIGN_DATA_HIDING_ENABLED (1ULL << 2)
2204 #define V4L2_HEVC_PPS_FLAG_CABAC_INIT_PRESENT (1ULL << 3)
2205 #define V4L2_HEVC_PPS_FLAG_CONSTRAINED_INTRA_PRED (1ULL << 4)
2206 #define V4L2_HEVC_PPS_FLAG_TRANSFORM_SKIP_ENABLED (1ULL << 5)
2207 #define V4L2_HEVC_PPS_FLAG_CU_QP_DELTA_ENABLED (1ULL << 6)
2208 #define V4L2_HEVC_PPS_FLAG_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT (1ULL << 7)
2209 #define V4L2_HEVC_PPS_FLAG_WEIGHTED_PRED (1ULL << 8)
2210 #define V4L2_HEVC_PPS_FLAG_WEIGHTED_BIPRED (1ULL << 9)
2211 #define V4L2_HEVC_PPS_FLAG_TRANSQUANT_BYPASS_ENABLED (1ULL << 10)
2212 #define V4L2_HEVC_PPS_FLAG_TILES_ENABLED (1ULL << 11)
2213 #define V4L2_HEVC_PPS_FLAG_ENTROPY_CODING_SYNC_ENABLED (1ULL << 12)
2214 #define V4L2_HEVC_PPS_FLAG_LOOP_FILTER_ACROSS_TILES_ENABLED (1ULL << 13)
2215 #define V4L2_HEVC_PPS_FLAG_PPS_LOOP_FILTER_ACROSS_SLICES_ENABLED (1ULL << 14)
2216 #define V4L2_HEVC_PPS_FLAG_DEBLOCKING_FILTER_OVERRIDE_ENABLED (1ULL << 15)
2217 #define V4L2_HEVC_PPS_FLAG_PPS_DISABLE_DEBLOCKING_FILTER (1ULL << 16)
2218 #define V4L2_HEVC_PPS_FLAG_LISTS_MODIFICATION_PRESENT (1ULL << 17)
2219 #define V4L2_HEVC_PPS_FLAG_SLICE_SEGMENT_HEADER_EXTENSION_PRESENT (1ULL << 18)
2220 #define V4L2_HEVC_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT (1ULL << 19)
2221 #define V4L2_HEVC_PPS_FLAG_UNIFORM_SPACING (1ULL << 20)
2224 * struct v4l2_ctrl_hevc_pps - ITU-T Rec. H.265: Picture parameter set
2231 * @num_ref_idx_l0_default_active_minus1: this value plus 1 specifies the
2233 * @num_ref_idx_l1_default_active_minus1: this value plus 1 specifies the
2243 * @num_tile_columns_minus1: this value plus 1 specifies the number of tile columns
2245 * @num_tile_rows_minus1: this value plus 1 specifies the number of tile rows partitioning
2247 * @column_width_minus1: this value plus 1 specifies the width of the each tile column in
2249 * @row_height_minus1: this value plus 1 specifies the height of the each tile row in
2283 #define V4L2_HEVC_SEI_PIC_STRUCT_TOP_FIELD 1
2299 * struct v4l2_hevc_dpb_entry - HEVC decoded picture buffer entry
2316 * struct v4l2_hevc_pred_weight_table - HEVC weighted prediction parameters
2327 * to the luma prediction value for list 1
2329 * for list 1
2331 * to the chroma prediction values for list 1
2333 * the chroma prediction values for list 1
2355 #define V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_SAO_LUMA (1ULL << 0)
2356 #define V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_SAO_CHROMA (1ULL << 1)
2357 #define V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_TEMPORAL_MVP_ENABLED (1ULL << 2)
2358 #define V4L2_HEVC_SLICE_PARAMS_FLAG_MVD_L1_ZERO (1ULL << 3)
2359 #define V4L2_HEVC_SLICE_PARAMS_FLAG_CABAC_INIT (1ULL << 4)
2360 #define V4L2_HEVC_SLICE_PARAMS_FLAG_COLLOCATED_FROM_L0 (1ULL << 5)
2361 #define V4L2_HEVC_SLICE_PARAMS_FLAG_USE_INTEGER_MV (1ULL << 6)
2362 #define V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_DEBLOCKING_FILTER_DISABLED (1ULL << 7)
2363 #define V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_LOOP_FILTER_ACROSS_SLICES_ENABLED (1ULL << 8)
2364 #define V4L2_HEVC_SLICE_PARAMS_FLAG_DEPENDENT_SLICE_SEGMENT (1ULL << 9)
2367 * struct v4l2_ctrl_hevc_slice_params - HEVC slice parameters
2369 * This control is a dynamically sized 1-dimensional array,
2377 * @nuh_temporal_id_plus1: minus 1 specifies a temporal identifier for the NAL unit
2381 * @num_ref_idx_l0_active_minus1: this value plus 1 specifies the maximum
2384 * @num_ref_idx_l1_active_minus1: this value plus 1 specifies the maximum
2385 * reference index for reference picture list 1
2408 * @short_term_ref_pic_set_size: specifies the size of short-term reference
2410 * @long_term_ref_pic_set_size: specifies the size of long-term reference
2412 * @pred_weight_table: the prediction weight coefficients for inter-picture
2422 /* ISO/IEC 23008-2, ITU-T Rec. H.265: NAL unit header */
2426 /* ISO/IEC 23008-2, ITU-T Rec. H.265: General slice segment header */
2443 /* ISO/IEC 23008-2, ITU-T Rec. H.265: Picture timing SEI message */
2447 /* ISO/IEC 23008-2, ITU-T Rec. H.265: General slice segment header */
2454 /* ISO/IEC 23008-2, ITU-T Rec. H.265: Weighted prediction parameter */
2466 * struct v4l2_ctrl_hevc_decode_params - HEVC decode parameters
2469 * @short_term_ref_pic_set_size: specifies the size of short-term reference
2471 * @long_term_ref_pic_set_size: specifies the size of long-term reference
2474 * @num_poc_st_curr_before: the number of reference pictures in the short-term
2476 * @num_poc_st_curr_after: the number of reference pictures in the short-term
2478 * @num_poc_lt_curr: the number of reference pictures in the long-term set
2488 * @dpb: the decoded picture buffer, for meta-data about reference frames
2509 * struct v4l2_ctrl_hevc_scaling_matrix - HEVC scaling lists parameters
2540 #define V4L2_CID_COLORIMETRY_CLASS (V4L2_CTRL_CLASS_COLORIMETRY | 1)
2549 #define V4L2_CID_COLORIMETRY_HDR10_MASTERING_DISPLAY (V4L2_CID_COLORIMETRY_CLASS_BASE + 1)
2561 #define V4L2_HDR10_MASTERING_MIN_LUMA_LOW 1
2579 * struct v4l2_vp9_loop_filter - VP9 loop filter parameters
2605 * struct v4l2_vp9_quantization - VP9 quantization parameters
2631 #define V4L2_VP9_SEG_LVL_ALT_L 1
2636 #define V4L2_VP9_SEGMENT_FEATURE_ENABLED(id) (1 << (id))
2640 * struct v4l2_vp9_segmentation - VP9 segmentation parameters
2649 * Segment-ID. See '5.15. Segmentation map' section of the VP9 specification
2652 * Predicted-Segment-ID. See '6.4.14. Get segment id syntax' section of :ref:`vp9`
2685 #define V4L2_VP9_RESET_FRAME_CTX_SPEC 1
2689 #define V4L2_VP9_INTERP_FILTER_EIGHTTAP_SMOOTH 1
2695 #define V4L2_VP9_REFERENCE_MODE_COMPOUND_REFERENCE 1
2702 * struct v4l2_ctrl_vp9_frame - VP9 frame decoding control
2710 * @frame_width_minus_1: add 1 to it and you'll get the frame width expressed in pixels.
2711 * @frame_height_minus_1: add 1 to it and you'll get the frame height expressed in pixels.
2712 * @render_width_minus_1: add 1 to it and you'll get the expected render width expressed in
2715 * @render_height_minus_1: add 1 to it and you'll get the expected render height expressed in
2732 * @profile: VP9 profile. Can be 0, 1, 2 or 3.
2774 * struct v4l2_vp9_mv_probs - VP9 Motion vector probability updates
2804 #define V4L2_VP9_TX_MODE_ALLOW_8X8 1
2810 * struct v4l2_ctrl_vp9_compressed_hdr - VP9 probability updates control
2819 * @is_inter: is inter-block probability updates.
2839 __u8 tx8[2][1];
2861 #define V4L2_AV1_NUM_PLANES_MAX 3 /* 1 if monochrome, 3 otherwise */
2863 #define V4L2_AV1_MAX_OPERATING_POINTS (1 << 5) /* 5 bits to encode */
2865 #define V4L2_AV1_MAX_NUM_Y_POINTS (1 << 4) /* 4 bits to encode */
2866 #define V4L2_AV1_MAX_NUM_CB_POINTS (1 << 4) /* 4 bits to encode */
2867 #define V4L2_AV1_MAX_NUM_CR_POINTS (1 << 4) /* 4 bits to encode */
2868 #define V4L2_AV1_AR_COEFFS_SIZE 25 /* (2 * 3 * (3 + 1)) + 1 */
2897 * struct v4l2_ctrl_av1_sequence - AV1 Sequence
2910 * @max_frame_width_minus_1: specifies the maximum frame width minus 1 for the
2912 * @max_frame_height_minus_1: specifies the maximum frame height minus 1 for the
2927 * struct v4l2_ctrl_av1_tile_group_entry - AV1 Tile Group entry
2932 * tile_col. See section 6.10.1 "General tile group OBU semantics" for more
2952 * enum v4l2_av1_warp_model - AV1 Warp Model as described in section 3
2963 V4L2_AV1_WARP_MODEL_TRANSLATION = 1,
2969 * enum v4l2_av1_reference_frame - AV1 reference frames
2982 V4L2_AV1_REF_LAST_FRAME = 1,
2991 #define V4L2_AV1_GLOBAL_MOTION_IS_INVALID(ref) (1 << (ref))
2997 * struct v4l2_av1_global_motion - AV1 Global Motion parameters as described in
3021 * enum v4l2_av1_frame_restoration_type - AV1 Frame Restoration Type
3029 V4L2_AV1_FRAME_RESTORE_WIENER = 1,
3038 * struct v4l2_av1_loop_restoration - AV1 Loop Restauration as described in
3060 * struct v4l2_av1_cdef - AV1 CDEF params semantics as described in section
3087 * enum v4l2_av1_segment_feature - AV1 segment features as described in section
3100 V4L2_AV1_SEG_LVL_ALT_LF_Y_V = 1,
3107 #define V4L2_AV1_SEGMENT_FEATURE_ENABLED(id) (1 << (id))
3110 * struct v4l2_av1_segmentation - AV1 Segmentation params as defined in section
3135 * struct v4l2_av1_loop_filter - AV1 Loop filter params as defined in section
3171 * struct v4l2_av1_quantization - AV1 Quantization params as defined in section
3208 * struct v4l2_av1_tile_info - AV1 Tile info as defined in section 6.8.14 "Tile
3219 * @width_in_sbs_minus_1: specifies the width of a tile minus 1 in units of
3221 * @height_in_sbs_minus_1: specifies the height of a tile minus 1 in units of
3232 __u32 mi_col_starts[V4L2_AV1_MAX_TILE_COLS + 1];
3233 __u32 mi_row_starts[V4L2_AV1_MAX_TILE_ROWS + 1];
3241 * enum v4l2_av1_frame_type - AV1 Frame Type
3245 * @V4L2_AV1_INTRA_ONLY_FRAME: Intra-only frame
3250 V4L2_AV1_INTER_FRAME = 1,
3256 * enum v4l2_av1_interpolation_filter - AV1 interpolation filter types
3270 V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH = 1,
3277 * enum v4l2_av1_tx_mode - AV1 Tx mode as described in section 6.8.21 "TX mode
3288 V4L2_AV1_TX_MODE_LARGEST = 1,
3315 * struct v4l2_ctrl_av1_frame - Represents an AV1 Frame Header OBU.
3324 * skip_mode is equal to 1.
3337 * @frame_width_minus_1: add 1 to get the frame's width.
3338 * @frame_height_minus_1: add 1 to get the frame's height
3339 * @render_width_minus_1: add 1 to get the render width of the frame in luma
3341 * @render_height_minus_1: add 1 to get the render height of the frame in luma
3354 * only used for non-intra frames and ignored otherwise. order_hints[0] is
3358 * inter-frames. The meaning of this array is the same as in the specification.
3403 * struct v4l2_ctrl_av1_film_grain - AV1 Film Grain parameters.
3410 * @grain_seed: specifies the starting value for the pseudo-random numbers used
3414 * @num_y_points: specifies the number of points for the piece-wise linear
3416 * @point_y_value: represents the x (luma value) coordinate for the i-th point
3421 * @point_y_scaling: represents the scaling (output) value for the i-th point
3423 * @num_cb_points: specifies the number of points for the piece-wise linear
3425 * @point_cb_value: represents the x coordinate for the i-th point of the
3426 * piece-wise linear scaling function for cb component. The values are signaled
3428 * @point_cb_scaling: represents the scaling (output) value for the i-th point
3430 * @num_cr_points: specifies represents the number of points for the piece-wise
3432 * @point_cr_value: represents the x coordinate for the i-th point of the
3433 * piece-wise linear scaling function for cr component. The values are signaled
3435 * @point_cr_scaling: represents the scaling (output) value for the i-th point
3441 * @ar_coeff_lag: specifies the number of auto-regressive coefficients for luma
3443 * @ar_coeffs_y_plus_128: specifies auto-regressive coefficients used for the Y
3445 * @ar_coeffs_cb_plus_128: specifies auto-regressive coefficients used for the U
3447 * @ar_coeffs_cr_plus_128: specifies auto-regressive coefficients used for the V
3449 * @ar_coeff_shift_minus_6: specifies the range of the auto-regressive
3450 * coefficients. Values of 0, 1, 2, and 3 correspond to the ranges for
3451 * auto-regressive coefficients of [-2, 2), [-1, 1), [-0.5, 0.5) and [-0.25,
3496 /* MPEG-compression definitions kept for backwards compatibility */