📄 sei.cpp
字号:
//ErrVal
//SEI::ScalableSei::write( HeaderSymbolWriteIf *pcWriteIf )
//{
// UInt i=0, j=0;
// // JVT-U085 LMI
// RNOK ( pcWriteIf->writeFlag( m_temporal_level_nesting_flag, "ScalableSEI: temporal_level_nesting_flag" ) );
// RNOK(pcWriteIf->writeFlag(m_quality_layer_info_present_flag, "ScalableSEI: quality_layer_info_present_flag"));//JVT-W051
// RNOK ( pcWriteIf->writeFlag( m_priority_id_setting_flag, "ScalableSEI: priority_id_setting_flag" ) );//JVT-W053
// ROF( m_num_layers_minus1+1 );
// RNOK ( pcWriteIf->writeUvlc(m_num_layers_minus1, "ScalableSEI: num_layers_minus1" ) );
//
// for( i = 0; i <= m_num_layers_minus1; i++ )
// {
// if (0 < m_aiNumRoi[m_dependency_id[i]])
// {
// m_sub_pic_layer_flag[i] = true;
// m_roi_id[i] = m_aaiRoiID[m_dependency_id[i]][0];
// }
//
// //JVT-W051 {
// //RNOK ( pcWriteIf->writeCode( m_layer_id[i], 8, "ScalableSEI: layer_id" ) );
// RNOK ( pcWriteIf->writeUvlc( m_layer_id[i], "ScalableSEI: layer_id" ) );
// //JVT-W051 }
// //JVT-S036 lsj start
// //RNOK ( pcWriteIf->writeFlag( m_fgs_layer_flag[i], "ScalableSEI: fgs_layer_flag" ) );
// RNOK ( pcWriteIf->writeCode( m_simple_priority_id[i], 6, "ScalableSEI: simple_priority_id" ) );
// RNOK ( pcWriteIf->writeFlag( m_discardable_flag[i], "ScalableSEI: discardable_flag" ) );
// RNOK ( pcWriteIf->writeCode( m_temporal_level[i], 3, "ScalableSEI: temporal_level" ) );
// RNOK ( pcWriteIf->writeCode( m_dependency_id[i], 3, "ScalableSEI: dependency_level" ) );
// RNOK ( pcWriteIf->writeCode( m_quality_level[i], 4, "ScalableSEI: quality_level" ) );
// RNOK ( pcWriteIf->writeFlag( m_sub_pic_layer_flag[i], "ScalableSEI: sub_pic_layer_flag" ) );
// RNOK ( pcWriteIf->writeFlag( m_sub_region_layer_flag[i], "ScalableSEI: sub_region_layer_flag" ) );
// //RNOK ( pcWriteIf->writeFlag( m_iroi_slice_division_info_present_flag[i], "ScalableSEI: iroi_slice_division_info_present_flag" ) );
// RNOK ( pcWriteIf->writeFlag( m_iroi_division_info_present_flag[i], "ScalableSEI: iroi_division_info_present_flag" ) ); //JVT-W051
// RNOK ( pcWriteIf->writeFlag( m_profile_level_info_present_flag[i], "ScalableSEI: profile_level_info_present_flag" ) );
// //JVT-S036 lsj end
// RNOK ( pcWriteIf->writeFlag( m_bitrate_info_present_flag[i], "ScalableSEI: bitrate_info_present_flag" ) );
// RNOK ( pcWriteIf->writeFlag( m_frm_rate_info_present_flag[i], "ScalableSEI: frm_rate_info_present_flag" ) );
// RNOK ( pcWriteIf->writeFlag( m_frm_size_info_present_flag[i], "ScalableSEI: frm_size_info_present_flag" ) );
// RNOK ( pcWriteIf->writeFlag( m_layer_dependency_info_present_flag[i], "ScalableSEI: layer_dependency_info_present_flag" ) );
// RNOK ( pcWriteIf->writeFlag( m_init_parameter_sets_info_present_flag[i], "ScalableSEI: init_parameter_sets_info_present_flag" ) );
// RNOK ( pcWriteIf->writeFlag( m_bitstream_restriction_flag[i], "ScalableSEI: bitstream_restriction_info_present_flag" )); //JVT-051 & JVT-W064
// RNOK ( pcWriteIf->writeFlag( m_exact_interlayer_pred_flag[i], "ScalableSEI: exact_interlayer_pred_flag" ) );//JVT-S036 lsj
// RNOK ( pcWriteIf->writeFlag( m_avc_layer_conversion_flag[i], "ScalableSEI: avc_layer_conversion_flag" ) );//JVT-W046
// RNOK ( pcWriteIf->writeFlag( m_layer_output_flag[i], "ScalableSEI: layer_output_flag " ) );//JVT-W047 wxwan
// if ( m_profile_level_info_present_flag[i] )
// {
// //JVT-W051 {
// RNOK ( pcWriteIf->writeCode( m_layer_profile_level_idc[i], 24, "ScalableSEI: layer_profile_idc" ) );
// //RNOK ( pcWriteIf->writeCode( m_layer_profile_level_idc[i], 8, "ScalableSEI: layer_profile_idc" ) );
// //RNOK ( pcWriteIf->writeFlag( m_layer_constraint_set0_flag[i], "ScalableSEI: layer_constraint_set0_flag" ) );
// //RNOK ( pcWriteIf->writeFlag( m_layer_constraint_set1_flag[i], "ScalableSEI: layer_constraint_set1_flag" ) );
// //RNOK ( pcWriteIf->writeFlag( m_layer_constraint_set2_flag[i], "ScalableSEI: layer_constraint_set2_flag" ) );
// //RNOK ( pcWriteIf->writeFlag( m_layer_constraint_set3_flag[i], "ScalableSEI: layer_constraint_set3_flag" ) );
// //RNOK ( pcWriteIf->writeCode( 0, 4, "ScalableSEI: reserved_zero_4bits" ) );
// //RNOK ( pcWriteIf->writeCode( m_layer_level_idc[i], 8, "ScalableSEI: layer_level_idc" ) );
// //JVT-W051 }
// }
//
// else
// {//JVT-S036 lsj
// RNOK ( pcWriteIf->writeUvlc( m_profile_level_info_src_layer_id_delta[i], "ScalableSEI: profile_level_info_src_layer_id_delta" ) );
// }
//
///* if ( m_decoding_dependency_info_present_flag[i] )
// {
// RNOK ( pcWriteIf->writeCode( m_simple_priority_id[i], 6, "ScalableSEI: simple_priority_id" ) );
// RNOK ( pcWriteIf->writeFlag( m_discardable_flag[i], "ScalableSEI: discardable_flag" ) );
// RNOK ( pcWriteIf->writeCode( m_temporal_level[i], 3, "ScalableSEI: temporal_level" ) );
// RNOK ( pcWriteIf->writeCode( m_dependency_id[i], 3, "ScalableSEI: dependency_level" ) );
// RNOK ( pcWriteIf->writeCode( m_quality_level[i], 2, "ScalableSEI: quality_level" ) );
// }
//JVT-S036 lsj */
// if ( m_bitrate_info_present_flag[i] )
// {
// RNOK ( pcWriteIf->writeCode( m_avg_bitrate[i], 16, "ScalableSEI: avg_bitrate" ) );
////JVT-S036 lsj start
// RNOK ( pcWriteIf->writeCode( m_max_bitrate_layer[i], 16, "ScalableSEI: max_bitrate_layer" ) );
// //RNOK ( pcWriteIf->writeCode( m_max_bitrate_decoded_picture[i], 16, "ScalableSEI: max_bitrate_decoded_picture" ) );
// RNOK ( pcWriteIf->writeCode( m_max_bitrate_layer_representation[i], 16, "ScalableSEI: max_bitrate_layer_representation" ) );//JVT-W051
// RNOK ( pcWriteIf->writeCode( m_max_bitrate_calc_window[i], 16, "ScalableSEI: max_bitrate_calc_window" ) );
////JVT-S036 lsj end
// }
// if ( m_frm_rate_info_present_flag[i] )
// {
// RNOK ( pcWriteIf->writeCode( m_constant_frm_rate_idc[i], 2, "ScalableSEI: constant_frm_bitrate_idc" ) );
// RNOK ( pcWriteIf->writeCode( m_avg_frm_rate[i], 16, "ScalableSEI: avg_frm_rate" ) );
// }
// else
// {
// //JVT-S036 lsj
// RNOK (pcWriteIf->writeUvlc( m_frm_rate_info_src_layer_id_delta[i], "ScalableSEI: frm_rate_info_src_layer_id_delta" ) );
// }
//
// if ( m_frm_size_info_present_flag[i] )
// {
// RNOK ( pcWriteIf->writeUvlc( m_frm_width_in_mbs_minus1[i], "ScalableSEI: frm_width_in_mbs_minus1" ) );
// RNOK ( pcWriteIf->writeUvlc( m_frm_height_in_mbs_minus1[i], "ScalableSEI: frm_height_in_mbs_minus1" ) );
// }
// else
// {//JVT-S036 lsj
// RNOK (pcWriteIf->writeUvlc( m_frm_size_info_src_layer_id_delta[i], "ScalableSEI: frm_size_info_src_layer_id_delta" ) );
// }
//
// if ( m_sub_region_layer_flag[i] )
// {
// //JVT-W051 {
// //RNOK ( pcWriteIf->writeCode ( m_base_region_layer_id[i], 8, "ScalableSEI: base_region_layer_id" ) );
// RNOK ( pcWriteIf->writeUvlc ( m_base_region_layer_id[i], "ScalableSEI: base_region_layer_id" ));
// //JVT-W051 }
// RNOK ( pcWriteIf->writeFlag ( m_dynamic_rect_flag[i], "ScalableSEI: dynamic_rect_flag" ) );
// //JVT-W051 {
// //if ( m_dynamic_rect_flag[i] )
// if ( !m_dynamic_rect_flag[i] )
// //JVT-W051 }
// {
// RNOK ( pcWriteIf->writeCode ( m_horizontal_offset[i], 16, "ScalableSEI: horizontal_offset" ) );
// RNOK ( pcWriteIf->writeCode ( m_vertical_offset[i], 16, "ScalableSEI: vertical_offset" ) );
// RNOK ( pcWriteIf->writeCode ( m_region_width[i], 16, "ScalableSEI: region_width" ) );
// RNOK ( pcWriteIf->writeCode ( m_region_height[i], 16, "ScalableSEI: region_height" ) );
// }
// }
// else
// {//JVT-S036 lsj
// RNOK ( pcWriteIf->writeUvlc( m_sub_region_info_src_layer_id_delta[i], "ScalableSEI: sub_region_info_src_layer_id_delta" ) );
// }
//
// if( m_sub_pic_layer_flag[i] )
// {//JVT-S036 lsj
// //JVT-W051 {
// //RNOK ( pcWriteIf->writeCode( m_roi_id[i], 3, "Scalable: roi_id" ) );
// RNOK ( pcWriteIf->writeUvlc( m_roi_id[i], "Scalable: roi_id" ) );
// //JVT-W051 }
// }
//
// //JVT-S036 lsj start
// //if ( m_iroi_slice_division_info_present_flag[i] )
// if ( m_iroi_division_info_present_flag[i] )//JVT-W051
// {
// //JVT-W051 {
// //RNOK ( pcWriteIf->writeCode( m_iroi_division_type[i], 2, "ScalableSEI:iroi_slice_division_type" ) );
// RNOK ( pcWriteIf->writeCode( m_iroi_division_type[i], 1, "ScalableSEI:iroi_slice_division_type" ) );
// //JVT-W051 }
// if( m_iroi_division_type[i] == 0 )
// {
// //RNOK ( pcWriteIf->writeUvlc( m_grid_slice_width_in_mbs_minus1[i], "ScalableSEI:grid_slice_width_in_mbs_minus1" ) );
// //RNOK ( pcWriteIf->writeUvlc( m_grid_slice_height_in_mbs_minus1[i], "ScalableSEI:grid_slice_height_in_mbs_minus1" ) );
// RNOK ( pcWriteIf->writeUvlc( m_grid_width_in_mbs_minus1[i], "ScalableSEI:grid_width_in_mbs_minus1" ) );//JVT-W051
// RNOK ( pcWriteIf->writeUvlc( m_grid_height_in_mbs_minus1[i], "ScalableSEI:grid_height_in_mbs_minus1" ) );//JVT-W051
// }
// else if( m_iroi_division_type[i] == 1 )
// {
// RNOK ( pcWriteIf->writeUvlc( m_num_rois_minus1[i], "ScalableSEI:num_slice_minus1" ) );
// for ( j = 0; j <= m_num_rois_minus1[i]; j++ )
// {
// RNOK ( pcWriteIf->writeUvlc( m_first_mb_in_roi[i][j], "ScalableSEI: first_mb_in_slice" ) );
// RNOK ( pcWriteIf->writeUvlc( m_roi_width_in_mbs_minus1[i][j], "ScalableSEI:slice_width_in_mbs_minus1" ) );
// RNOK ( pcWriteIf->writeUvlc( m_roi_height_in_mbs_minus1[i][j], "ScalableSEI:slice_height_in_mbs_minus1" ) );
// }
// }
// // JVT-S054 (REPLACE): Typo error
// //else if ( m_iroi_division_type[1] == 2 )
// else if ( m_iroi_division_type[i] == 2 )
// {
// RNOK ( pcWriteIf->writeUvlc( m_num_rois_minus1[i], "ScalableSEI:num_slice_minus1" ) );
// // JVT-S054 (REPLACE) ->
// /*
// UInt uiFrameHeightInMb = m_roi_height_in_mbs_minus1[i][j] + 1;
// UInt uiFrameWidthInMb = m_roi_width_in_mbs_minus1[i][j] + 1;
// UInt uiPicSizeInMbs = uiFrameHeightInMb * uiFrameWidthInMb;
// for ( j = 0; j < uiPicSizeInMbs; j++ )
// {
// RNOK ( pcWriteIf->writeUvlc( m_slice_id[i][j], "ScalableSEI:slice_id" ) );
// }
// */
// UInt uiFrameHeightInMb = m_roi_height_in_mbs_minus1[i][j] + 1;
// UInt uiFrameWidthInMb = m_roi_width_in_mbs_minus1[i][j] + 1;
// UInt uiPicSizeInMbs = uiFrameHeightInMb * uiFrameWidthInMb;
// UInt uiWriteBits = (UInt) ceil( log( (double) (m_num_rois_minus1[i] + 1) ) / log(2.) );
// if (uiWriteBits == 0)
// uiWriteBits = 1;
// for ( j = 0; j < uiPicSizeInMbs; j++ )
// {
// RNOK ( pcWriteIf->writeCode ( m_slice_id[i][j], uiWriteBits, "ScalableSEI: slice_id") );
// }
// // JVT-S054 (REPLACE) <-
// }
// }
// //JVT-S036 lsj end
// if ( m_layer_dependency_info_present_flag[i] )
// {
// RNOK ( pcWriteIf->writeUvlc ( m_num_directly_dependent_layers[i], "ScalableSEI: num_directly_dependent_layers" ) );
//// BUG_FIX liuhui{
// for( j = 0; j < m_num_directly_dependent_layers[i]; j++ )
// {
// RNOK( pcWriteIf->writeUvlc (m_directly_dependent_layer_id_delta_minus1[i][j], "ScalableSEI: directly_dependent_layers_id_delta" ) ); //JVT-S036 lsj
// }
//// BUG_FIX liuhui}
// }
// else
// {//JVT-S036 lsj
// RNOK( pcWriteIf->writeUvlc(m_layer_dependency_info_src_layer_id_delta[i], "ScalableSEI: layer_dependency_info_src_layer_id_delta" ) );
// }
//
// if ( m_init_parameter_sets_info_present_flag[i] )
// {
//
//// BUG_FIX liuhui{
// RNOK ( pcWriteIf->writeUvlc ( m_num_init_seq_parameter_set_minus1[i], "ScalableSEI: num_init_seq_parameter_set_minus1" ) );
// for( j = 0; j <= m_num_init_seq_parameter_set_minus1[i]; j++ )
// {
// RNOK( pcWriteIf->writeUvlc( m_init_seq_parameter_set_id_delta[i][j], "ScalableSEI: init_seq_parameter_set_id_delta" ) );
// }
//
// RNOK ( pcWriteIf->writeUvlc ( m_num_init_pic_parameter_set_minus1[i], "ScalableSEI: num_init_pic_parameter_set_minus1" ) );
// for( j = 0; j <= m_num_init_pic_parameter_set_minus1[i]; j++ )
// {
// RNOK ( pcWriteIf->writeUvlc ( m_init_pic_parameter_set_id_delta[i][j],"ScalableSEI: init_pic_parameter_set_id_delta" ) );
// }
//// BUG_FIX liuhui}
// }
// else
// {//JVT-S036 lsj
// RNOK (pcWriteIf->writeUvlc( m_init_parameter_sets_info_src_layer_id_delta[i], "ScalableSEI: init_parameter_sets_info_src_layer_id_delta" ) );
// }
// //JVT-W051 & JVT-W064 {
// if (m_bitstream_restriction_flag[i])
// {
// RNOK (pcWriteIf->writeFlag(m_motion_vectors_over_pic_boundaries_flag[i], "ScalableSEI: motion_vectors_over_pic_boundaries_flag") );
// RNOK (pcWriteIf->writeUvlc(m_max_bytes_per_pic_denom[i], "ScalableSEI: max_bytes_per_pic_denom") );
// RNOK (pcWriteIf->writeUvlc(m_max_bits_per_mb_denom[i], "ScalableSEI: max_bits_per_mb_denom") );
// RNOK (pcWriteIf->writeUvlc(m_log2_max_mv_length_horizontal[i], "ScalableSEI: log2_max_mv_length_horizontal") );
// RNOK (pcWriteIf->writeUvlc(m_log2_max_mv_length_vertical[i], "ScalableSEI: log2_max_mv_length_vertical") );
// RNOK (pcWriteIf->writeUvlc(m_num_reorder_frames[i], "ScalableSEI: num_reorder_frames"));
// RNOK (pcWriteIf->writeUvlc(m_max_dec_frame_buffering[i], "ScalableSEI: max_dec_frame_buffering") );
// }
// //JVT-W051 & JVT-W064 }
// //JVT-W046 {
// if( m_avc_layer_conversion_flag[i] )
// {
// RNOK ( pcWriteIf->writeUvlc ( m_avc_conversion_type_idc[i], "ScalableSEI: m_avc_conversion_type_idc" ) );
// for ( j=0; j<2; j++ )
// {
// RNOK ( pcWriteIf->writeFlag ( m_avc_info_flag[i][j], "ScalableSEI: m_avc_info_flag" ) );
// if( m_avc_info_flag[i][j] )
// {
// RNOK ( pcWriteIf->writeCode( m_avc_profile_level_idc[i][j], 24, "ScalableSEI:m_avc_profile_level_idc" ) );
// RNOK ( pcWriteIf->writeCode( m_avc_avg_bitrate[i][j], 16, "ScalableSEI:m_avc_avg_bitrate" ) );
// RNOK ( pcWriteIf->writeCode( m_avc_max_bitrate[i][j], 16, "ScalableSEI:m_avc_max_bitrate" ) );
// }
// }
// }
// //JVT-W046 }
// }
// //JVT-W051 {
// if (m_quality_layer_info_present_flag)
// {
// RNOK (pcWriteIf->writeUvlc(m_ql_num_dId_minus1, "ScalableSEI: ql_num_dId_minus1"));
// for (i=0; i<=m_ql_num_dId_minus1; i++)
// {
// RNOK (pcWriteIf->writeCode(m_ql_dependency_id[i], 3, "ScalableSEI: ql_dependency_id"));
// RNOK (pcWriteIf->writeUvlc(m_ql_num_minus1[i], "ScalableSEI: ql_num_minus"));
// for (j=0; j<=m_ql_num_minus1[i]; j++)
// {
// RNOK (pcWriteIf->writeUvlc(m_ql_id[i][j], "ScalableSEI: ql_id"));
// RNOK (pcWriteIf->writeCode(m_ql_profile_level_idc[i][j], 24, "ScalableSEI: ql_profile_level_idc"));
// RNOK (pcWriteIf->writeCode(m_ql_avg_bitrate[i][j], 16, "ScalableSEI: ql_avg_bitrate"));
// RNOK (pcWriteIf->writeCode(m_ql_max_bitrate[i][j], 16, "ScalableSEI: ql_max_bitrate"));
// }
// }
// }
// //JVT-W051 }
// //JVT-W053 wxwan
// if(m_priority_id_setting_flag)
// {
// UInt PriorityIdSettingUriIdx = 0;
// do{
// UInt uiTemp = priority_id_setting_uri[PriorityIdSettingUriIdx];
// RNOK( pcWriteIf->writeCode( uiTemp, 8, "ScalableSEI: priority_id_setting_uri" ) );
// }while( priority_id_setting_uri[ PriorityIdSettingUriIdx++ ] != 0 );
// }
// //JVT-W053 wxwan
//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -