221 StdVideoH265ScalingLists *vksps_scaling,
222 StdVideoH265HrdParameters *vksps_vui_header,
223 StdVideoH265SequenceParameterSetVui *vksps_vui,
224 StdVideoH265SequenceParameterSet *vksps,
225 StdVideoH265SubLayerHrdParameters *slhdrnal,
226 StdVideoH265SubLayerHrdParameters *slhdrvcl,
227 StdVideoH265ProfileTierLevel *
ptl,
228 StdVideoH265DecPicBufMgr *dpbm,
229 StdVideoH265PredictorPaletteEntries *pal,
230 StdVideoH265ShortTermRefPicSet *str,
231 StdVideoH265LongTermRefPicsSps *ltr)
235 *vksps_vui_header = (StdVideoH265HrdParameters) {
236 .flags = (StdVideoH265HrdFlags) {
237 .nal_hrd_parameters_present_flag =
sps->hdr.nal_hrd_parameters_present_flag,
238 .vcl_hrd_parameters_present_flag =
sps->hdr.vcl_hrd_parameters_present_flag,
239 .sub_pic_hrd_params_present_flag =
sps->hdr.sub_pic_hrd_params_present_flag,
240 .sub_pic_cpb_params_in_pic_timing_sei_flag =
sps->hdr.sub_pic_cpb_params_in_pic_timing_sei_flag,
241 .fixed_pic_rate_general_flag =
sps->hdr.flags.fixed_pic_rate_general_flag,
242 .fixed_pic_rate_within_cvs_flag =
sps->hdr.flags.fixed_pic_rate_within_cvs_flag,
243 .low_delay_hrd_flag =
sps->hdr.flags.low_delay_hrd_flag,
245 .tick_divisor_minus2 =
sps->hdr.tick_divisor_minus2,
246 .du_cpb_removal_delay_increment_length_minus1 =
sps->hdr.du_cpb_removal_delay_increment_length_minus1,
247 .dpb_output_delay_du_length_minus1 =
sps->hdr.dpb_output_delay_du_length_minus1,
248 .bit_rate_scale =
sps->hdr.bit_rate_scale,
249 .cpb_size_scale =
sps->hdr.cpb_size_scale,
250 .cpb_size_du_scale =
sps->hdr.cpb_size_du_scale,
251 .initial_cpb_removal_delay_length_minus1 =
sps->hdr.initial_cpb_removal_delay_length_minus1,
252 .au_cpb_removal_delay_length_minus1 =
sps->hdr.au_cpb_removal_delay_length_minus1,
253 .dpb_output_delay_length_minus1 =
sps->hdr.dpb_output_delay_length_minus1,
255 .pSubLayerHrdParametersNal = slhdrnal,
256 .pSubLayerHrdParametersVcl = slhdrvcl,
259 memcpy(vksps_vui_header->cpb_cnt_minus1,
sps->hdr.cpb_cnt_minus1,
260 STD_VIDEO_H265_SUBLAYERS_LIST_SIZE*
sizeof(*vksps_vui_header->cpb_cnt_minus1));
261 memcpy(vksps_vui_header->elemental_duration_in_tc_minus1,
sps->hdr.elemental_duration_in_tc_minus1,
262 STD_VIDEO_H265_SUBLAYERS_LIST_SIZE*
sizeof(*vksps_vui_header->elemental_duration_in_tc_minus1));
267 *vksps_vui = (StdVideoH265SequenceParameterSetVui) {
268 .flags = (StdVideoH265SpsVuiFlags) {
269 .aspect_ratio_info_present_flag =
sps->vui.common.aspect_ratio_info_present_flag,
270 .overscan_info_present_flag =
sps->vui.common.overscan_info_present_flag,
271 .overscan_appropriate_flag =
sps->vui.common.overscan_appropriate_flag,
272 .video_signal_type_present_flag =
sps->vui.common.video_signal_type_present_flag,
273 .video_full_range_flag =
sps->vui.common.video_full_range_flag,
274 .colour_description_present_flag =
sps->vui.common.colour_description_present_flag,
275 .chroma_loc_info_present_flag =
sps->vui.common.chroma_loc_info_present_flag,
276 .neutral_chroma_indication_flag =
sps->vui.neutra_chroma_indication_flag,
277 .field_seq_flag =
sps->vui.field_seq_flag,
278 .frame_field_info_present_flag =
sps->vui.frame_field_info_present_flag,
279 .default_display_window_flag =
sps->vui.default_display_window_flag,
280 .vui_timing_info_present_flag =
sps->vui.vui_timing_info_present_flag,
281 .vui_poc_proportional_to_timing_flag =
sps->vui.vui_poc_proportional_to_timing_flag,
282 .vui_hrd_parameters_present_flag =
sps->vui.vui_hrd_parameters_present_flag,
283 .bitstream_restriction_flag =
sps->vui.bitstream_restriction_flag,
284 .tiles_fixed_structure_flag =
sps->vui.tiles_fixed_structure_flag,
285 .motion_vectors_over_pic_boundaries_flag =
sps->vui.motion_vectors_over_pic_boundaries_flag,
286 .restricted_ref_pic_lists_flag =
sps->vui.restricted_ref_pic_lists_flag,
288 .aspect_ratio_idc =
sps->vui.common.aspect_ratio_idc,
289 .sar_width =
sps->vui.common.sar.num,
290 .sar_height =
sps->vui.common.sar.den,
291 .video_format =
sps->vui.common.video_format,
292 .colour_primaries =
sps->vui.common.colour_primaries,
293 .transfer_characteristics =
sps->vui.common.transfer_characteristics,
294 .matrix_coeffs =
sps->vui.common.matrix_coeffs,
295 .chroma_sample_loc_type_top_field =
sps->vui.common.chroma_sample_loc_type_top_field,
296 .chroma_sample_loc_type_bottom_field =
sps->vui.common.chroma_sample_loc_type_bottom_field,
299 .def_disp_win_left_offset =
sps->vui.def_disp_win.left_offset,
300 .def_disp_win_right_offset =
sps->vui.def_disp_win.right_offset,
301 .def_disp_win_top_offset =
sps->vui.def_disp_win.top_offset,
302 .def_disp_win_bottom_offset =
sps->vui.def_disp_win.bottom_offset,
303 .vui_num_units_in_tick =
sps->vui.vui_num_units_in_tick,
304 .vui_time_scale =
sps->vui.vui_time_scale,
305 .vui_num_ticks_poc_diff_one_minus1 =
sps->vui.vui_num_ticks_poc_diff_one_minus1,
306 .min_spatial_segmentation_idc =
sps->vui.min_spatial_segmentation_idc,
307 .max_bytes_per_pic_denom =
sps->vui.max_bytes_per_pic_denom,
308 .max_bits_per_min_cu_denom =
sps->vui.max_bits_per_min_cu_denom,
309 .log2_max_mv_length_horizontal =
sps->vui.log2_max_mv_length_horizontal,
310 .log2_max_mv_length_vertical =
sps->vui.log2_max_mv_length_vertical,
311 .pHrdParameters = vksps_vui_header,
314 *
ptl = (StdVideoH265ProfileTierLevel) {
315 .flags = (StdVideoH265ProfileTierLevelFlags) {
316 .general_tier_flag =
sps->ptl.general_ptl.tier_flag,
317 .general_progressive_source_flag =
sps->ptl.general_ptl.progressive_source_flag,
318 .general_interlaced_source_flag =
sps->ptl.general_ptl.interlaced_source_flag,
319 .general_non_packed_constraint_flag =
sps->ptl.general_ptl.non_packed_constraint_flag,
320 .general_frame_only_constraint_flag =
sps->ptl.general_ptl.frame_only_constraint_flag,
322 .general_profile_idc =
sps->ptl.general_ptl.profile_idc,
326 for (
int i = 0;
i <
sps->max_sub_layers;
i++) {
327 dpbm->max_latency_increase_plus1[
i] =
sps->temporal_layer[
i].max_latency_increase + 1;
328 dpbm->max_dec_pic_buffering_minus1[
i] =
sps->temporal_layer[
i].max_dec_pic_buffering - 1;
329 dpbm->max_num_reorder_pics[
i] =
sps->temporal_layer[
i].num_reorder_pics;
332 for (
int i = 0;
i < (
sps->chroma_format_idc ? 3 : 1);
i++)
333 for (
int j = 0; j <
sps->sps_num_palette_predictor_initializers; j++)
334 pal->PredictorPaletteEntries[
i][j] =
sps->sps_palette_predictor_initializer[
i][j];
336 for (
int i = 0;
i <
sps->nb_st_rps;
i++) {
339 str[
i] = (StdVideoH265ShortTermRefPicSet) {
340 .flags = (StdVideoH265ShortTermRefPicSetFlags) {
341 .inter_ref_pic_set_prediction_flag =
sps->st_rps[
i].rps_predict,
342 .delta_rps_sign =
sps->st_rps[
i].delta_rps_sign,
344 .delta_idx_minus1 =
sps->st_rps[
i].delta_idx - 1,
345 .use_delta_flag =
sps->st_rps[
i].use_delta,
346 .abs_delta_rps_minus1 =
sps->st_rps[
i].abs_delta_rps - 1,
347 .used_by_curr_pic_flag = 0x0,
348 .used_by_curr_pic_s0_flag = 0x0,
349 .used_by_curr_pic_s1_flag = 0x0,
353 .num_negative_pics =
sps->st_rps[
i].num_negative_pics,
354 .num_positive_pics =
sps->st_rps[
i].num_delta_pocs -
sps->st_rps[
i].num_negative_pics,
359 str[
i].used_by_curr_pic_flag = st_rps->
used;
361 str[
i].used_by_curr_pic_s1_flag = st_rps->
used >> str[
i].num_negative_pics;
363 for (
int j = 0; j < str[
i].num_negative_pics; j++)
364 str[
i].delta_poc_s0_minus1[j] = st_rps->
delta_poc[j] - (j ? st_rps->
delta_poc[j - 1] : 0) - 1;
366 for (
int j = 0; j < str[
i].num_positive_pics; j++)
371 *ltr = (StdVideoH265LongTermRefPicsSps) {
372 .used_by_curr_pic_lt_sps_flag =
sps->used_by_curr_pic_lt,
375 for (
int i = 0;
i <
sps->num_long_term_ref_pics_sps;
i++) {
376 ltr->lt_ref_pic_poc_lsb_sps[
i] =
sps->lt_ref_pic_poc_lsb_sps[
i];
379 *vksps = (StdVideoH265SequenceParameterSet) {
380 .flags = (StdVideoH265SpsFlags) {
381 .sps_temporal_id_nesting_flag =
sps->temporal_id_nesting,
382 .separate_colour_plane_flag =
sps->separate_colour_plane,
383 .conformance_window_flag =
sps->conformance_window,
384 .sps_sub_layer_ordering_info_present_flag =
sps->sublayer_ordering_info,
385 .scaling_list_enabled_flag =
sps->scaling_list_enabled,
386 .sps_scaling_list_data_present_flag =
sps->scaling_list_enabled,
387 .amp_enabled_flag =
sps->amp_enabled,
388 .sample_adaptive_offset_enabled_flag =
sps->sao_enabled,
389 .pcm_enabled_flag =
sps->pcm_enabled,
390 .pcm_loop_filter_disabled_flag =
sps->pcm_loop_filter_disabled,
391 .long_term_ref_pics_present_flag =
sps->long_term_ref_pics_present,
392 .sps_temporal_mvp_enabled_flag =
sps->temporal_mvp_enabled,
393 .strong_intra_smoothing_enabled_flag =
sps->strong_intra_smoothing_enabled,
394 .vui_parameters_present_flag =
sps->vui_present,
395 .sps_extension_present_flag =
sps->extension_present,
396 .sps_range_extension_flag =
sps->range_extension,
397 .transform_skip_rotation_enabled_flag =
sps->transform_skip_rotation_enabled,
398 .transform_skip_context_enabled_flag =
sps->transform_skip_context_enabled,
399 .implicit_rdpcm_enabled_flag =
sps->implicit_rdpcm_enabled,
400 .explicit_rdpcm_enabled_flag =
sps->explicit_rdpcm_enabled,
401 .extended_precision_processing_flag =
sps->extended_precision_processing,
402 .intra_smoothing_disabled_flag =
sps->intra_smoothing_disabled,
403 .high_precision_offsets_enabled_flag =
sps->high_precision_offsets_enabled,
404 .persistent_rice_adaptation_enabled_flag =
sps->persistent_rice_adaptation_enabled,
405 .cabac_bypass_alignment_enabled_flag =
sps->cabac_bypass_alignment_enabled,
406 .sps_scc_extension_flag =
sps->scc_extension,
407 .sps_curr_pic_ref_enabled_flag =
sps->curr_pic_ref_enabled,
408 .palette_mode_enabled_flag =
sps->palette_mode_enabled,
409 .sps_palette_predictor_initializers_present_flag =
sps->palette_predictor_initializers_present,
410 .intra_boundary_filtering_disabled_flag =
sps->intra_boundary_filtering_disabled,
412 .chroma_format_idc =
sps->chroma_format_idc,
413 .pic_width_in_luma_samples =
sps->width,
414 .pic_height_in_luma_samples =
sps->height,
415 .sps_video_parameter_set_id =
sps->vps_id,
416 .sps_max_sub_layers_minus1 =
sps->max_sub_layers - 1,
417 .sps_seq_parameter_set_id = sps_idx,
418 .bit_depth_luma_minus8 =
sps->bit_depth - 8,
419 .bit_depth_chroma_minus8 =
sps->bit_depth_chroma - 8,
420 .log2_max_pic_order_cnt_lsb_minus4 =
sps->log2_max_poc_lsb - 4,
421 .log2_min_luma_coding_block_size_minus3 =
sps->log2_min_cb_size - 3,
422 .log2_diff_max_min_luma_coding_block_size =
sps->log2_diff_max_min_coding_block_size,
423 .log2_min_luma_transform_block_size_minus2 =
sps->log2_min_tb_size - 2,
424 .log2_diff_max_min_luma_transform_block_size =
sps->log2_diff_max_min_transform_block_size,
425 .max_transform_hierarchy_depth_inter =
sps->max_transform_hierarchy_depth_inter,
426 .max_transform_hierarchy_depth_intra =
sps->max_transform_hierarchy_depth_intra,
427 .num_short_term_ref_pic_sets =
sps->nb_st_rps,
428 .num_long_term_ref_pics_sps =
sps->num_long_term_ref_pics_sps,
429 .pcm_sample_bit_depth_luma_minus1 =
sps->pcm.bit_depth - 1,
430 .pcm_sample_bit_depth_chroma_minus1 =
sps->pcm.bit_depth_chroma - 1,
431 .log2_min_pcm_luma_coding_block_size_minus3 =
sps->pcm.log2_min_pcm_cb_size - 3,
432 .log2_diff_max_min_pcm_luma_coding_block_size =
sps->pcm.log2_max_pcm_cb_size -
sps->pcm.log2_min_pcm_cb_size,
435 .palette_max_size =
sps->palette_max_size,
436 .delta_palette_max_predictor_size =
sps->delta_palette_max_predictor_size,
437 .motion_vector_resolution_control_idc =
sps->motion_vector_resolution_control_idc,
438 .sps_num_palette_predictor_initializers_minus1 =
sps->sps_num_palette_predictor_initializers - 1,
439 .conf_win_left_offset =
sps->pic_conf_win.left_offset,
440 .conf_win_right_offset =
sps->pic_conf_win.right_offset,
441 .conf_win_top_offset =
sps->pic_conf_win.top_offset,
442 .conf_win_bottom_offset =
sps->pic_conf_win.bottom_offset,
443 .pProfileTierLevel =
ptl,
444 .pDecPicBufMgr = dpbm,
445 .pScalingLists = vksps_scaling,
446 .pShortTermRefPicSet = str,
447 .pLongTermRefPicsSps = ltr,
448 .pSequenceParameterSetVui = vksps_vui,
449 .pPredictorPaletteEntries = pal,
454 StdVideoH265ScalingLists *vkpps_scaling,
455 StdVideoH265PictureParameterSet *vkpps,
456 StdVideoH265PredictorPaletteEntries *pal)
460 *vkpps = (StdVideoH265PictureParameterSet) {
461 .flags = (StdVideoH265PpsFlags) {
462 .dependent_slice_segments_enabled_flag =
pps->dependent_slice_segments_enabled_flag,
463 .output_flag_present_flag =
pps->output_flag_present_flag,
464 .sign_data_hiding_enabled_flag =
pps->sign_data_hiding_flag,
465 .cabac_init_present_flag =
pps->cabac_init_present_flag,
466 .constrained_intra_pred_flag =
pps->constrained_intra_pred_flag,
467 .transform_skip_enabled_flag =
pps->transform_skip_enabled_flag,
468 .cu_qp_delta_enabled_flag =
pps->cu_qp_delta_enabled_flag,
469 .pps_slice_chroma_qp_offsets_present_flag =
pps->pic_slice_level_chroma_qp_offsets_present_flag,
470 .weighted_pred_flag =
pps->weighted_pred_flag,
471 .weighted_bipred_flag =
pps->weighted_bipred_flag,
472 .transquant_bypass_enabled_flag =
pps->transquant_bypass_enable_flag,
473 .tiles_enabled_flag =
pps->tiles_enabled_flag,
474 .entropy_coding_sync_enabled_flag =
pps->entropy_coding_sync_enabled_flag,
475 .uniform_spacing_flag =
pps->uniform_spacing_flag,
476 .loop_filter_across_tiles_enabled_flag =
pps->loop_filter_across_tiles_enabled_flag,
477 .pps_loop_filter_across_slices_enabled_flag =
pps->seq_loop_filter_across_slices_enabled_flag,
478 .deblocking_filter_control_present_flag =
pps->deblocking_filter_control_present_flag,
479 .deblocking_filter_override_enabled_flag =
pps->deblocking_filter_override_enabled_flag,
480 .pps_deblocking_filter_disabled_flag =
pps->disable_dbf,
481 .pps_scaling_list_data_present_flag =
pps->scaling_list_data_present_flag,
482 .lists_modification_present_flag =
pps->lists_modification_present_flag,
483 .slice_segment_header_extension_present_flag =
pps->slice_header_extension_present_flag,
484 .pps_extension_present_flag =
pps->pps_extension_present_flag,
485 .cross_component_prediction_enabled_flag =
pps->cross_component_prediction_enabled_flag,
486 .chroma_qp_offset_list_enabled_flag =
pps->chroma_qp_offset_list_enabled_flag,
487 .pps_curr_pic_ref_enabled_flag =
pps->pps_curr_pic_ref_enabled_flag,
488 .residual_adaptive_colour_transform_enabled_flag =
pps->residual_adaptive_colour_transform_enabled_flag,
489 .pps_slice_act_qp_offsets_present_flag =
pps->pps_slice_act_qp_offsets_present_flag,
490 .pps_palette_predictor_initializers_present_flag =
pps->pps_palette_predictor_initializers_present_flag,
491 .monochrome_palette_flag =
pps->monochrome_palette_flag,
492 .pps_range_extension_flag =
pps->pps_range_extensions_flag,
494 .pps_pic_parameter_set_id =
pps->pps_id,
495 .pps_seq_parameter_set_id =
pps->sps_id,
496 .sps_video_parameter_set_id =
sps->vps_id,
497 .num_extra_slice_header_bits =
pps->num_extra_slice_header_bits,
498 .num_ref_idx_l0_default_active_minus1 =
pps->num_ref_idx_l0_default_active - 1,
499 .num_ref_idx_l1_default_active_minus1 =
pps->num_ref_idx_l1_default_active - 1,
500 .init_qp_minus26 =
pps->pic_init_qp_minus26,
501 .diff_cu_qp_delta_depth =
pps->diff_cu_qp_delta_depth,
502 .pps_cb_qp_offset =
pps->cb_qp_offset,
503 .pps_cr_qp_offset =
pps->cr_qp_offset,
504 .pps_beta_offset_div2 =
pps->beta_offset >> 1,
505 .pps_tc_offset_div2 =
pps->tc_offset >> 1,
506 .log2_parallel_merge_level_minus2 =
pps->log2_parallel_merge_level - 2,
507 .log2_max_transform_skip_block_size_minus2 =
pps->log2_max_transform_skip_block_size - 2,
508 .diff_cu_chroma_qp_offset_depth =
pps->diff_cu_chroma_qp_offset_depth,
509 .chroma_qp_offset_list_len_minus1 =
pps->chroma_qp_offset_list_len_minus1,
510 .log2_sao_offset_scale_luma =
pps->log2_sao_offset_scale_luma,
511 .log2_sao_offset_scale_chroma =
pps->log2_sao_offset_scale_chroma,
512 .pps_act_y_qp_offset_plus5 =
pps->pps_act_y_qp_offset + 5,
513 .pps_act_cb_qp_offset_plus5 =
pps->pps_act_cb_qp_offset + 5,
514 .pps_act_cr_qp_offset_plus3 =
pps->pps_act_cr_qp_offset + 3,
515 .pps_num_palette_predictor_initializers =
pps->pps_num_palette_predictor_initializers,
516 .luma_bit_depth_entry_minus8 =
pps->luma_bit_depth_entry - 8,
517 .chroma_bit_depth_entry_minus8 =
pps->chroma_bit_depth_entry - 8,
518 .num_tile_columns_minus1 =
pps->num_tile_columns - 1,
519 .num_tile_rows_minus1 =
pps->num_tile_rows - 1,
520 .pScalingLists = vkpps_scaling,
521 .pPredictorPaletteEntries = pal,
524 for (
int i = 0;
i < (
pps->monochrome_palette_flag ? 1 : 3);
i++) {
525 for (
int j = 0; j <
pps->pps_num_palette_predictor_initializers; j++)
526 pal->PredictorPaletteEntries[
i][j] =
pps->pps_palette_predictor_initializer[
i][j];
529 for (
int i = 0;
i <
pps->num_tile_columns - 1;
i++)
530 vkpps->column_width_minus1[
i] =
pps->column_width[
i] - 1;
532 for (
int i = 0;
i <
pps->num_tile_rows - 1;
i++)
533 vkpps->row_height_minus1[
i] =
pps->row_height[
i] - 1;
535 for (
int i = 0;
i <=
pps->chroma_qp_offset_list_len_minus1;
i++) {
536 vkpps->cb_qp_offset_list[
i] =
pps->cb_qp_offset_list[
i];
537 vkpps->cr_qp_offset_list[
i] =
pps->cr_qp_offset_list[
i];
542 StdVideoH265VideoParameterSet *vkvps,
543 StdVideoH265ProfileTierLevel *
ptl,
544 StdVideoH265DecPicBufMgr *dpbm,
545 StdVideoH265HrdParameters *sls_hdr,
548 for (
int i = 0;
i <
vps->vps_num_hrd_parameters;
i++) {
551 sls_hdr[
i] = (StdVideoH265HrdParameters) {
552 .flags = (StdVideoH265HrdFlags) {
553 .nal_hrd_parameters_present_flag =
src->nal_hrd_parameters_present_flag,
554 .vcl_hrd_parameters_present_flag =
src->vcl_hrd_parameters_present_flag,
555 .sub_pic_hrd_params_present_flag =
src->sub_pic_hrd_params_present_flag,
556 .sub_pic_cpb_params_in_pic_timing_sei_flag =
src->sub_pic_cpb_params_in_pic_timing_sei_flag,
557 .fixed_pic_rate_general_flag =
src->flags.fixed_pic_rate_general_flag,
558 .fixed_pic_rate_within_cvs_flag =
src->flags.fixed_pic_rate_within_cvs_flag,
559 .low_delay_hrd_flag =
src->flags.low_delay_hrd_flag,
561 .tick_divisor_minus2 =
src->tick_divisor_minus2,
562 .du_cpb_removal_delay_increment_length_minus1 =
src->du_cpb_removal_delay_increment_length_minus1,
563 .dpb_output_delay_du_length_minus1 =
src->dpb_output_delay_du_length_minus1,
564 .bit_rate_scale =
src->bit_rate_scale,
565 .cpb_size_scale =
src->cpb_size_scale,
566 .cpb_size_du_scale =
src->cpb_size_du_scale,
567 .initial_cpb_removal_delay_length_minus1 =
src->initial_cpb_removal_delay_length_minus1,
568 .au_cpb_removal_delay_length_minus1 =
src->au_cpb_removal_delay_length_minus1,
569 .dpb_output_delay_length_minus1 =
src->dpb_output_delay_length_minus1,
571 .pSubLayerHrdParametersNal = sls[
i].
nal_hdr,
572 .pSubLayerHrdParametersVcl = sls[
i].
vcl_hdr,
575 memcpy(sls_hdr[
i].cpb_cnt_minus1,
src->cpb_cnt_minus1,
576 STD_VIDEO_H265_SUBLAYERS_LIST_SIZE*
sizeof(*sls_hdr[
i].cpb_cnt_minus1));
577 memcpy(sls_hdr[
i].elemental_duration_in_tc_minus1,
src->elemental_duration_in_tc_minus1,
578 STD_VIDEO_H265_SUBLAYERS_LIST_SIZE*
sizeof(*sls_hdr[
i].elemental_duration_in_tc_minus1));
584 *
ptl = (StdVideoH265ProfileTierLevel) {
585 .flags = (StdVideoH265ProfileTierLevelFlags) {
586 .general_tier_flag =
vps->ptl.general_ptl.tier_flag,
587 .general_progressive_source_flag =
vps->ptl.general_ptl.progressive_source_flag,
588 .general_interlaced_source_flag =
vps->ptl.general_ptl.interlaced_source_flag,
589 .general_non_packed_constraint_flag =
vps->ptl.general_ptl.non_packed_constraint_flag,
590 .general_frame_only_constraint_flag =
vps->ptl.general_ptl.frame_only_constraint_flag,
596 for (
int i = 0;
i <
vps->vps_max_sub_layers;
i++) {
597 dpbm->max_latency_increase_plus1[
i] =
vps->vps_max_latency_increase[
i] + 1;
598 dpbm->max_dec_pic_buffering_minus1[
i] =
vps->vps_max_dec_pic_buffering[
i] - 1;
599 dpbm->max_num_reorder_pics[
i] =
vps->vps_num_reorder_pics[
i];
602 *vkvps = (StdVideoH265VideoParameterSet) {
603 .flags = (StdVideoH265VpsFlags) {
604 .vps_temporal_id_nesting_flag =
vps->vps_temporal_id_nesting_flag,
605 .vps_sub_layer_ordering_info_present_flag =
vps->vps_sub_layer_ordering_info_present_flag,
606 .vps_timing_info_present_flag =
vps->vps_timing_info_present_flag,
607 .vps_poc_proportional_to_timing_flag =
vps->vps_poc_proportional_to_timing_flag,
609 .vps_video_parameter_set_id =
vps->vps_id,
610 .vps_max_sub_layers_minus1 =
vps->vps_max_sub_layers - 1,
613 .vps_num_units_in_tick =
vps->vps_num_units_in_tick,
614 .vps_time_scale =
vps->vps_time_scale,
615 .vps_num_ticks_poc_diff_one_minus1 =
vps->vps_num_ticks_poc_diff_one - 1,
617 .pDecPicBufMgr = dpbm,
618 .pHrdParameters = sls_hdr,
619 .pProfileTierLevel =
ptl,