//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: public void write(java.io.OutputStream out) throws java.io.IOException public void write(Stream @out) { CAVLCWriter writer = new CAVLCWriter(@out); writer.writeUE(pic_parameter_set_id, "PPS: pic_parameter_set_id"); writer.writeUE(seq_parameter_set_id, "PPS: seq_parameter_set_id"); writer.writeBool(entropy_coding_mode_flag, "PPS: entropy_coding_mode_flag"); writer.writeBool(pic_order_present_flag, "PPS: pic_order_present_flag"); writer.writeUE(num_slice_groups_minus1, "PPS: num_slice_groups_minus1"); if (num_slice_groups_minus1 > 0) { writer.writeUE(slice_group_map_type, "PPS: slice_group_map_type"); int[] top_left = new int[1]; int[] bottom_right = new int[1]; int[] run_length_minus1 = new int[1]; if (slice_group_map_type == 0) { for (int iGroup = 0; iGroup <= num_slice_groups_minus1; iGroup++) { writer.writeUE(run_length_minus1[iGroup], "PPS: "); } } else if (slice_group_map_type == 2) { for (int iGroup = 0; iGroup < num_slice_groups_minus1; iGroup++) { writer.writeUE(top_left[iGroup], "PPS: "); writer.writeUE(bottom_right[iGroup], "PPS: "); } } else if (slice_group_map_type == 3 || slice_group_map_type == 4 || slice_group_map_type == 5) { writer.writeBool(slice_group_change_direction_flag, "PPS: slice_group_change_direction_flag"); writer.writeUE(slice_group_change_rate_minus1, "PPS: slice_group_change_rate_minus1"); } else if (slice_group_map_type == 6) { int NumberBitsPerSliceGroupId; if (num_slice_groups_minus1 + 1 > 4) { NumberBitsPerSliceGroupId = 3; } else if (num_slice_groups_minus1 + 1 > 2) { NumberBitsPerSliceGroupId = 2; } else { NumberBitsPerSliceGroupId = 1; } writer.writeUE(slice_group_id.Length, "PPS: "); for (int i = 0; i <= slice_group_id.Length; i++) { writer.writeU(slice_group_id[i], NumberBitsPerSliceGroupId); } } } writer.writeUE(num_ref_idx_l0_active_minus1, "PPS: num_ref_idx_l0_active_minus1"); writer.writeUE(num_ref_idx_l1_active_minus1, "PPS: num_ref_idx_l1_active_minus1"); writer.writeBool(weighted_pred_flag, "PPS: weighted_pred_flag"); writer.writeNBit(weighted_bipred_idc, 2, "PPS: weighted_bipred_idc"); writer.writeSE(pic_init_qp_minus26, "PPS: pic_init_qp_minus26"); writer.writeSE(pic_init_qs_minus26, "PPS: pic_init_qs_minus26"); writer.writeSE(chroma_qp_index_offset, "PPS: chroma_qp_index_offset"); writer.writeBool(deblocking_filter_control_present_flag, "PPS: deblocking_filter_control_present_flag"); writer.writeBool(constrained_intra_pred_flag, "PPS: constrained_intra_pred_flag"); writer.writeBool(redundant_pic_cnt_present_flag, "PPS: redundant_pic_cnt_present_flag"); if (extended != null) { writer.writeBool(extended.transform_8x8_mode_flag, "PPS: transform_8x8_mode_flag"); writer.writeBool(extended.scalindMatrix != null, "PPS: scalindMatrix"); if (extended.scalindMatrix != null) { for (int i = 0; i < 6 + 2 * (extended.transform_8x8_mode_flag ? 1 : 0); i++) { if (i < 6) { writer.writeBool(extended.scalindMatrix.ScalingList4x4[i] != null, "PPS: "); if (extended.scalindMatrix.ScalingList4x4[i] != null) { extended.scalindMatrix.ScalingList4x4[i].write(writer); } } else { writer.writeBool(extended.scalindMatrix.ScalingList8x8[i - 6] != null, "PPS: "); if (extended.scalindMatrix.ScalingList8x8[i - 6] != null) { extended.scalindMatrix.ScalingList8x8[i - 6].write(writer); } } } } writer.writeSE(extended.second_chroma_qp_index_offset, "PPS: "); } writer.writeTrailingBits(); }