53 typedef struct _VAWeightedPredInfo {
58 int8_t delta_chroma_log2_weight_denom;
59 uint8_t num_l0_weights;
60 uint8_t luma_weight_l0_flag[15];
61 uint8_t chroma_weight_l0_flag[15];
62 int8_t delta_luma_weight_l0[15];
63 int8_t luma_offset_l0[15];
64 int8_t delta_chroma_weight_l0[15][2];
65 int16_t delta_chroma_offset_l0[15][2];
66 uint8_t num_l1_weights;
67 uint8_t luma_weight_l1_flag[15];
68 uint8_t chroma_weight_l1_flag[15];
69 int8_t delta_luma_weight_l1[15];
70 int8_t luma_offset_l1[15];
71 int8_t delta_chroma_weight_l1[15][2];
72 int16_t delta_chroma_offset_l1[15][2];
88 typedef struct _VAPictureParameterBufferVVC {
103 uint8_t sps_chroma_format_idc;
104 uint8_t sps_bitdepth_minus8;
105 uint8_t sps_log2_ctu_size_minus5;
106 uint8_t sps_log2_min_luma_coding_block_size_minus2;
107 uint8_t sps_log2_transform_skip_max_size_minus2;
112 int8_t ChromaQpTable[3][111];
113 uint8_t sps_six_minus_max_num_merge_cand;
114 uint8_t sps_five_minus_max_num_subblock_merge_cand;
115 uint8_t sps_max_num_merge_cand_minus_max_num_gpm_cand;
116 uint8_t sps_log2_parallel_merge_level_minus2;
117 uint8_t sps_min_qp_prime_ts;
118 uint8_t sps_six_minus_max_num_ibc_merge_cand;
119 uint8_t sps_num_ladf_intervals_minus2;
120 int8_t sps_ladf_lowest_interval_qp_offset;
121 int8_t sps_ladf_qp_offset[4];
122 uint16_t sps_ladf_delta_threshold_minus1[4];
128 uint64_t sps_subpic_info_present_flag : 1;
129 uint64_t sps_independent_subpics_flag : 1;
130 uint64_t sps_subpic_same_size_flag : 1;
131 uint64_t sps_entropy_coding_sync_enabled_flag : 1;
132 uint64_t sps_qtbtt_dual_tree_intra_flag : 1;
133 uint64_t sps_max_luma_transform_size_64_flag : 1;
134 uint64_t sps_transform_skip_enabled_flag : 1;
135 uint64_t sps_bdpcm_enabled_flag : 1;
136 uint64_t sps_mts_enabled_flag : 1;
137 uint64_t sps_explicit_mts_intra_enabled_flag : 1;
138 uint64_t sps_explicit_mts_inter_enabled_flag : 1;
139 uint64_t sps_lfnst_enabled_flag : 1;
140 uint64_t sps_joint_cbcr_enabled_flag : 1;
141 uint64_t sps_same_qp_table_for_chroma_flag : 1;
142 uint64_t sps_sao_enabled_flag : 1;
143 uint64_t sps_alf_enabled_flag : 1;
144 uint64_t sps_ccalf_enabled_flag : 1;
145 uint64_t sps_lmcs_enabled_flag : 1;
146 uint64_t sps_sbtmvp_enabled_flag : 1;
147 uint64_t sps_amvr_enabled_flag : 1;
148 uint64_t sps_smvd_enabled_flag : 1;
149 uint64_t sps_mmvd_enabled_flag : 1;
150 uint64_t sps_sbt_enabled_flag : 1;
151 uint64_t sps_affine_enabled_flag : 1;
152 uint64_t sps_6param_affine_enabled_flag : 1;
153 uint64_t sps_affine_amvr_enabled_flag : 1;
154 uint64_t sps_affine_prof_enabled_flag : 1;
155 uint64_t sps_bcw_enabled_flag : 1;
156 uint64_t sps_ciip_enabled_flag : 1;
157 uint64_t sps_gpm_enabled_flag : 1;
158 uint64_t sps_isp_enabled_flag : 1;
159 uint64_t sps_mrl_enabled_flag : 1;
160 uint64_t sps_mip_enabled_flag : 1;
161 uint64_t sps_cclm_enabled_flag : 1;
162 uint64_t sps_chroma_horizontal_collocated_flag : 1;
163 uint64_t sps_chroma_vertical_collocated_flag : 1;
164 uint64_t sps_palette_enabled_flag : 1;
165 uint64_t sps_act_enabled_flag : 1;
166 uint64_t sps_ibc_enabled_flag : 1;
167 uint64_t sps_ladf_enabled_flag : 1;
168 uint64_t sps_explicit_scaling_list_enabled_flag : 1;
169 uint64_t sps_scaling_matrix_for_lfnst_disabled_flag : 1;
170 uint64_t sps_scaling_matrix_for_alternative_colour_space_disabled_flag : 1;
171 uint64_t sps_scaling_matrix_designated_colour_space_flag : 1;
172 uint64_t sps_virtual_boundaries_enabled_flag : 1;
173 uint64_t sps_virtual_boundaries_present_flag : 1;
197 uint16_t VirtualBoundaryPosX[3];
202 uint16_t VirtualBoundaryPosY[3];
204 int32_t pps_scaling_win_left_offset;
205 int32_t pps_scaling_win_right_offset;
206 int32_t pps_scaling_win_top_offset;
207 int32_t pps_scaling_win_bottom_offset;
209 int8_t pps_num_exp_tile_columns_minus1;
210 uint16_t pps_num_exp_tile_rows_minus1;
211 uint16_t pps_num_slices_in_pic_minus1;
212 uint16_t pps_pic_width_minus_wraparound_offset;
213 int8_t pps_cb_qp_offset;
214 int8_t pps_cr_qp_offset;
215 int8_t pps_joint_cbcr_qp_offset_value;
216 uint8_t pps_chroma_qp_offset_list_len_minus1;
217 int8_t pps_cb_qp_offset_list[6];
218 int8_t pps_cr_qp_offset_list[6];
219 int8_t pps_joint_cbcr_qp_offset_list[6];
226 uint32_t pps_loop_filter_across_tiles_enabled_flag : 1;
227 uint32_t pps_rect_slice_flag : 1;
228 uint32_t pps_single_slice_per_subpic_flag : 1;
229 uint32_t pps_loop_filter_across_slices_enabled_flag : 1;
230 uint32_t pps_weighted_pred_flag : 1;
231 uint32_t pps_weighted_bipred_flag : 1;
232 uint32_t pps_ref_wraparound_enabled_flag : 1;
233 uint32_t pps_cu_qp_delta_enabled_flag : 1;
234 uint32_t pps_cu_chroma_qp_offset_list_enabled_flag : 1;
235 uint32_t pps_deblocking_filter_override_enabled_flag : 1;
236 uint32_t pps_deblocking_filter_disabled_flag : 1;
237 uint32_t pps_dbf_info_in_ph_flag : 1;
238 uint32_t pps_sao_info_in_ph_flag : 1;
239 uint32_t pps_alf_info_in_ph_flag : 1;
250 uint8_t ph_scaling_list_aps_id;
251 uint8_t ph_log2_diff_min_qt_min_cb_intra_slice_luma;
252 uint8_t ph_max_mtt_hierarchy_depth_intra_slice_luma;
253 uint8_t ph_log2_diff_max_bt_min_qt_intra_slice_luma;
254 uint8_t ph_log2_diff_max_tt_min_qt_intra_slice_luma;
255 uint8_t ph_log2_diff_min_qt_min_cb_intra_slice_chroma;
256 uint8_t ph_max_mtt_hierarchy_depth_intra_slice_chroma;
257 uint8_t ph_log2_diff_max_bt_min_qt_intra_slice_chroma;
258 uint8_t ph_log2_diff_max_tt_min_qt_intra_slice_chroma;
259 uint8_t ph_cu_qp_delta_subdiv_intra_slice;
260 uint8_t ph_cu_chroma_qp_offset_subdiv_intra_slice;
261 uint8_t ph_log2_diff_min_qt_min_cb_inter_slice;
262 uint8_t ph_max_mtt_hierarchy_depth_inter_slice;
263 uint8_t ph_log2_diff_max_bt_min_qt_inter_slice;
264 uint8_t ph_log2_diff_max_tt_min_qt_inter_slice;
265 uint8_t ph_cu_qp_delta_subdiv_inter_slice;
266 uint8_t ph_cu_chroma_qp_offset_subdiv_inter_slice;
273 uint32_t ph_non_ref_pic_flag : 1;
274 uint32_t ph_alf_enabled_flag : 1;
275 uint32_t ph_alf_cb_enabled_flag : 1;
276 uint32_t ph_alf_cr_enabled_flag : 1;
277 uint32_t ph_alf_cc_cb_enabled_flag : 1;
278 uint32_t ph_alf_cc_cr_enabled_flag : 1;
279 uint32_t ph_lmcs_enabled_flag : 1;
280 uint32_t ph_chroma_residual_scale_flag : 1;
281 uint32_t ph_explicit_scaling_list_enabled_flag : 1;
282 uint32_t ph_virtual_boundaries_present_flag : 1;
283 uint32_t ph_temporal_mvp_enabled_flag : 1;
284 uint32_t ph_mmvd_fullpel_only_flag : 1;
285 uint32_t ph_mvd_l1_zero_flag : 1;
286 uint32_t ph_bdof_disabled_flag : 1;
287 uint32_t ph_dmvr_disabled_flag : 1;
288 uint32_t ph_prof_disabled_flag : 1;
289 uint32_t ph_joint_cbcr_sign_flag : 1;
290 uint32_t ph_sao_luma_enabled_flag : 1;
291 uint32_t ph_sao_chroma_enabled_flag : 1;
292 uint32_t ph_deblocking_filter_disabled_flag : 1;
294 uint32_t reserved : 12;
311 uint32_t reserved : 31;
317 uint32_t reserved32b[VA_PADDING_HIGH + 1];
331 typedef struct _VASliceParameterBufferVVC {
359 uint8_t RefPicList[2][15];
370 uint16_t sh_slice_address;
371 uint16_t sh_num_tiles_in_slice_minus1;
372 uint8_t sh_slice_type;
373 uint8_t sh_num_alf_aps_ids_luma;
374 uint8_t sh_alf_aps_id_luma[7];
375 uint8_t sh_alf_aps_id_chroma;
376 uint8_t sh_alf_cc_cb_aps_id;
377 uint8_t sh_alf_cc_cr_aps_id;
385 uint8_t NumRefIdxActive[2];
386 uint8_t sh_collocated_ref_idx;
395 int8_t sh_cb_qp_offset;
396 int8_t sh_cr_qp_offset;
397 int8_t sh_joint_cbcr_qp_offset;
398 int8_t sh_luma_beta_offset_div2;
399 int8_t sh_luma_tc_offset_div2;
400 int8_t sh_cb_beta_offset_div2;
401 int8_t sh_cb_tc_offset_div2;
402 int8_t sh_cr_beta_offset_div2;
403 int8_t sh_cr_tc_offset_div2;
406 uint32_t reserved32b;
414 uint32_t sh_alf_enabled_flag : 1;
415 uint32_t sh_alf_cb_enabled_flag : 1;
416 uint32_t sh_alf_cr_enabled_flag : 1;
417 uint32_t sh_alf_cc_cb_enabled_flag : 1;
418 uint32_t sh_alf_cc_cr_enabled_flag : 1;
419 uint32_t sh_lmcs_used_flag : 1;
420 uint32_t sh_explicit_scaling_list_used_flag : 1;
421 uint32_t sh_cabac_init_flag : 1;
422 uint32_t sh_collocated_from_l0_flag : 1;
423 uint32_t sh_cu_chroma_qp_offset_enabled_flag : 1;
424 uint32_t sh_sao_luma_used_flag : 1;
425 uint32_t sh_sao_chroma_used_flag : 1;
426 uint32_t sh_deblocking_filter_disabled_flag : 1;
427 uint32_t sh_dep_quant_used_flag : 1;
428 uint32_t sh_sign_data_hiding_used_flag : 1;
429 uint32_t sh_ts_residual_coding_disabled_flag : 1;
437 uint32_t va_reserved[VA_PADDING_MEDIUM];
454 typedef struct _VAScalingListVVC {
463 uint8_t ScalingMatrixDCRec[14];
468 uint8_t ScalingMatrixRec2x2[2][2][2];
473 uint8_t ScalingMatrixRec4x4[6][4][4];
478 uint8_t ScalingMatrixRec8x8[20][8][8];
481 uint32_t va_reserved[VA_PADDING_MEDIUM];
498 typedef struct _VAAlfDataVVC {
504 uint8_t alf_luma_num_filters_signalled_minus1;
505 uint8_t alf_luma_coeff_delta_idx[25];
506 int8_t filtCoeff[25][12];
507 uint8_t alf_luma_clip_idx[25][12];
508 uint8_t alf_chroma_num_alt_filters_minus1;
509 int8_t AlfCoeffC[8][6];
510 uint8_t alf_chroma_clip_idx[8][6];
511 uint8_t alf_cc_cb_filters_signalled_minus1;
512 int8_t CcAlfApsCoeffCb[4][7];
513 uint8_t alf_cc_cr_filters_signalled_minus1;
514 int8_t CcAlfApsCoeffCr[4][7];
517 uint32_t reserved32b;
521 uint32_t alf_luma_filter_signal_flag : 1;
522 uint32_t alf_chroma_filter_signal_flag : 1;
523 uint32_t alf_cc_cb_filter_signal_flag : 1;
524 uint32_t alf_cc_cr_filter_signal_flag : 1;
525 uint32_t alf_luma_clip_flag : 1;
526 uint32_t alf_chroma_clip_flag : 1;
534 uint32_t va_reserved[VA_PADDING_MEDIUM];
551 typedef struct _VALmcsDataVVC {
557 uint8_t lmcs_min_bin_idx;
558 uint8_t lmcs_delta_max_bin_idx;
559 int16_t lmcsDeltaCW[16];
563 uint32_t va_reserved[VA_PADDING_MEDIUM];
577 typedef struct _VASubPicVVC {
583 uint16_t sps_subpic_ctu_top_left_y;
584 uint16_t sps_subpic_width_minus1;
585 uint16_t sps_subpic_height_minus1;
593 uint16_t sps_subpic_treated_as_pic_flag : 1;
594 uint16_t sps_loop_filter_across_subpic_enabled_flag : 1;
651 typedef struct _VASliceStructVVC {
660 uint16_t pps_slice_width_in_tiles_minus1;
665 uint16_t pps_slice_height_in_tiles_minus1;
675 uint16_t pps_exp_slice_height_in_ctus_minus1;
#define VA_PADDING_LOW
Definition: va.h:360
VVC Adaptive Loop Filter Data Structure.
Definition: va_dec_vvc.h:498
uint8_t aps_adaptation_parameter_set_id
VVC Adaptive Loop Filter parameters. All the parameters except reserved bytes are VVC syntax or spec ...
Definition: va_dec_vvc.h:503
uint16_t reserved16b
Reserved bytes for future use, must be zero.
Definition: va_dec_vvc.h:516
uint32_t reserved
Reserved for future use, must be zero.
Definition: va_dec_vvc.h:528
VVC Luma Mapping with Chroma Scaling Data Structure.
Definition: va_dec_vvc.h:551
uint8_t aps_adaptation_parameter_set_id
VVC Luma Mapping with Chroma Scaling parameters. All the parameters except reserved bytes are VVC syn...
Definition: va_dec_vvc.h:556
VVC Decoding Picture Parameter Buffer Structure.
Definition: va_dec_vvc.h:88
uint8_t ph_lmcs_aps_id
picture header parameters. All the parameters except reserved bytes are VVC syntax or spec variables.
Definition: va_dec_vvc.h:249
uint16_t reserved16b02
Reserved for future use, must be zero.
Definition: va_dec_vvc.h:268
uint32_t IntraPicFlag
Flag to indicate if current picture is an intra picture. Takes value 1 when all slices of current pic...
Definition: va_dec_vvc.h:309
uint16_t pps_pic_height_in_luma_samples
picture height, shall be integer multiple of Max(8, MinCbSizeY).
Definition: va_dec_vvc.h:97
uint16_t reserved16b01
Reserved for future use, must be zero.
Definition: va_dec_vvc.h:221
VAPictureVVC CurrPic
buffer description of decoded current picture
Definition: va_dec_vvc.h:91
uint64_t reserved
Reserved for future use, must be zero.
Definition: va_dec_vvc.h:175
uint16_t pps_pic_width_in_luma_samples
picture width, shall be integer multiple of Max(8, MinCbSizeY).
Definition: va_dec_vvc.h:95
uint32_t reserved32b04
Reserved for future use, must be zero.
Definition: va_dec_vvc.h:300
uint8_t NumVerVirtualBoundaries
picture level parameters. All the parameters except reserved bytes are VVC syntax or spec variables.
Definition: va_dec_vvc.h:187
uint32_t reserved
Reserved for future use, must be zero.
Definition: va_dec_vvc.h:241
uint8_t NumHorVirtualBoundaries
number of horizontal virtual boundaries on the picture. NumHorVirtualBoundaries corresponds to VVC sp...
Definition: va_dec_vvc.h:192
uint16_t sps_num_subpics_minus1
sequence level parameters. All the parameters except reserved bytes are VVC syntax or spec variables.
Definition: va_dec_vvc.h:102
Description of picture properties of those in DPB surfaces.
Definition: va.h:5353
VVC Scaling List Data Structure.
Definition: va_dec_vvc.h:454
uint8_t aps_adaptation_parameter_set_id
VVC syntax to specify the identifier for the APS.
Definition: va_dec_vvc.h:456
uint8_t reserved8b
Reserved for future use, must be zero.
Definition: va_dec_vvc.h:458
VVC Slice Parameter Buffer Structure.
Definition: va_dec_vvc.h:331
uint32_t slice_data_size
Number of bytes in the slice data buffer for this slice counting from and including NAL unit header.
Definition: va_dec_vvc.h:339
uint32_t slice_data_byte_offset
Byte offset from NAL unit header to the beginning of slice_data().
Definition: va_dec_vvc.h:354
uint32_t reserved
Reserved for future use, must be zero.
Definition: va_dec_vvc.h:431
uint32_t slice_data_offset
The offset to the NAL unit header for this slice.
Definition: va_dec_vvc.h:341
int8_t SliceQpY
initial value of the QpY quantization parameter for the slice. SliceQpY corresponds to VVC spec varia...
Definition: va_dec_vvc.h:393
uint16_t sh_subpic_id
the subpicture ID of the subpicture that contains the slice. The value of the variable CurrSubpicIdx ...
Definition: va_dec_vvc.h:368
uint32_t slice_data_flag
Slice data buffer flags. See VA_SLICE_DATA_FLAG_XXX.
Definition: va_dec_vvc.h:343
data buffer of tile widths and heights. VATileBufferType is used to send this buffer.
Definition: va_dec_vvc.h:651
uint16_t SliceTopLeftTileIdx
the tile index of which the starting CTU (top-left) of the slice belongs to. The tile index is in ras...
Definition: va_dec_vvc.h:656
VVC SubPicture Data Structure.
Definition: va_dec_vvc.h:577
uint16_t sps_subpic_ctu_top_left_x
VVC SubPicture layout parameters. All the parameters except reserved bytes are VVC syntax or spec var...
Definition: va_dec_vvc.h:582
uint16_t SubpicIdVal
the subpicture ID of the i-th subpicture. It is same variable as in VVC spec.
Definition: va_dec_vvc.h:589
uint16_t reserved
Reserved for future use, must be zero.
Definition: va_dec_vvc.h:596
Weighted Prediction Parameters.
Definition: va_dec_vvc.h:53
uint8_t luma_log2_weight_denom
Weighted Prediction parameters. All the parameters except reserved bytes are VVC syntax.
Definition: va_dec_vvc.h:57
uint16_t reserved16b
Reserved for future use, must be zero.
Definition: va_dec_vvc.h:74