8void H265ProfileTierLevel::print()
11 printf(
"ProfileTierLevel\n");
12 printf(
"profilePresentFlag %u\n", profilePresentFlag);
13 printf(
"maxNumSubLayersMinus1 %u\n", maxNumSubLayersMinus1);
15 if(profilePresentFlag){
16 printf(
"general_profile_space %u\n", general_profile_space);
17 printf(
"general_tier_flag %u\n", general_tier_flag);
18 printf(
"general_profile_idc %u\n", general_profile_idc);
20 printf(
"general_profile_compatibility_flags 0x%x\n", general_profile_compatibility_flags);
22 printf(
"general_progressive_source_flag %u\n", general_progressive_source_flag);
23 printf(
"general_interlaced_source_glag %u\n", general_interlaced_source_glag);
24 printf(
"general_non_packed_constraint_flag %u\n", general_non_packed_constraint_flag);
25 printf(
"general_frame_only_constraint_flag %u\n", general_frame_only_constraint_flag);
27 if(general_profile_idc == 4 || general_profile_compatibility_flags&(0x80000000>>4) ||
28 general_profile_idc == 5 || general_profile_compatibility_flags&(0x80000000>>5) ||
29 general_profile_idc == 6 || general_profile_compatibility_flags&(0x80000000>>6) ||
30 general_profile_idc == 7 || general_profile_compatibility_flags&(0x80000000>>7) ||
31 general_profile_idc == 8 || general_profile_compatibility_flags&(0x80000000>>8) ||
32 general_profile_idc == 9 || general_profile_compatibility_flags&(0x80000000>>9) ||
33 general_profile_idc == 10 || general_profile_compatibility_flags&(0x80000000>>10) ||
34 general_profile_idc == 11 || general_profile_compatibility_flags&(0x80000000>>11)){
35 printf(
"general_max_12bit_constraint_flag %u\n", general_max_12bit_constraint_flag);
36 printf(
"general_max_10bit_constraint_flag %u\n", general_max_10bit_constraint_flag);
37 printf(
"general_max_8bit_constraint_flag %u\n", general_max_8bit_constraint_flag);
38 printf(
"general_max_422chroma_constraint_flag %u\n", general_max_422chroma_constraint_flag);
39 printf(
"general_max_420chroma_constraint_flag %u\n", general_max_420chroma_constraint_flag);
40 printf(
"general_max_monochrome_constraint_flag %u\n", general_max_monochrome_constraint_flag);
41 printf(
"general_intra_constraint_flag %u\n", general_intra_constraint_flag);
42 printf(
"general_on_picture_only_constraint_flag %u\n", general_on_picture_only_constraint_flag);
43 printf(
"general_lower_bit_rate_constraint_flag %u\n", general_lower_bit_rate_constraint_flag);
44 if(general_profile_idc == 5 || general_profile_compatibility_flags&(0x80000000>>5) ||
45 general_profile_idc == 9 || general_profile_compatibility_flags&(0x80000000>>9) ||
46 general_profile_idc == 10 || general_profile_compatibility_flags&(0x80000000>>10) ||
47 general_profile_idc == 11 || general_profile_compatibility_flags&(0x80000000>>11)){
48 printf(
"general_max_14bit_constraint_flag %u\n", general_max_14bit_constraint_flag);
51 else if(general_profile_idc == 2 || general_profile_compatibility_flags&(0x80000000>>2)){
52 printf(
"general_one_picture_only_constraint_flag %u\n", general_one_picture_only_constraint_flag);
54 if(general_profile_idc == 1 || general_profile_compatibility_flags&(0x80000000>>1) ||
55 general_profile_idc == 2 || general_profile_compatibility_flags&(0x80000000>>2) ||
56 general_profile_idc == 3 || general_profile_compatibility_flags&(0x80000000>>3) ||
57 general_profile_idc == 4 || general_profile_compatibility_flags&(0x80000000>>4) ||
58 general_profile_idc == 5 || general_profile_compatibility_flags&(0x80000000>>5) ||
59 general_profile_idc == 9 || general_profile_compatibility_flags&(0x80000000>>9) ||
60 general_profile_idc == 11 || general_profile_compatibility_flags&(0x80000000>>11)){
61 printf(
"general_inbld_flag %u\n", general_inbld_flag);
64 printf(
"general_level_idc %u\n", general_level_idc);
66 for(uint32_t i=0; i<maxNumSubLayersMinus1; i++){
67 if(sub_layer_profile_present_flag[i]){
68 printf(
"sub_layer_profile_present_flag[%u] %u\n", i, sub_layer_profile_present_flag[i]);
69 printf(
"sub_layer_profile_space[%u] %u\n", i, sub_layer_profile_space[i]);
70 printf(
"sub_layer_tier_flag[%u] %u\n", i, sub_layer_tier_flag[i]);
71 printf(
"sub_layer_profile_idc[%u] %u\n", i, sub_layer_profile_idc[i]);
73 printf(
"sub_layer_profile_compatibility_flags[%u] %u\n", i, sub_layer_profile_compatibility_flags[i]);
75 printf(
"sub_layer_progressive_source_flag[%u] %u\n", i, sub_layer_progressive_source_flag[i]);
76 printf(
"sub_layer_interlaced_source_flag[%u] %u\n", i, sub_layer_interlaced_source_flag[i]);
77 printf(
"sub_layer_non_packed_constraint_flag[%u] %u\n", i, sub_layer_non_packed_constraint_flag[i]);
78 printf(
"sub_layer_frame_only_constraint_flag[%u] %u\n", i, sub_layer_frame_only_constraint_flag[i]);
79 if(sub_layer_profile_idc[i] == 4 || sub_layer_profile_compatibility_flags[i]&(0x80000000>>4) ||
80 sub_layer_profile_idc[i] == 5 || sub_layer_profile_compatibility_flags[i]&(0x80000000>>5) ||
81 sub_layer_profile_idc[i] == 6 || sub_layer_profile_compatibility_flags[i]&(0x80000000>>6) ||
82 sub_layer_profile_idc[i] == 7 || sub_layer_profile_compatibility_flags[i]&(0x80000000>>7) ||
83 sub_layer_profile_idc[i] == 8 || sub_layer_profile_compatibility_flags[i]&(0x80000000>>8) ||
84 sub_layer_profile_idc[i] == 9 || sub_layer_profile_compatibility_flags[i]&(0x80000000>>9) ||
85 sub_layer_profile_idc[i] == 10 || sub_layer_profile_compatibility_flags[i]&(0x80000000>>10) ||
86 sub_layer_profile_idc[i] == 11 || sub_layer_profile_compatibility_flags[i]&(0x80000000>>11)){
87 printf(
"sub_layer_max_12bit_constraint_flag[%u] %u\n", i, sub_layer_max_12bit_constraint_flag[i]);
88 printf(
"sub_layer_max_10bit_constraint_flag[%u] %u\n", i, sub_layer_max_10bit_constraint_flag[i]);
89 printf(
"sub_layer_max_8bit_constraint_flag[%u] %u\n", i, sub_layer_max_8bit_constraint_flag[i]);
90 printf(
"sub_layer_max_422chroma_constraint_flag[%u] %u\n", i, sub_layer_max_422chroma_constraint_flag[i]);
91 printf(
"sub_layer_max_420chroma_constraint_flag[%u] %u\n", i, sub_layer_max_420chroma_constraint_flag[i]);
92 printf(
"sub_layer_max_monochrome_constraint_flag[%u] %u\n", i, sub_layer_max_monochrome_constraint_flag[i]);
93 printf(
"sub_layer_intra_constraint_flag[%u] %u\n", i, sub_layer_intra_constraint_flag[i]);
94 printf(
"sub_layer_one_picture_only_constraint_flag[%u] %u\n", i, sub_layer_one_picture_only_constraint_flag[i]);
95 printf(
"sub_layer_lower_bit_rate_constraint_flag[%u] %u\n", i, sub_layer_lower_bit_rate_constraint_flag[i]);
96 if(sub_layer_profile_idc[i] == 5 || sub_layer_profile_compatibility_flags[i]&(0x80000000>>5) ||
97 sub_layer_profile_idc[i] == 9 || sub_layer_profile_compatibility_flags[i]&(0x80000000>>9) ||
98 sub_layer_profile_idc[i] == 10 || sub_layer_profile_compatibility_flags[i]&(0x80000000>>10) ||
99 sub_layer_profile_idc[i] == 11 || sub_layer_profile_compatibility_flags[i]&(0x80000000>>11)){
100 printf(
"sub_layer_max_14bit_constraint_flag[%u] %u\n", i, sub_layer_max_14bit_constraint_flag[i]);
103 else if(sub_layer_profile_idc[i] == 2 || sub_layer_profile_compatibility_flags[i]&(0x80000000>>2)){
104 printf(
"sub_layer_inbld_flag[%u] %u\n", i, sub_layer_inbld_flag[i]);
106 if(sub_layer_profile_idc[i] == 1 || sub_layer_profile_compatibility_flags[i]&(0x80000000>>1) ||
107 sub_layer_profile_idc[i] == 2 || sub_layer_profile_compatibility_flags[i]&(0x80000000>>2) ||
108 sub_layer_profile_idc[i] == 3 || sub_layer_profile_compatibility_flags[i]&(0x80000000>>3) ||
109 sub_layer_profile_idc[i] == 4 || sub_layer_profile_compatibility_flags[i]&(0x80000000>>4) ||
110 sub_layer_profile_idc[i] == 5 || sub_layer_profile_compatibility_flags[i]&(0x80000000>>5) ||
111 sub_layer_profile_idc[i] == 9 || sub_layer_profile_compatibility_flags[i]&(0x80000000>>9) ||
112 sub_layer_profile_idc[i] == 11 || sub_layer_profile_compatibility_flags[i]&(0x80000000>>11)){
113 printf(
"sub_layer_inbld_flag[%u] %u\n", i, sub_layer_inbld_flag[i]);
116 if(sub_layer_level_present_flag[i]){
117 printf(
"sub_layer_level_present_flag[%u] %u\n", i, sub_layer_level_present_flag[i]);
118 printf(
"sub_layer_level_idc[%u] %u\n", i, sub_layer_level_idc[i]);
124void H265VideoParameterSet::print()
127 printf(
"video_perameter_set_rbsp\n");
129 printf(
"vps_video_parameter_set_id %u\n", vps_video_parameter_set_id);
130 printf(
"vps_base_layer_internal_flag %u\n", vps_base_layer_internal_flag);
131 printf(
"vps_base_layer_available_flag %u\n", vps_base_layer_available_flag);
132 printf(
"vps_max_layers_minus1 %u\n", vps_max_layers_minus1);
133 printf(
"vps_max_sub_layers_minus1 %u\n", vps_max_sub_layers_minus1);
134 printf(
"vps_temporal_id_nesting_flag %u\n", vps_temporal_id_nesting_flag);
138 printf(
"vps_sub_layer_ordering_info_present_flag %u\n", vps_sub_layer_ordering_info_present_flag);
139 for(uint32_t i=(vps_sub_layer_ordering_info_present_flag?0:vps_max_sub_layers_minus1);
140 i<=vps_max_sub_layers_minus1; i++){
141 printf(
"vps_max_dec_pic_buffering_minus1[%u] %u\n", i, vps_max_dec_pic_buffering_minus1[i]);
142 printf(
"vps_max_num_reorder_pics[%u] %u\n", i, vps_max_num_reorder_pics[i]);
143 printf(
"vps_max_latency_increase_plus1[%u] %u\n", i, vps_max_latency_increase_plus1[i]);
146 printf(
"vps_max_layer_id %u\n", vps_max_layer_id);
147 printf(
"vps_num_layer_sets_minus1 %u\n", vps_num_layer_sets_minus1);
148 for(uint32_t i=1; i<= vps_num_layer_sets_minus1; i++){
149 for(uint32_t j=0; j<vps_max_layer_id; j++){
154 printf(
"vps_timing_info_present_flag %u\n", vps_timing_info_present_flag);
155 if(vps_timing_info_present_flag){
156 printf(
"vps_num_units_in_tick %u\n", vps_num_units_in_tick);
157 printf(
"vps_time_scale %u\n", vps_time_scale);
158 printf(
"vps_poc_proportional_to_timing_flag %u\n", vps_poc_proportional_to_timing_flag);
159 if(vps_poc_proportional_to_timing_flag){
160 printf(
"vps_num_ticks_poc_diff_one_minus1 %u\n", vps_num_ticks_poc_diff_one_minus1);
162 printf(
"vps_num_hrd_parameters %u\n", vps_num_hrd_parameters);
163 for(uint32_t i=0; i<vps_num_hrd_parameters; i++){
164 printf(
"hrd_layer_set_idx[%u] %u\n", i, hrd_layer_set_idx[i]);
166 printf(
"cprms_present_flag[%u] %u\n", i, cprms_present_flag[i]);
173void H265SeqParameterSet::print()
176 printf(
"seq_perameter_set_rbsp\n");
178 printf(
"sps_video_parameter_set_id %u\n", sps_video_parameter_set_id);
179 printf(
"sps_max_sub_layers_minus1 %u\n", sps_max_sub_layers_minus1);
180 printf(
"sps_temporal_id_nesting_flag %u\n", sps_temporal_id_nesting_flag);
184 printf(
"sps_seq_parameter_set_id %u\n", sps_seq_parameter_set_id);
185 printf(
"chroma_format_idc %u\n", chroma_format_idc);
186 if(chroma_format_idc == 3)
187 printf(
"separate_colour_plane_flag %u\n", separate_colour_plane_flag);
188 printf(
"pic_width_in_luma_samples %u\n", pic_width_in_luma_samples);
189 printf(
"pic_height_in_luma_samples %u\n", pic_height_in_luma_samples);
191 printf(
"conformance_window_flag %u\n", conformance_window_flag);
192 if(conformance_window_flag){
193 printf(
"conf_win_left_offset %u\n", conf_win_left_offset);
194 printf(
"conf_win_right_offset %u\n", conf_win_right_offset);
195 printf(
"conf_win_top_offset %u\n", conf_win_top_offset);
196 printf(
"conf_win_bottom_offset %u\n", conf_win_bottom_offset);
199 printf(
"bit_depth_luma_minus8 %u\n", bit_depth_luma_minus8);
200 printf(
"bit_depth_chroma_minus8 %u\n", bit_depth_chroma_minus8);
201 printf(
"log2_max_pic_order_cnt_lsb_minus4 %u\n", log2_max_pic_order_cnt_lsb_minus4);
202 printf(
"sps_sub_layer_ordering_info_present_flag %u\n", sps_sub_layer_ordering_info_present_flag);
204 for(uint32_t i = (sps_sub_layer_ordering_info_present_flag?0:sps_max_sub_layers_minus1);
205 i<=sps_max_sub_layers_minus1; i++){
206 printf(
"sps_max_dec_pic_buffering_minus1[%u] %u\n", i, sps_max_dec_pic_buffering_minus1[i]);
207 printf(
"sps_max_num_reorder_pics[%u] %u\n", i, sps_max_num_reorder_pics[i]);
208 printf(
"sps_max_latency_increase_plus1[%u] %u\n", i, sps_max_latency_increase_plus1[i]);
211 printf(
"log2_min_luma_coding_block_size_minus3 %u\n", log2_min_luma_coding_block_size_minus3);
212 printf(
"log2_diff_max_min_luma_coding_block_size %u\n", log2_diff_max_min_luma_coding_block_size);
213 printf(
"log2_min_luma_transform_block_size_minus2 %u\n", log2_min_luma_transform_block_size_minus2);
214 printf(
"log2_diff_max_min_luma_transform_block_size %u\n", log2_diff_max_min_luma_transform_block_size);
216 printf(
"max_tranform_hierarchy_depth_inter %u\n", max_tranform_hierarchy_depth_inter);
217 printf(
"max_tranform_hierarchy_depth_intra %u\n", max_tranform_hierarchy_depth_intra);
218 printf(
"scaling_list_enabled_flag %u\n", scaling_list_enabled_flag);
219 if(scaling_list_enabled_flag){
220 printf(
"sps_scaling_list_data_present_flag %u\n", sps_scaling_list_data_present_flag);
221 if(sps_scaling_list_data_present_flag){
226 printf(
"amp_enabled_flag %u\n", amp_enabled_flag);
227 printf(
"sample_adaptive_offset_enabled_flag %u\n", sample_adaptive_offset_enabled_flag);
228 printf(
"pcm_enabled_flag %u\n", pcm_enabled_flag);
229 if(pcm_enabled_flag){
230 printf(
"pcm_sample_bit_depth_luma_minus1 %u\n", pcm_sample_bit_depth_luma_minus1);
231 printf(
"pcm_sample_bit_depth_chroma_minus1 %u\n", pcm_sample_bit_depth_chroma_minus1);
232 printf(
"log2_min_pcm_luma_coding_block_size_minus3 %u\n", log2_min_pcm_luma_coding_block_size_minus3);
233 printf(
"log2_idff_max_min_pcm_luma_coding_block_size %u\n", log2_idff_max_min_pcm_luma_coding_block_size);
234 printf(
"pcm_loop_filter_disabled_flag %u\n", pcm_loop_filter_disabled_flag);
237 printf(
"num_short_term_ref_pic_sets %u\n", num_short_term_ref_pic_sets);
238 for(uint32_t i=0; i<num_short_term_ref_pic_sets; i++){
242 printf(
"long_term_ref_pic_present_flag %u\n", long_term_ref_pic_present_flag);
243 if(long_term_ref_pic_present_flag){
244 printf(
"num_long_term_ref_pics_sps %u\n", num_long_term_ref_pics_sps);
245 for(uint32_t i=0; i<num_long_term_ref_pics_sps; i++){
246 printf(
"lt_ref_pic_poc_lsb_sps[%u] %u\n", i, lt_ref_pic_poc_lsb_sps[i]);
247 printf(
"used_by_cuff_pic_lt_sps_flag[%u] %u\n", i, used_by_cuff_pic_lt_sps_flag[i]);
251 printf(
"sps_temporarl_mvp_enabled_flag %u\n", sps_temporarl_mvp_enabled_flag);
252 printf(
"string_intra_smoothing_enabled_flag %u\n", string_intra_smoothing_enabled_flag);
254 printf(
"vui_parameters_present_flag %u\n", vui_parameters_present_flag);
255 if(vui_parameters_present_flag){
259 printf(
"sps_extension_present_flag %u\n", sps_extension_present_flag);
260 if(sps_extension_present_flag){
261 printf(
"sps_range_extension_flag %u\n", sps_range_extension_flag);
262 printf(
"sps_multilayer_extension_flag %u\n", sps_multilayer_extension_flag);
263 printf(
"sps_3d_extension_flag %u\n", sps_3d_extension_flag);
264 printf(
"sps_scc_extenion_flag %u\n", sps_scc_extenion_flag);
265 printf(
"sps_extension_4bits %u\n", sps_extension_4bits);
269void H265PicParameterSet::print()
272 printf(
"pic_perameter_set_rbsp\n");
275void H265VuiParameters::print()
278 printf(
"vui_parameters\n");
279 printf(
" - aspect_ratio_info_present %d\n", aspect_ratio_info_present);
280 if(aspect_ratio_info_present){
281 printf(
" - Sample Aspect Ratio %d:%d\n", sar_width, sar_height);
283 printf(
" - overscan_info_present_flag %d\n", overscan_info_present_flag);
284 if(overscan_info_present_flag){
285 printf(
" - overscan_appropriate_flag %d\n", overscan_appropriate_flag);
287 printf(
" - video_signal_type_present_flag %d\n", video_signal_type_present_flag);
288 if(video_signal_type_present_flag){
289 printf(
" - video_format %d\n", video_format);
290 printf(
" - video_full_range_flag %d\n", video_full_range_flag);
291 printf(
" - colour_description_present_flag %d\n", colour_description_present_flag);
292 if(colour_description_present_flag){
293 printf(
" - colour_primaries %d\n", colour_primaries);
294 printf(
" - transfer_characteristics %d\n", transfer_characteristics);
295 printf(
" - matrix_coefficients %d\n", matrix_coefficients);
298 printf(
" - chroma_loc_info_present_flag %d\n", chroma_loc_info_present_flag);
299 if(chroma_loc_info_present_flag){
300 printf(
" - chroma_sample_loc_type_top_field %d\n", chroma_sample_loc_type_top_field);
301 printf(
" - chroma_sample_loc_type_bottom_field %d\n", chroma_sample_loc_type_bottom_field);
304 printf(
" - neutral_chroma_indication_flag %u\n", neutral_chroma_indication_flag);
305 printf(
" - field_seq_flag %u\n", field_seq_flag);
306 printf(
" - frame_field_info_present_flag %u\n", frame_field_info_present_flag);
307 printf(
" - default_display_window_flag %u\n", default_display_window_flag);
308 if(default_display_window_flag){
309 printf(
" - def_disp_win_left_offset %u\n", def_disp_win_left_offset);
310 printf(
" - def_disp_win_right_offset %u\n", def_disp_win_right_offset);
311 printf(
" - def_disp_win_top_offset %u\n", def_disp_win_top_offset);
312 printf(
" - def_disp_win_bottom_offset %u\n", def_disp_win_bottom_offset);
314 printf(
" - vui_timing_info_present_flag %u\n", vui_timing_info_present_flag);
315 if(vui_timing_info_present_flag){
316 printf(
" - vui_num_units_in_tick %u\n", vui_num_units_in_tick);
317 printf(
" - vui_time_scale %u\n", vui_time_scale);
318 printf(
" - vui_poc_proportional_to_timing_flag %u\n", vui_poc_proportional_to_timing_flag);
319 if(vui_poc_proportional_to_timing_flag)
320 printf(
" - vui_num_ticks_poc_diff_one_minus1 %u\n", vui_num_ticks_poc_diff_one_minus1);
321 printf(
" - vui_hrd_parameters_present_flag %u\n", vui_hrd_parameters_present_flag);
322 if(vui_hrd_parameters_present_flag)
325 printf(
" - bitstream_restriction_flag %u\n", bitstream_restriction_flag);
326 if(bitstream_restriction_flag){
327 printf(
" - tiles_fixed_structure_flag %u\n", tiles_fixed_structure_flag);
328 printf(
" - motion_vectors_over_pic_boundaries_flag %u\n", motion_vectors_over_pic_boundaries_flag);
329 printf(
" - restricted_ref_pic_lists_flag %u\n", restricted_ref_pic_lists_flag);
330 printf(
" - min_spatial_segmentation_idc %u\n", min_spatial_segmentation_idc);
331 printf(
" - max_bytes_per_pic_denom %u\n", max_bytes_per_pic_denom);
332 printf(
" - max_bits_per_min_cu_denom %u\n", max_bits_per_min_cu_denom);
333 printf(
" - log2_max_mv_length_horizontal %u\n", log2_max_mv_length_horizontal);
334 printf(
" - log2_max_mv_length_vertical %u\n", log2_max_mv_length_vertical);
Contains the Engine, Renderer, resource managers and other systems needed to run Cogs....