uvgVPCCenc 1.2.0
uvgVPCCenc is an open-source real-time V-PCC encoder library written in C++ from scratch.
Loading...
Searching...
No Matches
atlas.hpp
Go to the documentation of this file.
1/*****************************************************************************
2 * This file is part of uvgVPCCenc V-PCC encoder.
3 *
4 * Copyright (c) 2024-present, Tampere University, ITU/ISO/IEC, project contributors
5 * All rights reserved.
6 ****************************************************************************/
7
8#pragma once
9
10#include <cstddef>
11#include <cstdint>
12#include <memory>
13#include <vector>
14
15#include "const_defs.h"
16
17namespace uvgv3cbitstream {
18
20 uint8_t num_ref_entries = 0;
21 std::vector<bool> st_ref_atlas_frame_flag = {};
22 std::vector<uint8_t> abs_delta_afoc_st = {};
23 std::vector<bool> straf_entry_sign_flag = {};
24 std::vector<uint8_t> afoc_lsb_lt = {};
25};
26
48
49struct plr_data {};
71
81
83 std::vector<patch_information_data> patch_information_data_;
84};
85
90
111
126
129 uint16_t asps_frame_width = 0;
130 uint16_t asps_frame_height = 0;
137 std::vector<ref_list_struct> ref_lists;
161};
162
166 std::vector<atlas_tile_layer_rbsp> atlas_data_;
167 size_t gof_id_ = 0;
168 size_t atlas_sub_size_ = 0;
169 std::vector<size_t> ad_nal_sizes_ = {};
171};
172
173} // namespace uvgv3cbitstream
Definition atlas.hpp:17
ATH
Definition const_defs.h:30
@ I_TILE
Definition const_defs.h:32
Definition atlas.hpp:163
size_t gof_id_
Definition atlas.hpp:167
atlas_frame_parameter_set afps_
Definition atlas.hpp:165
std::vector< size_t > ad_nal_sizes_
Definition atlas.hpp:169
size_t ad_nal_precision_
Definition atlas.hpp:170
std::vector< atlas_tile_layer_rbsp > atlas_data_
Definition atlas.hpp:166
atlas_sequence_parameter_set asps_
Definition atlas.hpp:164
size_t atlas_sub_size_
Definition atlas.hpp:168
bool afps_lod_mode_enabled_flag
Definition atlas.hpp:119
uint8_t afps_additional_lt_afoc_lsb_len
Definition atlas.hpp:118
bool afps_extension_data_flag
Definition atlas.hpp:124
bool afps_extension_present_flag
Definition atlas.hpp:121
uint8_t afps_atlas_frame_parameter_set_id
Definition atlas.hpp:113
bool afps_miv_extension_present_flag
Definition atlas.hpp:122
uint8_t afps_extension_7bits
Definition atlas.hpp:123
bool afps_output_flag_present_flag
Definition atlas.hpp:116
uint8_t afps_atlas_sequence_parameter_set_id
Definition atlas.hpp:114
atlas_frame_tile_information afti
Definition atlas.hpp:115
bool afps_raw_3d_offset_bit_count_explicit_mode_flag
Definition atlas.hpp:120
uint8_t afps_num_ref_idx_default_active_minus1
Definition atlas.hpp:117
std::vector< uint32_t > afti_auxiliary_video_tile_row_height
Definition atlas.hpp:106
std::vector< uint32_t > afti_partition_column_width_minus1
Definition atlas.hpp:98
std::vector< uint32_t > afti_partition_row_height_minus1
Definition atlas.hpp:99
uint32_t afti_partition_rows_height_minus1
Definition atlas.hpp:95
uint32_t afti_signalled_tile_id_length_minus1
Definition atlas.hpp:108
std::vector< uint32_t > afti_bottom_right_partition_column_offset
Definition atlas.hpp:103
std::vector< uint32_t > afti_tile_id
Definition atlas.hpp:109
uint32_t afti_partition_cols_width_minus1
Definition atlas.hpp:94
bool afti_single_partition_per_tile_flag
Definition atlas.hpp:100
bool afti_signalled_tile_id_flag
Definition atlas.hpp:107
std::vector< uint32_t > afti_top_left_partition_idx
Definition atlas.hpp:102
uint32_t afti_num_tiles_in_atlas_frame_minus1
Definition atlas.hpp:101
uint32_t afti_num_partition_rows_minus1
Definition atlas.hpp:97
bool afti_uniform_partition_spacing_flag
Definition atlas.hpp:93
std::vector< uint32_t > afti_bottom_right_partition_row_offset
Definition atlas.hpp:104
uint32_t afti_num_partition_columns_minus1
Definition atlas.hpp:96
bool afti_single_tile_in_atlas_frame_flag
Definition atlas.hpp:92
uint32_t afti_auxiliary_video_tile_row_width_minus1
Definition atlas.hpp:105
bool asps_miv_extension_present_flag
Definition atlas.hpp:157
bool asps_vui_parameters_present_flag
Definition atlas.hpp:154
bool asps_extension_present_flag
Definition atlas.hpp:155
uint8_t asps_geometry_2d_bit_depth_minus1
Definition atlas.hpp:132
uint8_t asps_map_count_minus1
Definition atlas.hpp:146
uint8_t asps_log2_max_atlas_frame_order_cnt_lsb_minus4
Definition atlas.hpp:133
bool asps_long_term_ref_atlas_frames_flag
Definition atlas.hpp:135
bool asps_vpcc_extension_present_flag
Definition atlas.hpp:156
bool asps_patch_size_quantizer_present_flag
Definition atlas.hpp:145
uint8_t asps_atlas_sequence_parameter_set_id
Definition atlas.hpp:128
bool asps_patch_precedence_order_flag
Definition atlas.hpp:143
uint8_t asps_extension_6bits
Definition atlas.hpp:158
bool asps_eom_patch_enabled_flag
Definition atlas.hpp:150
bool asps_plr_enabled_flag
Definition atlas.hpp:153
uint16_t asps_frame_width
Definition atlas.hpp:129
bool asps_auxiliary_video_enabled_flag
Definition atlas.hpp:152
uint8_t asps_eom_fix_bit_count_minus1
Definition atlas.hpp:151
uint8_t asps_geometry_3d_bit_depth_minus1
Definition atlas.hpp:131
size_t asps_max_number_projections_minus1
Definition atlas.hpp:140
std::vector< ref_list_struct > ref_lists
Definition atlas.hpp:137
bool asps_vpcc_remove_duplicate_point_enabled_flag
Definition atlas.hpp:159
bool asps_extended_projection_enabled_flag
Definition atlas.hpp:139
uint8_t asps_log2_patch_packing_block_size
Definition atlas.hpp:144
bool asps_raw_patch_enabled_flag
Definition atlas.hpp:149
bool asps_use_eight_orientations_flag
Definition atlas.hpp:138
uint8_t asps_num_ref_atlas_frame_lists_in_asps
Definition atlas.hpp:136
uint8_t asps_max_dec_atlas_frame_buffering_minus1
Definition atlas.hpp:134
uint16_t asps_frame_height
Definition atlas.hpp:130
bool asps_pixel_deinterleaving_enabled_flag
Definition atlas.hpp:147
uint16_t asps_vpcc_surface_thickness_minus1
Definition atlas.hpp:160
bool asps_normal_axis_limits_quantization_enabled_flag
Definition atlas.hpp:141
bool asps_normal_axis_max_delta_value_enabled_flag
Definition atlas.hpp:142
std::vector< bool > asps_map_pixel_deinterleaving_flag
Definition atlas.hpp:148
std::vector< patch_information_data > patch_information_data_
Definition atlas.hpp:83
Definition atlas.hpp:27
bool ath_ref_atlas_frame_list_asps_flag
Definition atlas.hpp:35
uint8_t ath_num_ref_idx_active_minus1
Definition atlas.hpp:46
std::vector< uint8_t > ath_additional_afoc_lsb_val
Definition atlas.hpp:39
bool ath_no_output_of_prior_atlas_frames_flag
Definition atlas.hpp:28
std::vector< bool > ath_additional_afoc_lsb_present_flag
Definition atlas.hpp:38
uint8_t ath_raw_3d_offset_axis_bit_count_minus1
Definition atlas.hpp:44
ATH ath_type
Definition atlas.hpp:32
uint16_t ath_id
Definition atlas.hpp:31
uint16_t ath_atlas_frame_parameter_set_id
Definition atlas.hpp:29
uint8_t ath_pos_delta_max_d_quantizer
Definition atlas.hpp:41
uint8_t ath_pos_min_d_quantizer
Definition atlas.hpp:40
uint8_t ath_ref_atlas_frame_list_idx
Definition atlas.hpp:37
bool ath_num_ref_idx_active_override_flag
Definition atlas.hpp:45
size_t ath_atlas_frm_order_cnt_lsb
Definition atlas.hpp:34
uint8_t ath_patch_size_y_info_quantizer
Definition atlas.hpp:43
bool ath_atlas_output_flag
Definition atlas.hpp:33
uint8_t ath_patch_size_x_info_quantizer
Definition atlas.hpp:42
ref_list_struct refs
Definition atlas.hpp:36
uint16_t ath_atlas_adaptation_parameter_set_id
Definition atlas.hpp:30
atlas_tile_header ath_
Definition atlas.hpp:87
atlas_tile_data_unit atdu_
Definition atlas.hpp:88
Definition atlas.hpp:50
uint64_t pdu_2d_size_x_minus1
Definition atlas.hpp:53
plr_data plr_data_
Definition atlas.hpp:64
uint64_t pdu_2d_size_y_minus1
Definition atlas.hpp:54
size_t pdu_3d_offset_u
Definition atlas.hpp:55
bool pdu_lod_enabled_flag
Definition atlas.hpp:61
size_t pdu_3d_offset_d
Definition atlas.hpp:57
size_t pdu_2d_pos_x
Definition atlas.hpp:51
uint8_t pdu_lod_scale_y_idc
Definition atlas.hpp:63
size_t pdu_3d_offset_v
Definition atlas.hpp:56
size_t pdu_2d_pos_y
Definition atlas.hpp:52
uint8_t pdu_lod_scale_x_minus1
Definition atlas.hpp:62
size_t pdu_orientation_index
Definition atlas.hpp:60
size_t pdu_projection_id
Definition atlas.hpp:59
size_t pdu_3d_range_d
Definition atlas.hpp:58
raw_patch_data_unit raw_patch_data_unit_
Definition atlas.hpp:78
uint8_t patchMode
Definition atlas.hpp:73
inter_patch_data_unit inter_patch_data_unit_
Definition atlas.hpp:75
patch_data_unit patch_data_unit_
Definition atlas.hpp:74
skip_patch_data_unit skip_patch_data_unit_
Definition atlas.hpp:77
eom_patch_data_unit eom_patch_data_unit_
Definition atlas.hpp:79
merge_patch_data_unit merge_patch_data_unit_
Definition atlas.hpp:76
Definition atlas.hpp:49
Definition atlas.hpp:19
std::vector< uint8_t > afoc_lsb_lt
Definition atlas.hpp:24
std::vector< bool > st_ref_atlas_frame_flag
Definition atlas.hpp:21
std::vector< bool > straf_entry_sign_flag
Definition atlas.hpp:23
uint8_t num_ref_entries
Definition atlas.hpp:20
std::vector< uint8_t > abs_delta_afoc_st
Definition atlas.hpp:22