diff options
Diffstat (limited to 'SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_av1std.h')
| -rw-r--r-- | SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_av1std.h | 392 |
1 files changed, 392 insertions, 0 deletions
diff --git a/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_av1std.h b/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_av1std.h new file mode 100644 index 0000000..8ce283e --- /dev/null +++ b/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_av1std.h | |||
| @@ -0,0 +1,392 @@ | |||
| 1 | #ifndef VULKAN_VIDEO_CODEC_AV1STD_H_ | ||
| 2 | #define VULKAN_VIDEO_CODEC_AV1STD_H_ 1 | ||
| 3 | |||
| 4 | /* | ||
| 5 | ** Copyright 2015-2024 The Khronos Group Inc. | ||
| 6 | ** | ||
| 7 | ** SPDX-License-Identifier: Apache-2.0 | ||
| 8 | */ | ||
| 9 | |||
| 10 | /* | ||
| 11 | ** This header is generated from the Khronos Vulkan XML API Registry. | ||
| 12 | ** | ||
| 13 | */ | ||
| 14 | |||
| 15 | |||
| 16 | #ifdef __cplusplus | ||
| 17 | extern "C" { | ||
| 18 | #endif | ||
| 19 | |||
| 20 | |||
| 21 | |||
| 22 | // vulkan_video_codec_av1std is a preprocessor guard. Do not pass it to API calls. | ||
| 23 | #define vulkan_video_codec_av1std 1 | ||
| 24 | #include "vulkan_video_codecs_common.h" | ||
| 25 | #define STD_VIDEO_AV1_NUM_REF_FRAMES 8 | ||
| 26 | #define STD_VIDEO_AV1_REFS_PER_FRAME 7 | ||
| 27 | #define STD_VIDEO_AV1_TOTAL_REFS_PER_FRAME 8 | ||
| 28 | #define STD_VIDEO_AV1_MAX_TILE_COLS 64 | ||
| 29 | #define STD_VIDEO_AV1_MAX_TILE_ROWS 64 | ||
| 30 | #define STD_VIDEO_AV1_MAX_SEGMENTS 8 | ||
| 31 | #define STD_VIDEO_AV1_SEG_LVL_MAX 8 | ||
| 32 | #define STD_VIDEO_AV1_PRIMARY_REF_NONE 7 | ||
| 33 | #define STD_VIDEO_AV1_SELECT_INTEGER_MV 2 | ||
| 34 | #define STD_VIDEO_AV1_SELECT_SCREEN_CONTENT_TOOLS 2 | ||
| 35 | #define STD_VIDEO_AV1_SKIP_MODE_FRAMES 2 | ||
| 36 | #define STD_VIDEO_AV1_MAX_LOOP_FILTER_STRENGTHS 4 | ||
| 37 | #define STD_VIDEO_AV1_LOOP_FILTER_ADJUSTMENTS 2 | ||
| 38 | #define STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS 8 | ||
| 39 | #define STD_VIDEO_AV1_MAX_NUM_PLANES 3 | ||
| 40 | #define STD_VIDEO_AV1_GLOBAL_MOTION_PARAMS 6 | ||
| 41 | #define STD_VIDEO_AV1_MAX_NUM_Y_POINTS 14 | ||
| 42 | #define STD_VIDEO_AV1_MAX_NUM_CB_POINTS 10 | ||
| 43 | #define STD_VIDEO_AV1_MAX_NUM_CR_POINTS 10 | ||
| 44 | #define STD_VIDEO_AV1_MAX_NUM_POS_LUMA 24 | ||
| 45 | #define STD_VIDEO_AV1_MAX_NUM_POS_CHROMA 25 | ||
| 46 | |||
| 47 | typedef enum StdVideoAV1Profile { | ||
| 48 | STD_VIDEO_AV1_PROFILE_MAIN = 0, | ||
| 49 | STD_VIDEO_AV1_PROFILE_HIGH = 1, | ||
| 50 | STD_VIDEO_AV1_PROFILE_PROFESSIONAL = 2, | ||
| 51 | STD_VIDEO_AV1_PROFILE_INVALID = 0x7FFFFFFF, | ||
| 52 | STD_VIDEO_AV1_PROFILE_MAX_ENUM = 0x7FFFFFFF | ||
| 53 | } StdVideoAV1Profile; | ||
| 54 | |||
| 55 | typedef enum StdVideoAV1Level { | ||
| 56 | STD_VIDEO_AV1_LEVEL_2_0 = 0, | ||
| 57 | STD_VIDEO_AV1_LEVEL_2_1 = 1, | ||
| 58 | STD_VIDEO_AV1_LEVEL_2_2 = 2, | ||
| 59 | STD_VIDEO_AV1_LEVEL_2_3 = 3, | ||
| 60 | STD_VIDEO_AV1_LEVEL_3_0 = 4, | ||
| 61 | STD_VIDEO_AV1_LEVEL_3_1 = 5, | ||
| 62 | STD_VIDEO_AV1_LEVEL_3_2 = 6, | ||
| 63 | STD_VIDEO_AV1_LEVEL_3_3 = 7, | ||
| 64 | STD_VIDEO_AV1_LEVEL_4_0 = 8, | ||
| 65 | STD_VIDEO_AV1_LEVEL_4_1 = 9, | ||
| 66 | STD_VIDEO_AV1_LEVEL_4_2 = 10, | ||
| 67 | STD_VIDEO_AV1_LEVEL_4_3 = 11, | ||
| 68 | STD_VIDEO_AV1_LEVEL_5_0 = 12, | ||
| 69 | STD_VIDEO_AV1_LEVEL_5_1 = 13, | ||
| 70 | STD_VIDEO_AV1_LEVEL_5_2 = 14, | ||
| 71 | STD_VIDEO_AV1_LEVEL_5_3 = 15, | ||
| 72 | STD_VIDEO_AV1_LEVEL_6_0 = 16, | ||
| 73 | STD_VIDEO_AV1_LEVEL_6_1 = 17, | ||
| 74 | STD_VIDEO_AV1_LEVEL_6_2 = 18, | ||
| 75 | STD_VIDEO_AV1_LEVEL_6_3 = 19, | ||
| 76 | STD_VIDEO_AV1_LEVEL_7_0 = 20, | ||
| 77 | STD_VIDEO_AV1_LEVEL_7_1 = 21, | ||
| 78 | STD_VIDEO_AV1_LEVEL_7_2 = 22, | ||
| 79 | STD_VIDEO_AV1_LEVEL_7_3 = 23, | ||
| 80 | STD_VIDEO_AV1_LEVEL_INVALID = 0x7FFFFFFF, | ||
| 81 | STD_VIDEO_AV1_LEVEL_MAX_ENUM = 0x7FFFFFFF | ||
| 82 | } StdVideoAV1Level; | ||
| 83 | |||
| 84 | typedef enum StdVideoAV1FrameType { | ||
| 85 | STD_VIDEO_AV1_FRAME_TYPE_KEY = 0, | ||
| 86 | STD_VIDEO_AV1_FRAME_TYPE_INTER = 1, | ||
| 87 | STD_VIDEO_AV1_FRAME_TYPE_INTRA_ONLY = 2, | ||
| 88 | STD_VIDEO_AV1_FRAME_TYPE_SWITCH = 3, | ||
| 89 | STD_VIDEO_AV1_FRAME_TYPE_INVALID = 0x7FFFFFFF, | ||
| 90 | STD_VIDEO_AV1_FRAME_TYPE_MAX_ENUM = 0x7FFFFFFF | ||
| 91 | } StdVideoAV1FrameType; | ||
| 92 | |||
| 93 | typedef enum StdVideoAV1ReferenceName { | ||
| 94 | STD_VIDEO_AV1_REFERENCE_NAME_INTRA_FRAME = 0, | ||
| 95 | STD_VIDEO_AV1_REFERENCE_NAME_LAST_FRAME = 1, | ||
| 96 | STD_VIDEO_AV1_REFERENCE_NAME_LAST2_FRAME = 2, | ||
| 97 | STD_VIDEO_AV1_REFERENCE_NAME_LAST3_FRAME = 3, | ||
| 98 | STD_VIDEO_AV1_REFERENCE_NAME_GOLDEN_FRAME = 4, | ||
| 99 | STD_VIDEO_AV1_REFERENCE_NAME_BWDREF_FRAME = 5, | ||
| 100 | STD_VIDEO_AV1_REFERENCE_NAME_ALTREF2_FRAME = 6, | ||
| 101 | STD_VIDEO_AV1_REFERENCE_NAME_ALTREF_FRAME = 7, | ||
| 102 | STD_VIDEO_AV1_REFERENCE_NAME_INVALID = 0x7FFFFFFF, | ||
| 103 | STD_VIDEO_AV1_REFERENCE_NAME_MAX_ENUM = 0x7FFFFFFF | ||
| 104 | } StdVideoAV1ReferenceName; | ||
| 105 | |||
| 106 | typedef enum StdVideoAV1InterpolationFilter { | ||
| 107 | STD_VIDEO_AV1_INTERPOLATION_FILTER_EIGHTTAP = 0, | ||
| 108 | STD_VIDEO_AV1_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH = 1, | ||
| 109 | STD_VIDEO_AV1_INTERPOLATION_FILTER_EIGHTTAP_SHARP = 2, | ||
| 110 | STD_VIDEO_AV1_INTERPOLATION_FILTER_BILINEAR = 3, | ||
| 111 | STD_VIDEO_AV1_INTERPOLATION_FILTER_SWITCHABLE = 4, | ||
| 112 | STD_VIDEO_AV1_INTERPOLATION_FILTER_INVALID = 0x7FFFFFFF, | ||
| 113 | STD_VIDEO_AV1_INTERPOLATION_FILTER_MAX_ENUM = 0x7FFFFFFF | ||
| 114 | } StdVideoAV1InterpolationFilter; | ||
| 115 | |||
| 116 | typedef enum StdVideoAV1TxMode { | ||
| 117 | STD_VIDEO_AV1_TX_MODE_ONLY_4X4 = 0, | ||
| 118 | STD_VIDEO_AV1_TX_MODE_LARGEST = 1, | ||
| 119 | STD_VIDEO_AV1_TX_MODE_SELECT = 2, | ||
| 120 | STD_VIDEO_AV1_TX_MODE_INVALID = 0x7FFFFFFF, | ||
| 121 | STD_VIDEO_AV1_TX_MODE_MAX_ENUM = 0x7FFFFFFF | ||
| 122 | } StdVideoAV1TxMode; | ||
| 123 | |||
| 124 | typedef enum StdVideoAV1FrameRestorationType { | ||
| 125 | STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_NONE = 0, | ||
| 126 | STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_WIENER = 1, | ||
| 127 | STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_SGRPROJ = 2, | ||
| 128 | STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_SWITCHABLE = 3, | ||
| 129 | STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_INVALID = 0x7FFFFFFF, | ||
| 130 | STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_MAX_ENUM = 0x7FFFFFFF | ||
| 131 | } StdVideoAV1FrameRestorationType; | ||
| 132 | |||
| 133 | typedef enum StdVideoAV1ColorPrimaries { | ||
| 134 | STD_VIDEO_AV1_COLOR_PRIMARIES_BT_709 = 1, | ||
| 135 | STD_VIDEO_AV1_COLOR_PRIMARIES_BT_UNSPECIFIED = 2, | ||
| 136 | STD_VIDEO_AV1_COLOR_PRIMARIES_BT_470_M = 4, | ||
| 137 | STD_VIDEO_AV1_COLOR_PRIMARIES_BT_470_B_G = 5, | ||
| 138 | STD_VIDEO_AV1_COLOR_PRIMARIES_BT_601 = 6, | ||
| 139 | STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_240 = 7, | ||
| 140 | STD_VIDEO_AV1_COLOR_PRIMARIES_GENERIC_FILM = 8, | ||
| 141 | STD_VIDEO_AV1_COLOR_PRIMARIES_BT_2020 = 9, | ||
| 142 | STD_VIDEO_AV1_COLOR_PRIMARIES_XYZ = 10, | ||
| 143 | STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_431 = 11, | ||
| 144 | STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_432 = 12, | ||
| 145 | STD_VIDEO_AV1_COLOR_PRIMARIES_EBU_3213 = 22, | ||
| 146 | STD_VIDEO_AV1_COLOR_PRIMARIES_INVALID = 0x7FFFFFFF, | ||
| 147 | STD_VIDEO_AV1_COLOR_PRIMARIES_MAX_ENUM = 0x7FFFFFFF | ||
| 148 | } StdVideoAV1ColorPrimaries; | ||
| 149 | |||
| 150 | typedef enum StdVideoAV1TransferCharacteristics { | ||
| 151 | STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_RESERVED_0 = 0, | ||
| 152 | STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_709 = 1, | ||
| 153 | STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_UNSPECIFIED = 2, | ||
| 154 | STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_RESERVED_3 = 3, | ||
| 155 | STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_470_M = 4, | ||
| 156 | STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_470_B_G = 5, | ||
| 157 | STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_601 = 6, | ||
| 158 | STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SMPTE_240 = 7, | ||
| 159 | STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_LINEAR = 8, | ||
| 160 | STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_LOG_100 = 9, | ||
| 161 | STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_LOG_100_SQRT10 = 10, | ||
| 162 | STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_IEC_61966 = 11, | ||
| 163 | STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_1361 = 12, | ||
| 164 | STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SRGB = 13, | ||
| 165 | STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_2020_10_BIT = 14, | ||
| 166 | STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_2020_12_BIT = 15, | ||
| 167 | STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SMPTE_2084 = 16, | ||
| 168 | STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SMPTE_428 = 17, | ||
| 169 | STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_HLG = 18, | ||
| 170 | STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_INVALID = 0x7FFFFFFF, | ||
| 171 | STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_MAX_ENUM = 0x7FFFFFFF | ||
| 172 | } StdVideoAV1TransferCharacteristics; | ||
| 173 | |||
| 174 | typedef enum StdVideoAV1MatrixCoefficients { | ||
| 175 | STD_VIDEO_AV1_MATRIX_COEFFICIENTS_IDENTITY = 0, | ||
| 176 | STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_709 = 1, | ||
| 177 | STD_VIDEO_AV1_MATRIX_COEFFICIENTS_UNSPECIFIED = 2, | ||
| 178 | STD_VIDEO_AV1_MATRIX_COEFFICIENTS_RESERVED_3 = 3, | ||
| 179 | STD_VIDEO_AV1_MATRIX_COEFFICIENTS_FCC = 4, | ||
| 180 | STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_470_B_G = 5, | ||
| 181 | STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_601 = 6, | ||
| 182 | STD_VIDEO_AV1_MATRIX_COEFFICIENTS_SMPTE_240 = 7, | ||
| 183 | STD_VIDEO_AV1_MATRIX_COEFFICIENTS_SMPTE_YCGCO = 8, | ||
| 184 | STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_2020_NCL = 9, | ||
| 185 | STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_2020_CL = 10, | ||
| 186 | STD_VIDEO_AV1_MATRIX_COEFFICIENTS_SMPTE_2085 = 11, | ||
| 187 | STD_VIDEO_AV1_MATRIX_COEFFICIENTS_CHROMAT_NCL = 12, | ||
| 188 | STD_VIDEO_AV1_MATRIX_COEFFICIENTS_CHROMAT_CL = 13, | ||
| 189 | STD_VIDEO_AV1_MATRIX_COEFFICIENTS_ICTCP = 14, | ||
| 190 | STD_VIDEO_AV1_MATRIX_COEFFICIENTS_INVALID = 0x7FFFFFFF, | ||
| 191 | STD_VIDEO_AV1_MATRIX_COEFFICIENTS_MAX_ENUM = 0x7FFFFFFF | ||
| 192 | } StdVideoAV1MatrixCoefficients; | ||
| 193 | |||
| 194 | typedef enum StdVideoAV1ChromaSamplePosition { | ||
| 195 | STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_UNKNOWN = 0, | ||
| 196 | STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_VERTICAL = 1, | ||
| 197 | STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_COLOCATED = 2, | ||
| 198 | STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_RESERVED = 3, | ||
| 199 | STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_INVALID = 0x7FFFFFFF, | ||
| 200 | STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_MAX_ENUM = 0x7FFFFFFF | ||
| 201 | } StdVideoAV1ChromaSamplePosition; | ||
| 202 | typedef struct StdVideoAV1ColorConfigFlags { | ||
| 203 | uint32_t mono_chrome : 1; | ||
| 204 | uint32_t color_range : 1; | ||
| 205 | uint32_t separate_uv_delta_q : 1; | ||
| 206 | uint32_t color_description_present_flag : 1; | ||
| 207 | uint32_t reserved : 28; | ||
| 208 | } StdVideoAV1ColorConfigFlags; | ||
| 209 | |||
| 210 | typedef struct StdVideoAV1ColorConfig { | ||
| 211 | StdVideoAV1ColorConfigFlags flags; | ||
| 212 | uint8_t BitDepth; | ||
| 213 | uint8_t subsampling_x; | ||
| 214 | uint8_t subsampling_y; | ||
| 215 | uint8_t reserved1; | ||
| 216 | StdVideoAV1ColorPrimaries color_primaries; | ||
| 217 | StdVideoAV1TransferCharacteristics transfer_characteristics; | ||
| 218 | StdVideoAV1MatrixCoefficients matrix_coefficients; | ||
| 219 | StdVideoAV1ChromaSamplePosition chroma_sample_position; | ||
| 220 | } StdVideoAV1ColorConfig; | ||
| 221 | |||
| 222 | typedef struct StdVideoAV1TimingInfoFlags { | ||
| 223 | uint32_t equal_picture_interval : 1; | ||
| 224 | uint32_t reserved : 31; | ||
| 225 | } StdVideoAV1TimingInfoFlags; | ||
| 226 | |||
| 227 | typedef struct StdVideoAV1TimingInfo { | ||
| 228 | StdVideoAV1TimingInfoFlags flags; | ||
| 229 | uint32_t num_units_in_display_tick; | ||
| 230 | uint32_t time_scale; | ||
| 231 | uint32_t num_ticks_per_picture_minus_1; | ||
| 232 | } StdVideoAV1TimingInfo; | ||
| 233 | |||
| 234 | typedef struct StdVideoAV1LoopFilterFlags { | ||
| 235 | uint32_t loop_filter_delta_enabled : 1; | ||
| 236 | uint32_t loop_filter_delta_update : 1; | ||
| 237 | uint32_t reserved : 30; | ||
| 238 | } StdVideoAV1LoopFilterFlags; | ||
| 239 | |||
| 240 | typedef struct StdVideoAV1LoopFilter { | ||
| 241 | StdVideoAV1LoopFilterFlags flags; | ||
| 242 | uint8_t loop_filter_level[STD_VIDEO_AV1_MAX_LOOP_FILTER_STRENGTHS]; | ||
| 243 | uint8_t loop_filter_sharpness; | ||
| 244 | uint8_t update_ref_delta; | ||
| 245 | int8_t loop_filter_ref_deltas[STD_VIDEO_AV1_TOTAL_REFS_PER_FRAME]; | ||
| 246 | uint8_t update_mode_delta; | ||
| 247 | int8_t loop_filter_mode_deltas[STD_VIDEO_AV1_LOOP_FILTER_ADJUSTMENTS]; | ||
| 248 | } StdVideoAV1LoopFilter; | ||
| 249 | |||
| 250 | typedef struct StdVideoAV1QuantizationFlags { | ||
| 251 | uint32_t using_qmatrix : 1; | ||
| 252 | uint32_t diff_uv_delta : 1; | ||
| 253 | uint32_t reserved : 30; | ||
| 254 | } StdVideoAV1QuantizationFlags; | ||
| 255 | |||
| 256 | typedef struct StdVideoAV1Quantization { | ||
| 257 | StdVideoAV1QuantizationFlags flags; | ||
| 258 | uint8_t base_q_idx; | ||
| 259 | int8_t DeltaQYDc; | ||
| 260 | int8_t DeltaQUDc; | ||
| 261 | int8_t DeltaQUAc; | ||
| 262 | int8_t DeltaQVDc; | ||
| 263 | int8_t DeltaQVAc; | ||
| 264 | uint8_t qm_y; | ||
| 265 | uint8_t qm_u; | ||
| 266 | uint8_t qm_v; | ||
| 267 | } StdVideoAV1Quantization; | ||
| 268 | |||
| 269 | typedef struct StdVideoAV1Segmentation { | ||
| 270 | uint8_t FeatureEnabled[STD_VIDEO_AV1_MAX_SEGMENTS]; | ||
| 271 | int16_t FeatureData[STD_VIDEO_AV1_MAX_SEGMENTS][STD_VIDEO_AV1_SEG_LVL_MAX]; | ||
| 272 | } StdVideoAV1Segmentation; | ||
| 273 | |||
| 274 | typedef struct StdVideoAV1TileInfoFlags { | ||
| 275 | uint32_t uniform_tile_spacing_flag : 1; | ||
| 276 | uint32_t reserved : 31; | ||
| 277 | } StdVideoAV1TileInfoFlags; | ||
| 278 | |||
| 279 | typedef struct StdVideoAV1TileInfo { | ||
| 280 | StdVideoAV1TileInfoFlags flags; | ||
| 281 | uint8_t TileCols; | ||
| 282 | uint8_t TileRows; | ||
| 283 | uint16_t context_update_tile_id; | ||
| 284 | uint8_t tile_size_bytes_minus_1; | ||
| 285 | uint8_t reserved1[7]; | ||
| 286 | const uint16_t* pMiColStarts; | ||
| 287 | const uint16_t* pMiRowStarts; | ||
| 288 | const uint16_t* pWidthInSbsMinus1; | ||
| 289 | const uint16_t* pHeightInSbsMinus1; | ||
| 290 | } StdVideoAV1TileInfo; | ||
| 291 | |||
| 292 | typedef struct StdVideoAV1CDEF { | ||
| 293 | uint8_t cdef_damping_minus_3; | ||
| 294 | uint8_t cdef_bits; | ||
| 295 | uint8_t cdef_y_pri_strength[STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS]; | ||
| 296 | uint8_t cdef_y_sec_strength[STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS]; | ||
| 297 | uint8_t cdef_uv_pri_strength[STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS]; | ||
| 298 | uint8_t cdef_uv_sec_strength[STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS]; | ||
| 299 | } StdVideoAV1CDEF; | ||
| 300 | |||
| 301 | typedef struct StdVideoAV1LoopRestoration { | ||
| 302 | StdVideoAV1FrameRestorationType FrameRestorationType[STD_VIDEO_AV1_MAX_NUM_PLANES]; | ||
| 303 | uint16_t LoopRestorationSize[STD_VIDEO_AV1_MAX_NUM_PLANES]; | ||
| 304 | } StdVideoAV1LoopRestoration; | ||
| 305 | |||
| 306 | typedef struct StdVideoAV1GlobalMotion { | ||
| 307 | uint8_t GmType[STD_VIDEO_AV1_NUM_REF_FRAMES]; | ||
| 308 | int32_t gm_params[STD_VIDEO_AV1_NUM_REF_FRAMES][STD_VIDEO_AV1_GLOBAL_MOTION_PARAMS]; | ||
| 309 | } StdVideoAV1GlobalMotion; | ||
| 310 | |||
| 311 | typedef struct StdVideoAV1FilmGrainFlags { | ||
| 312 | uint32_t chroma_scaling_from_luma : 1; | ||
| 313 | uint32_t overlap_flag : 1; | ||
| 314 | uint32_t clip_to_restricted_range : 1; | ||
| 315 | uint32_t update_grain : 1; | ||
| 316 | uint32_t reserved : 28; | ||
| 317 | } StdVideoAV1FilmGrainFlags; | ||
| 318 | |||
| 319 | typedef struct StdVideoAV1FilmGrain { | ||
| 320 | StdVideoAV1FilmGrainFlags flags; | ||
| 321 | uint8_t grain_scaling_minus_8; | ||
| 322 | uint8_t ar_coeff_lag; | ||
| 323 | uint8_t ar_coeff_shift_minus_6; | ||
| 324 | uint8_t grain_scale_shift; | ||
| 325 | uint16_t grain_seed; | ||
| 326 | uint8_t film_grain_params_ref_idx; | ||
| 327 | uint8_t num_y_points; | ||
| 328 | uint8_t point_y_value[STD_VIDEO_AV1_MAX_NUM_Y_POINTS]; | ||
| 329 | uint8_t point_y_scaling[STD_VIDEO_AV1_MAX_NUM_Y_POINTS]; | ||
| 330 | uint8_t num_cb_points; | ||
| 331 | uint8_t point_cb_value[STD_VIDEO_AV1_MAX_NUM_CB_POINTS]; | ||
| 332 | uint8_t point_cb_scaling[STD_VIDEO_AV1_MAX_NUM_CB_POINTS]; | ||
| 333 | uint8_t num_cr_points; | ||
| 334 | uint8_t point_cr_value[STD_VIDEO_AV1_MAX_NUM_CR_POINTS]; | ||
| 335 | uint8_t point_cr_scaling[STD_VIDEO_AV1_MAX_NUM_CR_POINTS]; | ||
| 336 | int8_t ar_coeffs_y_plus_128[STD_VIDEO_AV1_MAX_NUM_POS_LUMA]; | ||
| 337 | int8_t ar_coeffs_cb_plus_128[STD_VIDEO_AV1_MAX_NUM_POS_CHROMA]; | ||
| 338 | int8_t ar_coeffs_cr_plus_128[STD_VIDEO_AV1_MAX_NUM_POS_CHROMA]; | ||
| 339 | uint8_t cb_mult; | ||
| 340 | uint8_t cb_luma_mult; | ||
| 341 | uint16_t cb_offset; | ||
| 342 | uint8_t cr_mult; | ||
| 343 | uint8_t cr_luma_mult; | ||
| 344 | uint16_t cr_offset; | ||
| 345 | } StdVideoAV1FilmGrain; | ||
| 346 | |||
| 347 | typedef struct StdVideoAV1SequenceHeaderFlags { | ||
| 348 | uint32_t still_picture : 1; | ||
| 349 | uint32_t reduced_still_picture_header : 1; | ||
| 350 | uint32_t use_128x128_superblock : 1; | ||
| 351 | uint32_t enable_filter_intra : 1; | ||
| 352 | uint32_t enable_intra_edge_filter : 1; | ||
| 353 | uint32_t enable_interintra_compound : 1; | ||
| 354 | uint32_t enable_masked_compound : 1; | ||
| 355 | uint32_t enable_warped_motion : 1; | ||
| 356 | uint32_t enable_dual_filter : 1; | ||
| 357 | uint32_t enable_order_hint : 1; | ||
| 358 | uint32_t enable_jnt_comp : 1; | ||
| 359 | uint32_t enable_ref_frame_mvs : 1; | ||
| 360 | uint32_t frame_id_numbers_present_flag : 1; | ||
| 361 | uint32_t enable_superres : 1; | ||
| 362 | uint32_t enable_cdef : 1; | ||
| 363 | uint32_t enable_restoration : 1; | ||
| 364 | uint32_t film_grain_params_present : 1; | ||
| 365 | uint32_t timing_info_present_flag : 1; | ||
| 366 | uint32_t initial_display_delay_present_flag : 1; | ||
| 367 | uint32_t reserved : 13; | ||
| 368 | } StdVideoAV1SequenceHeaderFlags; | ||
| 369 | |||
| 370 | typedef struct StdVideoAV1SequenceHeader { | ||
| 371 | StdVideoAV1SequenceHeaderFlags flags; | ||
| 372 | StdVideoAV1Profile seq_profile; | ||
| 373 | uint8_t frame_width_bits_minus_1; | ||
| 374 | uint8_t frame_height_bits_minus_1; | ||
| 375 | uint16_t max_frame_width_minus_1; | ||
| 376 | uint16_t max_frame_height_minus_1; | ||
| 377 | uint8_t delta_frame_id_length_minus_2; | ||
| 378 | uint8_t additional_frame_id_length_minus_1; | ||
| 379 | uint8_t order_hint_bits_minus_1; | ||
| 380 | uint8_t seq_force_integer_mv; | ||
| 381 | uint8_t seq_force_screen_content_tools; | ||
| 382 | uint8_t reserved1[5]; | ||
| 383 | const StdVideoAV1ColorConfig* pColorConfig; | ||
| 384 | const StdVideoAV1TimingInfo* pTimingInfo; | ||
| 385 | } StdVideoAV1SequenceHeader; | ||
| 386 | |||
| 387 | |||
| 388 | #ifdef __cplusplus | ||
| 389 | } | ||
| 390 | #endif | ||
| 391 | |||
| 392 | #endif | ||
