📄 sei.h
字号:
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 + -