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

📄 sei.cpp

📁 JVT-Z203_jsvm.rar
💻 CPP
📖 第 1 页 / 共 5 页
字号:

//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 + -