10 printf(
"zero_bit %d nal_ref_idc %d nal_unit_type %d\n", forbidden_zero_bit, nal_ref_idc, nal_unit_type);
13void SeqParameterSet::print()
16 printf(
"seq_perameter_set_rbsp\n");
17 printf(
"profile_idc %d\n", profile_idc);
18 printf(
"constraint_set0_flag %d\n", constraint_set0_flag);
19 printf(
"constraint_set1_flag %d\n", constraint_set1_flag);
20 printf(
"constraint_set2_flag %d\n", constraint_set2_flag);
21 printf(
"constraint_set3_flag %d\n", constraint_set3_flag);
22 printf(
"constraint_set4_flag %d\n", constraint_set4_flag);
23 printf(
"constraint_set5_flag %d\n", constraint_set5_flag);
24 printf(
"level_idc %d\n", level_idc);
25 printf(
"seq_parameter_set_id %d\n", seq_parameter_set_id);
27 if(profile_idc == 66 && constraint_set1_flag) printf(
"Constrained Baseline profile\n");
28 else if(profile_idc == 66) printf(
"Baseline profile\n");
29 else if(profile_idc == 77) printf(
"Main profile\n");
30 else if (profile_idc == 100) printf(
"High profile\n");
32 printf(
"chroma_format_idc %d\n", chroma_format_idc);
33 printf(
"separate_colour_plane_flag %d\n", separate_colour_plane_flag);
34 uint32_t SubWidthC = (uint32_t)-1;
35 uint32_t SubHeightC = (uint32_t)-1;
36 if(chroma_format_idc == 1){
40 else if(chroma_format_idc == 2){
44 else if(chroma_format_idc == 3 && separate_colour_plane_flag == 0){
48 uint32_t MbWidthC = 16/SubWidthC;
49 uint32_t MbHeightC = 16/SubHeightC;
50 if(chroma_format_idc == 0)
51 printf(
"Chroma Format: monochrome SubWidthC: - SubHeightC: -\n");
52 else if(chroma_format_idc == 1)
53 printf(
"Chroma Format: 4:2:0 SubWidthC: %d SubHeightC: %d MbWidthC %d MbHeightC %d\n", SubWidthC, SubHeightC, MbWidthC, MbHeightC);
54 else if(chroma_format_idc == 2)
55 printf(
"Chroma Format: 4:2:2 SubWidthC: %d SubHeightC: %d MbWidthC %d MbHeightC %d\n", SubWidthC, SubHeightC, MbWidthC, MbHeightC);
56 else if(chroma_format_idc == 3 && separate_colour_plane_flag == 0)
57 printf(
"Chroma Format: 4:4:4 SubWidthC: %d SubHeightC: %d MbWidthC %d MbHeightC %d\n", SubWidthC, SubHeightC, MbWidthC, MbHeightC);
58 else if(chroma_format_idc == 3 && separate_colour_plane_flag == 1)
59 printf(
"Chroma Format: 4:4:4 SubWidthC: - SubHeightC: -\n");
60 printf(
"bit_depth_luma_minus8 %d (%d)\n", bit_depth_luma_minus8, bit_depth_luma_minus8+8);
61 printf(
"bit_depth_chroma_minus8 %d (%d)\n", bit_depth_chroma_minus8, bit_depth_chroma_minus8+8);
62 printf(
"qpprime_y_zero_transform_bypass_flag %d\n", qpprime_y_zero_transform_bypass_flag);
63 printf(
"seq_scaling_matrix_present_flag %d\n", seq_scaling_matrix_present_flag);
64 printf(
"log2_max_frame_num_minus4 %d (%d)\n",
65 log2_max_frame_num_minus4,
66 1<<(log2_max_frame_num_minus4+4));
67 printf(
"pic_order_cnt_type %d\n", pic_order_cnt_type);
68 if(pic_order_cnt_type == 0){
69 printf(
"log2_max_pic_order_cnt_lsb_minus4 %d (%d)\n",
70 log2_max_pic_order_cnt_lsb_minus4,
71 1<<(log2_max_pic_order_cnt_lsb_minus4+4));
73 else if(pic_order_cnt_type == 1){
76 printf(
"num_ref_frames %d\n", num_ref_frames);
77 printf(
"gaps_in_frame_num_value_allowed_flag %d\n", gaps_in_frame_num_value_allowed_flag);
79 uint32_t PicWidthInMbs = pic_width_in_mbs_minus1+1;
80 uint32_t PicWidthInSamplesLuma = PicWidthInMbs*16;
81 uint32_t PixWidthInSamplesChroma = PicWidthInMbs*MbWidthC;
82 printf(
"pic_width_in_mbs_minus1 %d (%d Luma %d Chroma %d)\n", pic_width_in_mbs_minus1, PicWidthInMbs,
83 PicWidthInSamplesLuma, PixWidthInSamplesChroma);
84 uint32_t PicHeightInMapUnits = pic_height_in_map_units_minus1+1;
85 uint32_t FrameHeightInMbs = (2-frame_mbs_only_flag)*PicHeightInMapUnits;
86 printf(
"pic_height_in_map_units_minus1 %d (%d Size %d)\n", pic_height_in_map_units_minus1,
87 PicHeightInMapUnits, FrameHeightInMbs*16);
89 printf(
"frame_mbs_only_flag %d\n", frame_mbs_only_flag);
90 if(!frame_mbs_only_flag)
92 printf(
"direct_8x8_inference_flag %d\n", direct_8x8_inference_flag);
93 printf(
"frame_cropping_flag %d\n", frame_cropping_flag);
94 if(frame_cropping_flag){
95 printf(
"frame_crop_left_offset %d\n", frame_crop_left_offset);
96 printf(
"frame_crop_right_offset %d\n", frame_crop_right_offset);
97 printf(
"frame_crop_top_offset %d\n", frame_crop_top_offset);
98 printf(
"frame_crop_bottom_offset %d\n", frame_crop_bottom_offset);
100 printf(
"vui_parameters_present_flag %d\n", vui_parameters_present_flag);
103void PicParameterSet::print()
106 printf(
"pic_perameter_set_rbsp\n");
107 printf(
"pic_parameter_set_id %d\n", pic_parameter_set_id);
108 printf(
"seq_parameter_set_id %d\n", seq_parameter_set_id);
109 printf(
"entropy_coding_mode_flag %d\n", entropy_coding_mode_flag);
110 printf(
"bottom_field_pic_order_in_frame_present_flag %d\n", bottom_field_pic_order_in_frame_present_flag);
111 printf(
"num_slice_groups_minus1 %d\n", num_slice_groups_minus1);
112 if(num_slice_groups_minus1 > 0){
113 printf(
"slice_group_map_type %d\n", slice_group_map_type);
114 if(slice_group_map_type == 0){
117 else if(slice_group_map_type == 2){
120 else if(slice_group_map_type == 3 ||
121 slice_group_map_type == 4 ||
122 slice_group_map_type == 5){
125 else if(slice_group_map_type == 6){
129 printf(
"num_ref_idx_l0_default_active_minus1 %d\n", num_ref_idx_l0_default_active_minus1);
130 printf(
"num_ref_idx_l1_default_active_minus1 %d\n", num_ref_idx_l1_default_active_minus1);
131 printf(
"weighted_pred_flag %d\n", weighted_pred_flag);
132 printf(
"weighted_bipred_idc %d\n", weighted_bipred_idc);
133 printf(
"pic_init_qp_minus26 %d\n", pic_init_qp_minus26);
134 printf(
"pic_init_sp_minus26 %d\n", pic_init_sp_minus26);
135 printf(
"chroma_qp_index_offset %d\n", chroma_qp_index_offset);
136 printf(
"deblocking_filter_control_present_flag %d\n", deblocking_filter_control_present_flag);
137 printf(
"constrained_intra_pred_flag %d\n", constrained_intra_pred_flag);
138 printf(
"redundant_pic_cnt_present_flag %d\n", redundant_pic_cnt_present_flag);
141void SliceLayer::print()
143 const char *slice_type_name[] = {
"P",
"B",
"I",
"SP",
"SI",
"P",
"B",
"I",
"SP",
"SI"};
146 printf(
"first_mb_in_slice %d\n", first_mb_in_slice);
147 printf(
"slice_type %d %s\n", slice_type, slice_type_name[slice_type]);
148 printf(
"pic_parameter_set_id %d\n", pic_parameter_set_id);
149 printf(
"colour_plane_id %d\n", colour_plane_id);
150 printf(
"frame_num %d\n", frame_num);
151 printf(
"field_pic_flag %d\n", field_pic_flag);
152 printf(
"bottom_field_flag %d\n", bottom_field_flag);
153 printf(
"idr_pic_id %d\n", idr_pic_id);
154 printf(
"pic_order_cnt_lsb %d\n", pic_order_cnt_lsb);
155 printf(
"delta_pic_order_cnt_bottom %d\n", delta_pic_order_cnt_bottom);
156 printf(
"delta_pic_order_cnt[0] %d\n", delta_pic_order_cnt[0]);
157 printf(
"delta_pic_order_cnt[1] %d\n", delta_pic_order_cnt[1]);
158 printf(
"redundant_pic_cnt %d\n", redundant_pic_cnt);
159 printf(
"direct_spatial_mv_pred_flag %d\n", direct_spatial_mv_pred_flag);
160 printf(
"num_ref_idx_active_override_flag %d\n", num_ref_idx_active_override_flag);
161 printf(
"num_ref_idx_l0_active_minus1 %d\n", num_ref_idx_l0_active_minus1);
162 printf(
"num_ref_idx_l1_active_minus1 %d\n", num_ref_idx_l1_active_minus1);
163 printf(
"cabac_init_idc %d\n", cabac_init_idc);
164 printf(
"slice_qp_delta %d\n", slice_qp_delta);
165 printf(
"sp_for_switch_flag %d\n", sp_for_switch_flag);
166 printf(
"slice_qs_delta %d\n", slice_qs_delta);
167 printf(
"disable_deblocking_filter_idc %d\n", disable_deblocking_filter_idc);
168 printf(
"slice_alpha_c0_offset_div2 %d\n", slice_alpha_c0_offset_div2);
169 printf(
"slice_beta_offset_div2 %d\n", slice_beta_offset_div2);
170 printf(
"slice_group_change_cycle %d\n", slice_group_change_cycle);
175 printf(
" - cpb_cnt_minus1 %u\n", param.cpb_cnt_minus1);
176 printf(
" - cpb_cnt_minus1 %u\n", param.cpb_cnt_minus1);
177 printf(
" - bit_rate_scale %u\n", param.bit_rate_scale);
178 printf(
" - cpb_size_scale %u\n", param.cpb_size_scale);
179 for(
size_t SchedSelIdx=0; SchedSelIdx<=param.cpb_cnt_minus1; SchedSelIdx++){
180 printf(
" - bit_rate_calue_minus1[%zu] %u\n", SchedSelIdx, param.bit_rate_calue_minus1[SchedSelIdx]);
181 printf(
" - cpb_size_value_minus1[%zu] %u\n", SchedSelIdx, param.cpb_size_value_minus1[SchedSelIdx]);
182 printf(
" - cbr_flag[%zu] %u\n", SchedSelIdx, param.cbr_flag[SchedSelIdx]);
184 printf(
" - initial_sbp_removal_delay_length_minus1 %u\n", param.initial_cpb_removal_delay_length_minus1);
185 printf(
" - cpb_removal_delay_length_minus1 %u\n", param.cpb_removal_delay_length_minus1);
186 printf(
" - cpb_output_delay_length_minus1 %u\n", param.cpb_output_delay_length_minus1);
187 printf(
" - time_offset_length %u\n", param.time_offset_length);
190void VuiParameters::print()
193 printf(
"vui_parameters\n");
194 printf(
" - aspect_ratio_info_present %d\n", aspect_ratio_info_present);
195 if(aspect_ratio_info_present){
196 printf(
" - Sample Aspect Ratio %d:%d\n", sar_width, sar_height);
198 printf(
" - overscan_info_present_flag %d\n", overscan_info_present_flag);
199 if(overscan_info_present_flag){
200 printf(
" - overscan_appropriate_flag %d\n", overscan_appropriate_flag);
202 printf(
" - video_signal_type_present_flag %d\n", video_signal_type_present_flag);
203 if(video_signal_type_present_flag){
204 printf(
" - video_format %d\n", video_format);
205 printf(
" - video_full_range_flag %d\n", video_full_range_flag);
206 printf(
" - colour_description_present_flag %d\n", colour_description_present_flag);
207 if(colour_description_present_flag){
208 printf(
" - colour_primaries %d\n", colour_primaries);
209 printf(
" - transfer_characteristics %d\n", transfer_characteristics);
210 printf(
" - matrix_coefficients %d\n", matrix_coefficients);
213 printf(
" - chroma_loc_info_present_flag %d\n", chroma_loc_info_present_flag);
214 if(chroma_loc_info_present_flag){
215 printf(
" - chroma_sample_loc_type_top_field %d\n", chroma_sample_loc_type_top_field);
216 printf(
" - chroma_sample_loc_type_bottom_field %d\n", chroma_sample_loc_type_bottom_field);
218 printf(
" - timing_info_present_flag %d\n", timing_info_present_flag);
219 if(timing_info_present_flag){
220 printf(
" - num_units_in_tick %d\n", num_units_in_tick);
221 printf(
" - time_scale %d\n", time_scale);
222 printf(
" - fixed_frame_rate_flag %d\n", fixed_frame_rate_flag);
224 printf(
" - nal_hrd_parameters_present_flag %d\n", nal_hrd_parameters_present_flag);
225 if(nal_hrd_parameters_present_flag){
226 PrintHrdParameters(nal_hrd_parameters);
228 printf(
" - vcl_hrd_parameters_present_flag %d\n", vcl_hrd_parameters_present_flag);
229 if(vcl_hrd_parameters_present_flag){
230 PrintHrdParameters(vcl_hrd_parameters);
232 if(nal_hrd_parameters_present_flag || vcl_hrd_parameters_present_flag){
233 printf(
" - low_delay_hrd_flag %d\n", low_delay_hrd_flag);
235 printf(
" - pic_struct_present_flag %d\n", pic_struct_present_flag);
236 printf(
" - bitstream_restriction_flag %d\n", bitstream_restriction_flag);
237 if(bitstream_restriction_flag){
238 printf(
" - motion_vectors_over_pic_bondaries_flag %u\n", motion_vectors_over_pic_bondaries_flag);
239 printf(
" - max_bytes_per_pic_denom %u\n", max_bytes_per_pic_denom);
240 printf(
" - max_bits_per_pic_denom %u\n", max_bits_per_pic_denom);
241 printf(
" - log2_max_mv_length_horizontal %u\n", log2_max_mv_length_horizontal);
242 printf(
" - log2_max_mv_length_vertical %u\n", log2_max_mv_length_vertical);
243 printf(
" - max_num_reorder_frames %u\n", max_num_reorder_frames);
244 printf(
" - max_dec_frame_buffering %u\n", max_dec_frame_buffering);
Contains the Engine, Renderer, resource managers and other systems needed to run Cogs....