📄 sei.cpp
字号:
// return Err::m_nOK;
//}
//ErrVal
//SEI::ScalableSei::read ( HeaderSymbolReadIf *pcReadIf )
//{
// UInt i, j=0;
// UInt rl;//JVT-S036 lsj
// // JVT-U085 LMI
// RNOK ( pcReadIf->getFlag( m_temporal_level_nesting_flag, "" ) );
// RNOK (pcReadIf->getFlag( m_quality_layer_info_present_flag, ""));//JVT-W051
// RNOK ( pcReadIf->getFlag( m_priority_id_setting_flag, "" ) );//JVT-W053
// RNOK ( pcReadIf->getUvlc( m_num_layers_minus1 , "" ) );
//
// for ( i = 0; i <= m_num_layers_minus1; i++ )
// {
// //JVT-W051 {
// //RNOK ( pcReadIf->getCode( m_layer_id[i], 8, "" ) );
// RNOK (pcReadIf->getUvlc( m_layer_id[i], ""));
// //JVT-W051 }
// //JVT-S036 lsj start
//// RNOK ( pcReadIf->getFlag( m_fgs_layer_flag[i], "" ) );
// RNOK ( pcReadIf->getCode( m_simple_priority_id[i], 6, "" ) );
// RNOK ( pcReadIf->getFlag( m_discardable_flag[i], "" ) );
// RNOK ( pcReadIf->getCode( m_temporal_level[i], 3, "" ) );
// RNOK ( pcReadIf->getCode( m_dependency_id[i], 3, "" ) );
// RNOK ( pcReadIf->getCode( m_quality_level[i], 4, "" ) );
// RNOK ( pcReadIf->getFlag( m_sub_pic_layer_flag[i], "" ) );
// RNOK ( pcReadIf->getFlag( m_sub_region_layer_flag[i], "" ) );
// //RNOK ( pcReadIf->getFlag( m_iroi_slice_division_info_present_flag[i], "" ) );
// RNOK ( pcReadIf->getFlag( m_iroi_division_info_present_flag[i], "" ) );//JVT-W051
// RNOK ( pcReadIf->getFlag( m_profile_level_info_present_flag[i], "" ) );
// //JVT-S036 lsj end
// RNOK ( pcReadIf->getFlag( m_bitrate_info_present_flag[i], "" ) );
// RNOK ( pcReadIf->getFlag( m_frm_rate_info_present_flag[i], "" ) );
// RNOK ( pcReadIf->getFlag( m_frm_size_info_present_flag[i], "" ) );
// RNOK ( pcReadIf->getFlag( m_layer_dependency_info_present_flag[i], "" ) );
// RNOK ( pcReadIf->getFlag( m_init_parameter_sets_info_present_flag[i], "" ) );
// RNOK ( pcReadIf->getFlag( m_bitstream_restriction_flag[i], ""));//JVT-W051
// RNOK ( pcReadIf->getFlag( m_exact_interlayer_pred_flag[i], "" ) ); //JVT-S036 lsj
// RNOK ( pcReadIf->getFlag( m_avc_layer_conversion_flag[i], "" ) );//JVT-W046
// RNOK ( pcReadIf->getFlag( m_layer_output_flag[i], "" ) ); //JVT-W047 wxwan
// if( m_profile_level_info_present_flag[i] )
// {
// //JVT-W051 {
// //RNOK ( pcReadIf->getCode( m_layer_profile_level_idc[i], 8, "" ) );
// UInt uiTmp;
// m_layer_profile_level_idc[i] = 0;
// RNOK ( pcReadIf->getCode( uiTmp, 16, ""));
// m_layer_profile_level_idc[i] += uiTmp;
// RNOK ( pcReadIf->getCode( uiTmp, 8, ""));
// m_layer_profile_level_idc[i] = m_layer_profile_level_idc[i] << 8;
// m_layer_profile_level_idc[i] += uiTmp;
// //RNOK ( pcReadIf->getFlag( m_layer_constraint_set0_flag[i], "" ) );
// //RNOK ( pcReadIf->getFlag( m_layer_constraint_set1_flag[i], "" ) );
// //RNOK ( pcReadIf->getFlag( m_layer_constraint_set2_flag[i], "" ) );
// //RNOK ( pcReadIf->getFlag( m_layer_constraint_set3_flag[i], "" ) );
// //UInt uiReserved;
// //RNOK ( pcReadIf->getCode( uiReserved, 4, "" ) );
// //RNOK ( pcReadIf->getCode( m_layer_level_idc[i], 8, "" ) );
// //JVT-W051 }
// }
// else
// {//JVT-S036 lsj
// RNOK ( pcReadIf->getUvlc( m_profile_level_info_src_layer_id_delta[i], "" ) );
// rl = m_layer_id[i] - m_profile_level_info_src_layer_id_delta[i];
// //m_layer_profile_idc[i] = m_layer_profile_idc[rl];
// m_layer_profile_level_idc[i] = m_layer_profile_level_idc[rl];//JVT-W051
// m_layer_constraint_set0_flag[i] = m_layer_constraint_set0_flag[rl];
// m_layer_constraint_set1_flag[i] = m_layer_constraint_set1_flag[rl];
// m_layer_constraint_set2_flag[i] = m_layer_constraint_set2_flag[rl];
// m_layer_constraint_set3_flag[i] = m_layer_constraint_set3_flag[rl];
// m_layer_level_idc[i] = m_layer_level_idc[rl];
// }
//
// /* if( m_decoding_dependency_info_present_flag[i] )
// {
// RNOK ( pcReadIf->getCode( m_simple_priority_id[i], 6, "" ) );
// RNOK ( pcReadIf->getFlag( m_discardable_flag[i], "" ) );
// RNOK ( pcReadIf->getCode( m_temporal_level[i], 3, "" ) );
// RNOK ( pcReadIf->getCode( m_dependency_id[i], 3, "" ) );
// RNOK ( pcReadIf->getCode( m_quality_level[i], 2, "" ) );
// }
//JVT-S036 lsj */
// if( m_bitrate_info_present_flag[i] )
// {
// RNOK ( pcReadIf->getCode( m_avg_bitrate[i], 16, "" ) );
// //JVT-S036 lsj start
// RNOK ( pcReadIf->getCode( m_max_bitrate_layer[i], 16, "" ) );
// //RNOK ( pcReadIf->getCode( m_max_bitrate_decoded_picture[i], 16, "" ) );
// RNOK ( pcReadIf->getCode( m_max_bitrate_layer_representation[i], 16, "" ) );//JVT-W051
// RNOK ( pcReadIf->getCode( m_max_bitrate_calc_window[i], 16, "" ) );
// //JVT-S036 lsj end
// }
//
// if( m_frm_rate_info_present_flag[i] )
// {
// RNOK ( pcReadIf->getCode( m_constant_frm_rate_idc[i], 2, "" ) );
// RNOK ( pcReadIf->getCode( m_avg_frm_rate[i], 16, "" ) );
// }
// else
// {//JVT-S036 lsj
// RNOK ( pcReadIf->getUvlc( m_frm_rate_info_src_layer_id_delta[i], "" ) );
// rl = m_layer_id[i] - m_frm_rate_info_src_layer_id_delta[i];
// m_constant_frm_rate_idc[i] = m_constant_frm_rate_idc[rl];
// m_avg_frm_rate[i] = m_avg_frm_rate[rl];
// }
//
// if( m_frm_size_info_present_flag[i] )
// {
// RNOK ( pcReadIf->getUvlc( m_frm_width_in_mbs_minus1[i], "" ) );
// RNOK ( pcReadIf->getUvlc( m_frm_height_in_mbs_minus1[i], "" ) );
// }
// else
// {//JVT-S036 lsj
// RNOK ( pcReadIf->getUvlc( m_frm_size_info_src_layer_id_delta[i], "" ) );
// rl = m_layer_id[i] - m_frm_size_info_src_layer_id_delta[i];
// m_frm_width_in_mbs_minus1[i] = m_frm_width_in_mbs_minus1[rl];
// m_frm_width_in_mbs_minus1[i] = m_frm_width_in_mbs_minus1[rl];
// }
//
// if( m_sub_region_layer_flag[i] )
// {
// //JVT-W051 {
// //RNOK ( pcReadIf->getCode( m_base_region_layer_id[i], 8, "" ) );
// RNOK (pcReadIf->getUvlc( m_base_region_layer_id[i], ""));
// //JVT-W051 }
// RNOK ( pcReadIf->getFlag( m_dynamic_rect_flag[i], "" ) );
// //JVT-W051 {
// //if( m_dynamic_rect_flag[i] )
// if ( !m_dynamic_rect_flag[i] )
// //JVT-W051 }
// {
// RNOK( pcReadIf->getCode( m_horizontal_offset[i], 16, "" ) );
// RNOK( pcReadIf->getCode( m_vertical_offset[i], 16, "" ) );
// RNOK( pcReadIf->getCode( m_region_width[i], 16, "" ) );
// RNOK( pcReadIf->getCode( m_region_height[i], 16, "" ) );
// }
// }
// else
// {//JVT-S036 lsj
// RNOK ( pcReadIf->getUvlc( m_sub_region_info_src_layer_id_delta[i], "" ) );
// rl = m_layer_id[i] - m_sub_region_info_src_layer_id_delta[i];
// m_base_region_layer_id[i] = m_base_region_layer_id[rl];
// m_dynamic_rect_flag[i] = m_dynamic_rect_flag[rl];
// if( m_dynamic_rect_flag[i] )
// {
// m_horizontal_offset[i] = m_horizontal_offset[rl];
// m_vertical_offset[i] = m_vertical_offset[rl];
// m_region_width[i] = m_region_width[rl];
// m_region_height[i] = m_region_height[rl];
// }
//
// }
//
// //JVT-S036 lsj start
// if( m_sub_pic_layer_flag[i] )
// {
// //JVT-W051 {
// //RNOK ( pcReadIf->getCode( m_roi_id[i], 3, "" ) );
// RNOK ( pcReadIf->getUvlc( m_roi_id[i], ""));
// //JVT-W051 }
// }
// //if ( m_iroi_slice_division_info_present_flag[i] )
// if ( m_iroi_division_info_present_flag[i] )//JVT-W051
// {
// //JVT-W051 {
// //RNOK ( pcReadIf->getCode( m_iroi_division_type[i], 2, "ScalableSEI:iroi_slice_division_type" ) );
// RNOK ( pcReadIf->getCode( m_iroi_division_type[i], 1, "ScalableSEI:iroi_slice_division_type" ) );
// //JVT-W051 }
// if( m_iroi_division_type[i] == 0 )
// {
// //RNOK ( pcReadIf->getUvlc( m_grid_slice_width_in_mbs_minus1[i], "ScalableSEI:grid_slice_width_in_mbs_minus1" ) );
// //RNOK ( pcReadIf->getUvlc( m_grid_slice_height_in_mbs_minus1[i], "ScalableSEI:grid_slice_height_in_mbs_minus1" ) );
// RNOK ( pcReadIf->getUvlc( m_grid_width_in_mbs_minus1[i], "ScalableSEI:grid_width_in_mbs_minus1" ) );//JVT-W051
// RNOK ( pcReadIf->getUvlc( m_grid_height_in_mbs_minus1[i], "ScalableSEI:grid_height_in_mbs_minus1" ) );//JVT-W051
// }
// else if( m_iroi_division_type[i] == 1 )
// {
// RNOK ( pcReadIf->getUvlc( m_num_rois_minus1[i], "ScalableSEI:num_slice_minus1" ) );
// // JVT-S054 (ADD) ->
// if ( m_first_mb_in_roi[i] != NULL )
// free( m_first_mb_in_roi[i] );
// m_first_mb_in_roi[i] = (UInt*)malloc( m_num_rois_minus1[i]*sizeof(UInt) );
// if ( m_roi_width_in_mbs_minus1[i] != NULL )
// free( m_roi_width_in_mbs_minus1[i] );
// m_roi_width_in_mbs_minus1[i] = (UInt*)malloc( m_num_rois_minus1[i]*sizeof(UInt) );
// if ( m_roi_height_in_mbs_minus1[i] != NULL )
// free( m_roi_height_in_mbs_minus1[i] );
// m_roi_height_in_mbs_minus1[i] = (UInt*)malloc( m_num_rois_minus1[i]*sizeof(UInt) );
// // JVT-S054 (ADD) <-
// for ( j = 0; j <= m_num_rois_minus1[i]; j++ )
// {
// RNOK ( pcReadIf->getUvlc( m_first_mb_in_roi[i][j], "ScalableSEI: first_mb_in_slice" ) );
// RNOK ( pcReadIf->getUvlc( m_roi_width_in_mbs_minus1[i][j], "ScalableSEI:slice_width_in_mbs_minus1" ) );
// RNOK ( pcReadIf->getUvlc( m_roi_height_in_mbs_minus1[i][j], "ScalableSEI:slice_height_in_mbs_minus1" ) );
// }
// }
// else if ( m_iroi_division_type[i] == 2 )
// {
// // JVT-S054 (REPLACE) ->
// RNOK ( pcReadIf->getUvlc( m_num_rois_minus1[i], "ScalableSEI:num_slice_minus1" ) );
// /*
// 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 ( pcReadIf->getUvlc( 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 uiReadBits = (UInt)ceil( log( (double) (m_num_rois_minus1[i] + 1) ) / log(2.) );
// if (uiReadBits == 0)
// uiReadBits = 1;
// if ( m_slice_id[i] != NULL )
// free( m_slice_id[i] );
// m_slice_id[i] = (UInt*)malloc( uiPicSizeInMbs*sizeof(UInt) );
// for ( j = 0; j < uiPicSizeInMbs; j++ )
// {
// RNOK ( pcReadIf->getCode( m_slice_id[i][j], uiReadBits, "" ) );
// }
// // JVT-S054 (REPLACE) <-
// }
// }
// //JVT-S036 lsj end
//
// if( m_layer_dependency_info_present_flag[i] )
// {
// RNOK ( pcReadIf->getUvlc( m_num_directly_dependent_layers[i], "" ) );
//// BUG_FIX liuhui{
// for( j = 0; j < m_num_directly_dependent_layers[i]; j++ )
// {
// RNOK ( pcReadIf->getUvlc( m_directly_dependent_layer_id_delta_minus1[i][j], "" ) );//JVT-S036 lsj
// }
//// BUG_FIX liuhui}
// }
// else
// {//JVT-S036 lsj
// RNOK ( pcReadIf->getUvlc( m_layer_dependency_info_src_layer_id_delta[i], "" ) );
// rl = m_layer_id[i] - m_layer_dependency_info_src_layer_id_delta[i];
// m_num_directly_dependent_layers[i] = m_num_directly_dependent_layers[rl];
// for( j = 0; j < m_num_directly_dependent_layers[i]; j++ )
// {
// m_directly_dependent_layer_id_delta_minus1[i][j] = m_directly_dependent_layer_id_delta_minus1[rl][j];
// }
// }
//
// if( m_init_parameter_sets_info_present_flag[i] )
// {
//// BUG_FIX liuhui{
// RNOK ( pcReadIf->getUvlc( m_num_init_seq_parameter_set_minus1[i], "" ) );
// for( j = 0; j <= m_num_init_seq_parameter_set_minus1[i]; j++ )
// {
// RNOK ( pcReadIf->getUvlc( m_init_seq_parameter_set_id_delta[i][j], "" ) );
// }
// RNOK ( pcReadIf->getUvlc( m_num_init_pic_parameter_set_minus1[i], "" ) );
// for( j = 0; j <= m_num_init_pic_parameter_set_minus1[i]; j++ )
// {
// RNOK ( pcReadIf->getUvlc( m_init_pic_parameter_set_id_delta[i][j], "" ) );
// }
//// BUG_FIX liuhui}
// }
// else
// {//JVT-S036 lsj
// RNOK ( pcReadIf->getUvlc( m_init_parameter_sets_info_src_layer_id_delta[i], "" ) );
// rl = m_layer_id[i] - m_init_parameter_sets_info_src_layer_id_delta[i];
// m_num_init_seq_parameter_set_minus1[i] = m_num_init_seq_parameter_set_minus1[rl];
// for( j = 0; j <= m_num_init_seq_parameter_set_minus1[i]; j++ )
// {
// m_init_seq_parameter_set_id_delta[i][j] = m_init_seq_parameter_set_id_delta[rl][j];
// }
// m_num_init_pic_parameter_set_minus1[i] = m_num_init_pic_parameter_set_minus1[rl];
// for( j = 0; j <= m_num_init_pic_parameter_set_minus1[i]; j++ )
// {
// m_init_pic_parameter_set_id_delta[i][j] = m_init_pic_parameter_set_id_delta[rl][j];
// }
// }
// //JVT-W051 {
// if (m_bitstream_restriction_flag[i])
// {
// RNOK (pcReadIf->getFlag( m_motion_vectors_over_pic_boundaries_flag[i], "") );
// RNOK (pcReadIf->getUvlc( m_ma
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -