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

📄 sei.h

📁 JMVM MPEG MVC/3DAV 测试平台 国际通用标准
💻 H
📖 第 1 页 / 共 5 页
字号:
   ErrVal	 read ( HeaderSymbolReadIf*   pcReadIf );
   
   UInt getMaxDisparity()		const { return m_uiMaxDisparity; }
 
   Void setMaxDisparity( UInt uiId )		{ m_uiMaxDisparity = uiId; }
 
 private:
   UInt	    m_uiMaxDisparity;
 };

class H264AVCCOMMONLIB_API MultiviewAcquisitionInfoSei : public SEIMessage // SEI JVT-W060
 {
 protected:
   MultiviewAcquisitionInfoSei()
   : SEIMessage(MULTIVIEW_ACQUISITION_INFO_SEI)
	,m_bIntrinsicParamFlag(false)
	,m_bIntrinsicParamsEqual(false)
	,m_bExtrinsicParamFlag(false)
   {}
	~MultiviewAcquisitionInfoSei()	 
	{
		release_memory();

	}
 public:
   static ErrVal create( MultiviewAcquisitionInfoSei*& rpcSeiMessage );
   ErrVal    destroy ();
   ErrVal	 write ( HeaderSymbolWriteIf* pcWriteIf );
   ErrVal	 read ( HeaderSymbolReadIf*   pcReadIf );
   
   
   void initialize_memory(UInt num_of_views)
   {
	   UInt i,j;

		m_bSignFocalLengthX = new Bool[num_of_views];
		m_bSignFocalLengthY = new Bool[num_of_views];
		m_bSignPrincipalPointX = new Bool[num_of_views];
		m_bSignPrincipalPointY = new Bool[num_of_views];
		m_bSignRadialDistortion = new Bool[num_of_views];

		m_uiExponentFocalLengthX = new UInt[num_of_views];
		m_uiExponentFocalLengthY = new UInt[num_of_views];
		m_uiExponentPrincipalPointX = new UInt[num_of_views];
		m_uiExponentPrincipalPointY = new UInt[num_of_views];
		m_uiExponentRadialDistortion = new UInt[num_of_views];

		m_uiMantissaFocalLengthX = new UInt[num_of_views];
		m_uiMantissaFocalLengthY = new UInt[num_of_views];
		m_uiMantissaPrincipalPointX = new UInt[num_of_views];
		m_uiMantissaPrincipalPointY = new UInt[num_of_views];
		m_uiMantissaRadialDistortion = new UInt[num_of_views];

		m_bSignRotationParam = new Bool**[num_of_views];		
		for (i=0;i<num_of_views;i++) {
			m_bSignRotationParam[i] = new Bool*[3];							
			for (j=0;j<3;j++)
				m_bSignRotationParam[i][j]= new Bool[3];
		}
		m_bSignTranslationParam= new Bool*[num_of_views];
		for (i=0;i<num_of_views;i++) 
			m_bSignTranslationParam[i] = new Bool[3];										

		
		m_uiExponentRotationParam = new UInt**[num_of_views];		
		for (i=0;i<num_of_views;i++) {
			m_uiExponentRotationParam[i] = new UInt*[3];							
			for (j=0;j<3;j++)
				m_uiExponentRotationParam[i][j]= new UInt[3];
		}

		m_uiExponentTranslationParam= new UInt*[num_of_views];
		for (i=0;i<num_of_views;i++) 
			m_uiExponentTranslationParam[i] = new UInt[3];	

		
		m_uiMantissaRotationParam = new UInt**[num_of_views];		
		for (i=0;i<num_of_views;i++) {
			m_uiMantissaRotationParam[i] = new UInt*[3];							
			for (j=0;j<3;j++)
				m_uiMantissaRotationParam[i][j]= new UInt[3];
		}

		m_uiMantissaTranslationParam= new UInt*[num_of_views];
		for (i=0;i<num_of_views;i++) 
			m_uiMantissaTranslationParam[i] = new UInt[3];	


				
		m_uiNumViewMinus1=num_of_views-1;
   }
   void release_memory()
   {
	    int i,j;
		int num_of_views=m_uiNumViewMinus1+1;

		delete [] m_bSignFocalLengthX;
		delete [] m_bSignFocalLengthY;
		delete [] m_bSignPrincipalPointX;
		delete [] m_bSignPrincipalPointY;
		delete [] m_bSignRadialDistortion;

		delete [] m_uiExponentFocalLengthX;
		delete [] m_uiExponentFocalLengthY;
		delete [] m_uiExponentPrincipalPointX;
		delete [] m_uiExponentPrincipalPointY;
		delete [] m_uiExponentRadialDistortion;

		delete [] m_uiMantissaFocalLengthX;
		delete [] m_uiMantissaFocalLengthY;
		delete [] m_uiMantissaPrincipalPointX;
		delete [] m_uiMantissaPrincipalPointY;
		delete [] m_uiMantissaRadialDistortion;
			
		for (i=0;i<num_of_views;i++) {									
			for (j=0;j<3;j++)
				delete [] m_bSignRotationParam[i][j];
			delete [] m_bSignRotationParam[i];
		}
		delete [] m_bSignRotationParam;
		
		for (i=0;i<num_of_views;i++) 
			delete [] m_bSignTranslationParam[i];
		delete [] m_bSignTranslationParam;


		for (i=0;i<num_of_views;i++) {									
			for (j=0;j<3;j++)
				delete [] m_uiExponentRotationParam[i][j];
			delete [] m_uiExponentRotationParam[i];
		}
		delete [] m_uiExponentRotationParam;		

		for (i=0;i<num_of_views;i++) 
			delete [] m_uiExponentTranslationParam[i];
		delete [] m_uiExponentTranslationParam;

		for (i=0;i<num_of_views;i++) {									
			for (j=0;j<3;j++)
				delete [] m_uiMantissaRotationParam[i][j];
			delete [] m_uiMantissaRotationParam[i];
		}
		delete [] m_uiMantissaRotationParam;
		
		for (i=0;i<num_of_views;i++) 
			delete [] m_uiMantissaTranslationParam[i];
		delete [] m_uiMantissaTranslationParam;
			
   }

   UInt getVarLength(UInt E, UInt Prec_SE) const {
		if (E==0)
			return max(0, -30+Prec_SE);
		else 
			return max(0, E-31+Prec_SE);
   }

   ErrVal getReconstSceneAcqSEI(UInt E, UInt Sign, UInt Bin_mantissa, UInt V, double *Recon)
   {
		int i,result=0;
		int sgn= (Sign==0) ? 1 : -1;

		*Recon=0.0;
		double factor=(double)(1.0)/(double)(1<<V);
		for (i=0;i<(int)V;i++) {
			*Recon += factor*((Bin_mantissa>>i)&0x01);
			factor *= (double)2.0;
		}
		if (E>0 && E<63)
			*Recon = (double)sgn*(double)pow((double)2,(double)E-31)*(1.0+*Recon);
		else if (E==63)
			result= -1; // invalid entry
		else if (E==0)
			*Recon = (double)sgn*(double)pow((double)2,(double)-30)*(*Recon);	
		
		return result;

   }
   UInt getNumViewMinus1() const {return m_uiNumViewMinus1;}
   Bool getIntrinsicParamFlag()	const {return m_bIntrinsicParamFlag;}
   Bool getIntrinsicParamsEqual()	const {return m_bIntrinsicParamsEqual;}
   UInt getPrecFocalLength()	const {return m_uiPrecFocalLength;}	
   UInt getPrecPrincipalPoint()	const {return m_uiPrecPrincipalPoint;}
   UInt getPrecRadialDistortion()	const {return m_uiPrecRadialDistortion;}
   UInt getPrecRotationParam()	const {return m_uiPrecRotationParam;}	
   UInt getPrecTranslationParam()	const {return m_uiPrecTranslationParam;}


   Bool getSignFocalLengthX(UInt uiIndex) const {return m_bSignFocalLengthX[uiIndex];}
   Bool getSignFocalLengthY(UInt uiIndex) const {return m_bSignFocalLengthY[uiIndex];}
   Bool getSignPrincipalPointX(UInt uiIndex) const {return m_bSignPrincipalPointX[uiIndex];}
   Bool getSignPrincipalPointY(UInt uiIndex) const {return m_bSignPrincipalPointY[uiIndex];}
   Bool getSignRadialDistortion(UInt uiIndex) const {return m_bSignRadialDistortion[uiIndex];}

   UInt getExponentFocalLengthX(UInt uiIndex) const {return m_uiExponentFocalLengthX[uiIndex];}
   UInt getExponentFocalLengthY(UInt uiIndex) const {return m_uiExponentFocalLengthY[uiIndex];}
   UInt getExponentPrincipalPointX(UInt uiIndex) const {return m_uiExponentPrincipalPointX[uiIndex];}
   UInt getExponentPrincipalPointY(UInt uiIndex) const {return m_uiExponentPrincipalPointY[uiIndex];}
   UInt getExponentRadialDistortion(UInt uiIndex) const {return m_uiExponentRadialDistortion[uiIndex];}

   UInt getMantissaFocalLengthX(UInt uiIndex) const {return m_uiMantissaFocalLengthX[uiIndex];}
   UInt getMantissaFocalLengthY(UInt uiIndex) const {return m_uiMantissaFocalLengthY[uiIndex];}
   UInt getMantissaPrincipalPointX(UInt uiIndex) const {return m_uiMantissaPrincipalPointX[uiIndex];}
   UInt getMantissaPrincipalPointY(UInt uiIndex) const {return m_uiMantissaPrincipalPointY[uiIndex];}
   UInt getMantissaRadialDistortion(UInt uiIndex) const {return m_uiMantissaRadialDistortion[uiIndex];}

   Bool getExtrinsicParamFlag()	const {return m_bExtrinsicParamFlag;}
   Bool getSignRotationParam(UInt uiIndex, UInt RowIdx, UInt ColIdx) const { return m_bSignRotationParam[uiIndex][RowIdx][ColIdx];}
   UInt getExponentRotationParam(UInt uiIndex, UInt RowIdx, UInt ColIdx) const { return m_uiExponentRotationParam[uiIndex][RowIdx][ColIdx];}
   UInt getMantissaRotationParam(UInt uiIndex, UInt RowIdx, UInt ColIdx) const { return m_uiMantissaRotationParam[uiIndex][RowIdx][ColIdx];}
     
   Bool getSignTranslationParam(UInt uiIndex, UInt RowIdx) const { return m_bSignTranslationParam[uiIndex][RowIdx];}
   UInt getExponentTranslationParam(UInt uiIndex, UInt RowIdx) const { return m_uiExponentTranslationParam[uiIndex][RowIdx];}
   UInt getMantissaTranslationParam(UInt uiIndex, UInt RowIdx) const { return m_uiMantissaTranslationParam[uiIndex][RowIdx];}
   
   	   			
   void setIntrinsicParamFlag(Bool IntParamFlag)	{ m_bIntrinsicParamFlag=IntParamFlag;}
   void setIntrinsicParamsEqual(Bool IntParamEqual)	{ m_bIntrinsicParamsEqual=IntParamEqual;}
   void setPrecFocalLength(UInt PrecFocalLength)	{ m_uiPrecFocalLength=PrecFocalLength;}
   void setPrecPrincipalPoint(UInt PrecPrincipalPoint)	{ m_uiPrecPrincipalPoint=PrecPrincipalPoint;}
   void setPrecRadialDistortion(UInt PrecRadialDistortion)	{ m_uiPrecRadialDistortion=PrecRadialDistortion;}
   void setPrecRotationParam(UInt PrecRotationParam)	{ m_uiPrecRotationParam=PrecRotationParam;}
   void setPrecTranslationParam(UInt PrecTranslationParam)	{ m_uiPrecTranslationParam=PrecTranslationParam;}

   void setSignFocalLengthX(UInt uiIndex, Bool value) {m_bSignFocalLengthX[uiIndex]=value;}
   void setSignFocalLengthY(UInt uiIndex, Bool value) {m_bSignFocalLengthY[uiIndex]=value;}
   void setSignPrincipalPointX(UInt uiIndex, Bool value) { m_bSignPrincipalPointX[uiIndex]=value;}
   void setSignPrincipalPointY(UInt uiIndex, Bool value){ m_bSignPrincipalPointY[uiIndex]=value;}
   void setSignRadialDistortion(UInt uiIndex, Bool value){ m_bSignRadialDistortion[uiIndex]=value;}

   void setExponentFocalLengthX(UInt uiIndex, UInt value) {m_uiExponentFocalLengthX[uiIndex]=value;}
   void setExponentFocalLengthY(UInt uiIndex, UInt value) {m_uiExponentFocalLengthY[uiIndex]=value;}
   void setExponentPrincipalPointX(UInt uiIndex, UInt value) { m_uiExponentPrincipalPointX[uiIndex]=value;}
   void setExponentPrincipalPointY(UInt uiIndex, UInt value){ m_uiExponentPrincipalPointY[uiIndex]=value;}
   void setExponentRadialDistortion(UInt uiIndex, UInt value){ m_uiExponentRadialDistortion[uiIndex]=value;}

   void setMantissaFocalLengthX(UInt uiIndex, UInt value) {m_uiMantissaFocalLengthX[uiIndex]=value;}
   void setMantissaFocalLengthY(UInt uiIndex, UInt value) {m_uiMantissaFocalLengthY[uiIndex]=value;}
   void setMantissaPrincipalPointX(UInt uiIndex, UInt value) { m_uiMantissaPrincipalPointX[uiIndex]=value;}
   void setMantissaPrincipalPointY(UInt uiIndex, UInt value){ m_uiMantissaPrincipalPointY[uiIndex]=value;}
   void setMantissaRadialDistortion(UInt uiIndex, UInt value){ m_uiMantissaRadialDistortion[uiIndex]=value;}

   void setExtrinsicParamFlag(Bool ExtParamFlag)	{ m_bExtrinsicParamFlag=ExtParamFlag;}
   void setSignRotationParam(UInt uiIndex, UInt RowIdx, UInt ColIdx, Bool value) {m_bSignRotationParam[uiIndex][RowIdx][ColIdx]=value;}
   void setExponentRotationParam(UInt uiIndex, UInt RowIdx, UInt ColIdx, UInt value) {m_uiExponentRotationParam[uiIndex][RowIdx][ColIdx]=value;}
   void setMantissaRotationParam(UInt uiIndex, UInt RowIdx, UInt ColIdx, UInt value) {m_uiMantissaRotationParam[uiIndex][RowIdx][ColIdx]=value;}
   
   void setSignTranslationParam(UInt uiIndex, UInt RowIdx, Bool value) {m_bSignTranslationParam[uiIndex][RowIdx]=value;}
   void setExponentTranslationParam(UInt uiIndex, UInt RowIdx,UInt value) {m_uiExponentTranslationParam[uiIndex][RowIdx]=value;}
   void setMantissaTranslationParam(UInt uiIndex, UInt RowIdx,UInt value) {m_uiMantissaTranslationParam[uiIndex][RowIdx]=value;}   	

   
 private:
   UInt		m_uiNumViewMinus1;	
   Bool		m_bIntrinsicParamFlag;
   Bool		m_bIntrinsicParamsEqual;
   UInt		m_uiPrecFocalLength;
   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -