uvgVPCCenc 1.2.0
uvgVPCCenc is an open-source real-time V-PCC encoder library written in C++ from scratch.
Loading...
Searching...
No Matches
vps.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
19
20
36
51
58
66
68 uint8_t ai_attribute_count = 0;
69 std::vector<uint8_t> ai_attribute_type_id = {};
70 std::vector<uint8_t> ai_attribute_codec_id = {};
71 std::vector<uint8_t> ai_auxiliary_attribute_codec_id = {};
73 std::vector<uint8_t> ai_attribute_dimension_minus1 = {};
75 std::vector<std::vector<uint16_t>> ai_attribute_partition_channels_minus1{};
76 std::vector<uint8_t> ai_attribute_2d_bit_depth_minus1 = {};
77 std::vector<bool> ai_attribute_MSB_align_flag = {};
78};
79
80struct Vps {
81 size_t gofId = 0;
83 uint8_t codec_group_ = 0;
87 std::vector<uint8_t> vps_atlas_id_;
88 std::vector<size_t> vps_frame_width_;
89 std::vector<size_t> vps_frame_height_;
90 std::vector<uint8_t> vps_map_count_minus1_;
92 std::vector<std::vector<bool>> vps_map_absolute_coding_enabled_flag_;
93 std::vector<std::vector<uint16_t>> vps_map_predictor_index_diff_;
98 std::vector<occupancy_information> occupancy_info_;
99 std::vector<geometry_information> geometry_info_;
100 std::vector<attribute_information> attribute_info_;
107};
108
109} // namespace uvgv3cbitstream
Definition atlas.hpp:17
Definition vps.hpp:80
std::vector< uint8_t > vps_map_count_minus1_
Definition vps.hpp:90
std::vector< bool > vps_geometry_video_present_flag_
Definition vps.hpp:96
std::vector< attribute_information > attribute_info_
Definition vps.hpp:100
bool vps_miv_extension_present_flag_
Definition vps.hpp:103
uint8_t vps_atlas_count_minus1_
Definition vps.hpp:86
uint8_t vps_v3c_parameter_set_id_
Definition vps.hpp:85
uint8_t codec_group_
Definition vps.hpp:83
bool vps_extension_present_flag_
Definition vps.hpp:101
uint8_t vps_extension_6bits_
Definition vps.hpp:104
std::vector< bool > vps_multiple_map_streams_present_flag_
Definition vps.hpp:91
std::vector< std::vector< uint16_t > > vps_map_predictor_index_diff_
Definition vps.hpp:93
std::vector< size_t > vps_frame_height_
Definition vps.hpp:89
size_t vps_length_bytes_
Definition vps.hpp:82
std::vector< size_t > vps_frame_width_
Definition vps.hpp:88
profile_tier_level ptl_
Definition vps.hpp:84
uint8_t vps_extension_data_byte_
Definition vps.hpp:106
size_t vps_extension_length_minus1_
Definition vps.hpp:105
std::vector< uint8_t > vps_atlas_id_
Definition vps.hpp:87
bool vps_packing_information_present_flag_
Definition vps.hpp:102
std::vector< std::vector< bool > > vps_map_absolute_coding_enabled_flag_
Definition vps.hpp:92
std::vector< bool > vps_auxiliary_video_present_flag_
Definition vps.hpp:94
std::vector< bool > vps_attribute_video_present_flag_
Definition vps.hpp:97
std::vector< bool > vps_occupancy_video_present_flag_
Definition vps.hpp:95
std::vector< occupancy_information > occupancy_info_
Definition vps.hpp:98
std::vector< geometry_information > geometry_info_
Definition vps.hpp:99
size_t gofId
Definition vps.hpp:81
std::vector< uint8_t > ai_auxiliary_attribute_codec_id
Definition vps.hpp:71
std::vector< uint8_t > ai_attribute_codec_id
Definition vps.hpp:70
std::vector< uint8_t > ai_attribute_2d_bit_depth_minus1
Definition vps.hpp:76
std::vector< bool > ai_attribute_MSB_align_flag
Definition vps.hpp:77
std::vector< uint8_t > ai_attribute_dimension_minus1
Definition vps.hpp:73
uint8_t ai_attribute_count
Definition vps.hpp:68
std::vector< std::vector< uint16_t > > ai_attribute_partition_channels_minus1
Definition vps.hpp:75
std::vector< uint8_t > ai_attribute_dimension_partitions_minus1
Definition vps.hpp:74
std::vector< bool > ai_attribute_map_absolute_coding_persistence_flag
Definition vps.hpp:72
std::vector< uint8_t > ai_attribute_type_id
Definition vps.hpp:69
uint8_t gi_geometry_codec_id
Definition vps.hpp:60
uint8_t gi_geometry_2d_bit_depth_minus1
Definition vps.hpp:61
bool gi_geometry_MSB_align_flag
Definition vps.hpp:62
uint8_t gi_geometry_3d_coordinates_bit_depth_minus1
Definition vps.hpp:63
uint8_t gi_auxiliary_geometry_codec_id
Definition vps.hpp:64
uint8_t oi_lossy_occupancy_compression_threshold
Definition vps.hpp:53
uint8_t oi_occupancy_codec_id
Definition vps.hpp:56
uint8_t oi_occupancy_2d_bit_depth_minus1
Definition vps.hpp:54
bool oi_occupancy_MSB_align_flag
Definition vps.hpp:55
std::vector< uint32_t > ptl_sub_profile_idc_32
Definition vps.hpp:46
bool ptl_toolset_constraints_present_flag
Definition vps.hpp:48
uint8_t ptl_profile_reconstruction_idc
Definition vps.hpp:41
profile_toolset_constraints_information ptc
Definition vps.hpp:49
uint8_t ptl_num_sub_profiles
Definition vps.hpp:44
std::vector< uint64_t > ptl_sub_profile_idc_64
Definition vps.hpp:47
bool ptl_tier_flag
Definition vps.hpp:38
uint8_t ptl_profile_codec_group_idc
Definition vps.hpp:39
uint8_t ptl_profile_toolset_idc
Definition vps.hpp:40
uint8_t ptl_level_idc
Definition vps.hpp:43
bool ptl_extended_sub_profile_flag
Definition vps.hpp:45
uint8_t ptl_max_decodes_idc
Definition vps.hpp:42
bool ptc_no_45degree_projection_patch_constraint_flag
Definition vps.hpp:31
uint8_t ptc_attribute_max_dimension_partitions_minus1
Definition vps.hpp:29
bool ptc_no_eight_orientations_constraint_flag
Definition vps.hpp:30
uint8_t ptc_num_reserved_constraint_bytes
Definition vps.hpp:33
std::vector< uint8_t > ptc_reserved_constraint_byte
Definition vps.hpp:34
uint8_t ptc_attribute_max_dimension_minus1
Definition vps.hpp:28
bool ptc_multiple_map_streams_constraint_flag
Definition vps.hpp:26