⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sei.cpp

📁 JVT-Z203_jsvm.rar
💻 CPP
📖 第 1 页 / 共 5 页
字号:
//	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 + -