Ignore:
Timestamp:
14 Sep 2015, 19:41:29 (9 years ago)
Author:
tech
Message:

Integrated general SEI changes and following SEIs:

  • Multiview view position SEI
  • Multiview acquisition information SEI
  • Multiview scene information SEI
  • Inter-layer constrained tile sets SEI
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-15.1-dev0/source/Lib/TLibCommon/SEI.h

    r1313 r1328  
    4242#include "CommonDef.h"
    4343#include "libmd5/MD5.h"
     44 
     45
     46#if NH_MV_SEI
     47#include "TAppCommon/program_options_lite.h"
     48using namespace std;
     49namespace po = df::program_options_lite;
     50#endif
     51
    4452//! \ingroup TLibCommon
    4553//! \{
    4654class TComSPS;
     55#if NH_MV_SEI
     56class TComSlice;
     57class SEIScalableNesting;
     58#endif
    4759
    4860/**
     
    8496    CHROMA_SAMPLING_FILTER_HINT          = 140,
    8597    KNEE_FUNCTION_INFO                   = 141
    86 #if NH_MV
    87     ,SUB_BITSTREAM_PROPERTY              = 164
     98#if NH_MV_SEI
     99    ,COLOUR_REMAPPING_INFO                    = 142,
     100    DEINTERLACED_FIELD_IDENTIFICATION         = 143,
     101    LAYERS_NOT_PRESENT                        = 160,
     102    INTER_LAYER_CONSTRAINED_TILE_SETS         = 161,
     103    BSP_NESTING                               = 162,
     104    BSP_INITIAL_ARRIVAL_TIME                  = 163,
     105    SUB_BITSTREAM_PROPERTY                    = 164,
     106    ALPHA_CHANNEL_INFO                        = 165,
     107    OVERLAY_INFO                              = 166,
     108    TEMPORAL_MV_PREDICTION_CONSTRAINTS        = 167,
     109    FRAME_FIELD_INFO                          = 168,
     110    THREE_DIMENSIONAL_REFERENCE_DISPLAYS_INFO = 176,
     111    DEPTH_REPRESENTATION_INFO                 = 177,
     112    MULTIVIEW_SCENE_INFO                      = 178,
     113    MULTIVIEW_ACQUISITION_INFO                = 179,
     114    MULTIVIEW_VIEW_POSITION                   = 180
     115#if NH_3D
     116    ,    ALTERNATIVE_DEPTH_INFO                    = 181
     117#endif
    88118#endif
    89119
    90120  };
    91121
    92   SEI() {}
     122  SEI();
     123
    93124  virtual ~SEI() {}
    94 
    95   static const Char *getSEIMessageString(SEI::PayloadType payloadType);
    96 
     125  virtual SEI*       getCopy( ) const;
     126  static const Char *getSEIMessageString(SEI::PayloadType payloadType );
    97127  virtual PayloadType payloadType() const = 0;
     128
     129#if NH_MV_SEI
     130  static SEI*        getNewSEIMessage         ( SEI::PayloadType payloadType );
     131  Bool               insertSei                ( Int curLayerId, Int curPoc, Int curTid, Int curNaluType ) const; 
     132
     133
     134  virtual Void       setupFromSlice           ( const TComSlice* slice );
     135  virtual Void       setupFromCfgFile         ( const Char* cfgFile );
     136  virtual Bool       checkCfg                 ( const TComSlice* slice   );
     137
     138  Void               xPrintCfgErrorIntro();
     139  Void               xCheckCfgRange           ( Bool& wrongConfig, Int val, Int minVal, Int maxVal, const Char* seName );
     140  Void               xCheckCfg                ( Bool& wrongConfig, Bool cond, const Char* errStr );
     141  Void               xAddGeneralOpts          ( po::Options &opts, IntAry1d defAppLayerIds, IntAry1d defAppPocs, IntAry1d defAppTids, IntAry1d defAppVclNaluTypes,
     142                                                Int defSeiNaluId, Int defPositionInSeiNalu, Bool defModifyByEncoder );
     143    // Filters where to insert SEI in the bitstream.
     144  // When the respected vector is empty, all layersIds, POCs, Tids, and Nalu types are used.
     145  IntAry1d                       m_applicableLayerIds;
     146  IntAry1d                       m_applicablePocs;
     147  IntAry1d                       m_applicableTids;
     148  IntAry1d                       m_applicableVclNaluTypes;     
     149
     150  Int                            m_payloadType;              // Payload type
     151  Int                            m_seiNaluId;                // Identifies to which NAL unit  the SEI is added.
     152  Int                            m_positionInSeiNalu;        // Identifies the order within the NAL unit
     153  Bool                           m_modifyByEncoder;          // Don't use the SEI cfg-file, but let let the encoder setup the NALU.   
     154
     155  SEIScalableNesting*            m_scalNestSeiContThisSei;   // Pointer to scalable nesting SEI containing the SEI. When NULL, the SEI is not nested.
     156#endif
    98157};
    99158
     
    473532
    474533#if NH_MV
     534#if !NH_MV_SEI
    475535class SEISubBitstreamProperty : public SEI
    476536{
     
    489549  std::vector<Int>  m_maxBitRate;
    490550};
     551#endif
    491552#endif
    492553
     
    598659};
    599660
    600 #endif
    601 
     661#if NH_MV_SEI
     662#if NH_MV_SEI_TBD
     663class SEILayersNotPresent : public SEI
     664{
     665public:
     666  PayloadType payloadType( ) const { return LAYERS_NOT_PRESENT; }
     667  SEILayersNotPresent ( ) { };
     668  ~SEILayersNotPresent( ) { };
     669  SEI* getCopy( ) const { return new SEILayersNotPresent(*this); };
     670
     671  Void setupFromCfgFile( const Char*      cfgFile );
     672  Void setupFromSlice  ( const TComSlice* slice   );
     673  Bool checkCfg        ( const TComSlice* slice   );
     674
     675  Int       m_lnpSeiActiveVpsId;
     676  BoolAry1d m_layerNotPresentFlag;
     677};
     678#endif
     679
     680class SEIInterLayerConstrainedTileSets : public SEI
     681{
     682public:
     683  PayloadType payloadType( ) const { return INTER_LAYER_CONSTRAINED_TILE_SETS; }
     684  SEIInterLayerConstrainedTileSets ( ) { };
     685  ~SEIInterLayerConstrainedTileSets( ) { };
     686  SEI* getCopy( ) const { return new SEIInterLayerConstrainedTileSets(*this); };
     687
     688  Void setupFromCfgFile( const Char*      cfgFile );
     689  Bool checkCfg        ( const TComSlice* slice   );
     690
     691  Bool      m_ilAllTilesExactSampleValueMatchFlag;
     692  Bool      m_ilOneTilePerTileSetFlag;
     693  Int       m_ilNumSetsInMessageMinus1;
     694  Bool      m_skippedTileSetPresentFlag;
     695  IntAry1d  m_ilctsId;
     696  IntAry1d  m_ilNumTileRectsInSetMinus1;
     697  IntAry2d  m_ilTopLeftTileIndex;
     698  IntAry2d  m_ilBottomRightTileIndex;
     699  IntAry1d  m_ilcIdc;
     700  BoolAry1d m_ilExactSampleValueMatchFlag;
     701  Int       m_allTilesIlcIdc;
     702
     703  Void      resizeDimI( Int sizeDimI )
     704  {
     705    m_ilctsId                    .resize( sizeDimI );
     706    m_ilNumTileRectsInSetMinus1  .resize( sizeDimI );
     707    m_ilTopLeftTileIndex         .resize( sizeDimI );
     708    m_ilBottomRightTileIndex     .resize( sizeDimI );
     709    m_ilcIdc                     .resize( sizeDimI );
     710    m_ilExactSampleValueMatchFlag.resize( sizeDimI );
     711  }
     712
     713  Void      resizeDimJ( Int i, Int sizeDimJ )
     714  {
     715    m_ilTopLeftTileIndex    [i].resize( sizeDimJ );
     716    m_ilBottomRightTileIndex[i].resize( sizeDimJ );
     717  }
     718
     719};
     720
     721#if NH_MV_TBD
     722class SEIBspNesting : public SEI
     723{
     724public:
     725  PayloadType payloadType( ) const { return BSP_NESTING; }
     726  SEIBspNesting ( ) { };
     727  ~SEIBspNesting( ) { };
     728  SEI* getCopy( ) const { return new SEIBspNesting(*this); };
     729
     730  Void setupFromCfgFile( const Char*      cfgFile );
     731  Void setupFromSlice  ( const TComSlice* slice   );
     732  Bool checkCfg        ( const TComSlice* slice   );
     733
     734  Int       m_seiOlsIdx;
     735  Int       m_seiPartitioningSchemeIdx;
     736  Int       m_bspIdx;
     737  Int       m_bspNestingZeroBit;
     738  Int       m_numSeisInBspMinus1;
     739};
     740
     741class SEIBspInitialArrivalTime : public SEI
     742{
     743public:
     744  PayloadType payloadType( ) const { return BSP_INITIAL_ARRIVAL_TIME; }
     745  SEIBspInitialArrivalTime ( ) { };
     746  ~SEIBspInitialArrivalTime( ) { };
     747  SEI* getCopy( ) const { return new SEIBspInitialArrivalTime(*this); };
     748
     749  Void setupFromCfgFile( const Char*      cfgFile );
     750  Void setupFromSlice  ( const TComSlice* slice   );
     751  Bool checkCfg        ( const TComSlice* slice   );
     752
     753  IntAry1d  m_nalInitialArrivalDelay;
     754  IntAry1d  m_vclInitialArrivalDelay;
     755};
     756#endif
     757
     758class SEISubBitstreamProperty : public SEI
     759{
     760public:
     761  PayloadType payloadType( ) const { return SUB_BITSTREAM_PROPERTY; }
     762  SEISubBitstreamProperty ( ) { };
     763  ~SEISubBitstreamProperty( ) { };
     764  SEI* getCopy( ) const { return new SEISubBitstreamProperty(*this); };
     765
     766  Void setupFromCfgFile( const Char*      cfgFile );
     767  Bool checkCfg        ( const TComSlice* slice   );
     768  Void resizeArrays    ( );
     769
     770  Int       m_sbPropertyActiveVpsId;
     771  Int       m_numAdditionalSubStreamsMinus1;
     772  IntAry1d  m_subBitstreamMode;
     773  IntAry1d  m_olsIdxToVps;
     774  IntAry1d  m_highestSublayerId;
     775  IntAry1d  m_avgSbPropertyBitRate;
     776  IntAry1d  m_maxSbPropertyBitRate;
     777};
     778
     779#if NH_MV_SEI_TBD
     780class SEIAlphaChannelInfo : public SEI
     781{
     782public:
     783  PayloadType payloadType( ) const { return ALPHA_CHANNEL_INFO; }
     784  SEIAlphaChannelInfo ( ) { };
     785  ~SEIAlphaChannelInfo( ) { };
     786  SEI* getCopy( ) const { return new SEIAlphaChannelInfo(*this); };
     787
     788  Void setupFromCfgFile( const Char*      cfgFile );
     789  Void setupFromSlice  ( const TComSlice* slice   );
     790  Bool checkCfg        ( const TComSlice* slice   );
     791
     792  Bool      m_alphaChannelCancelFlag;
     793  Int       m_alphaChannelUseIdc;
     794  Int       m_alphaChannelBitDepthMinus8;
     795  Int       m_alphaTransparentValue;
     796  Int       m_alphaOpaqueValue;
     797  Bool      m_alphaChannelIncrFlag;
     798  Bool      m_alphaChannelClipFlag;
     799  Bool      m_alphaChannelClipTypeFlag;
     800};
     801
     802class SEIOverlayInfo : public SEI
     803{
     804public:
     805  PayloadType payloadType( ) const { return OVERLAY_INFO; }
     806  SEIOverlayInfo ( ) { };
     807  ~SEIOverlayInfo( ) { };
     808  SEI* getCopy( ) const { return new SEIOverlayInfo(*this); };
     809
     810  Void setupFromCfgFile( const Char*      cfgFile );
     811  Void setupFromSlice  ( const TComSlice* slice   );
     812  Bool checkCfg        ( const TComSlice* slice   );
     813
     814  Bool      m_overlayInfoCancelFlag;
     815  Int       m_overlayContentAuxIdMinus128;
     816  Int       m_overlayLabelAuxIdMinus128;
     817  Int       m_overlayAlphaAuxIdMinus128;
     818  Int       m_overlayElementLabelValueLengthMinus8;
     819  Int       m_numOverlaysMinus1;
     820  IntAry1d  m_overlayIdx;
     821  BoolAry1d m_languageOverlayPresentFlag;
     822  IntAry1d  m_overlayContentLayerId;
     823  BoolAry1d m_overlayLabelPresentFlag;
     824  IntAry1d  m_overlayLabelLayerId;
     825  BoolAry1d m_overlayAlphaPresentFlag;
     826  IntAry1d  m_overlayAlphaLayerId;
     827  IntAry1d  m_numOverlayElementsMinus1;
     828  IntAry2d  m_overlayElementLabelMin;
     829  IntAry2d  m_overlayElementLabelMax;
     830  Int       m_overlayZeroBit;
     831  IntAry1d  m_overlayLanguage;
     832  IntAry1d  m_overlayName;
     833  IntAry2d  m_overlayElementName;
     834  Bool      m_overlayInfoPersistenceFlag;
     835};
     836
     837#endif
     838
     839class SEITemporalMvPredictionConstraints : public SEI
     840{
     841public:
     842  PayloadType payloadType( ) const { return TEMPORAL_MV_PREDICTION_CONSTRAINTS; }
     843  SEITemporalMvPredictionConstraints ( ) { };
     844  ~SEITemporalMvPredictionConstraints( ) { };
     845  SEI* getCopy( ) const { return new SEITemporalMvPredictionConstraints(*this); };
     846
     847  Void setupFromCfgFile( const Char*      cfgFile );
     848  Bool checkCfg        ( const TComSlice* slice   );
     849
     850  Bool      m_prevPicsNotUsedFlag;
     851  Bool      m_noIntraLayerColPicFlag;
     852};
     853
     854#if NH_MV_SEI_TBD
     855class SEIFrameFieldInfo : public SEI
     856{
     857public:
     858  PayloadType payloadType( ) const { return FRAME_FIELD_INFO; }
     859  SEIFrameFieldInfo ( ) { };
     860  ~SEIFrameFieldInfo( ) { };
     861  SEI* getCopy( ) const { return new SEIFrameFieldInfo(*this); };
     862
     863  Void setupFromCfgFile( const Char*      cfgFile );
     864  Void setupFromSlice  ( const TComSlice* slice   );
     865  Bool checkCfg        ( const TComSlice* slice   );
     866
     867  Int       m_ffinfoPicStruct;
     868  Int       m_ffinfoSourceScanType;
     869  Bool      m_ffinfoDuplicateFlag;
     870};
     871
     872class SEIThreeDimensionalReferenceDisplaysInfo : public SEI
     873{
     874public:
     875  PayloadType payloadType( ) const { return THREE_DIMENSIONAL_REFERENCE_DISPLAYS_INFO; }
     876  SEIThreeDimensionalReferenceDisplaysInfo ( ) { };
     877  ~SEIThreeDimensionalReferenceDisplaysInfo( ) { };
     878  SEI* getCopy( ) const { return new SEIThreeDimensionalReferenceDisplaysInfo(*this); };
     879
     880  Void setupFromCfgFile( const Char*      cfgFile );
     881  Void setupFromSlice  ( const TComSlice* slice   );
     882  Bool checkCfg        ( const TComSlice* slice   );
     883
     884  Int       m_precRefDisplayWidth;
     885  Bool      m_refViewingDistanceFlag;
     886  Int       m_precRefViewingDist;
     887  Int       m_numRefDisplaysMinus1;
     888  IntAry1d  m_leftViewId;
     889  IntAry1d  m_rightViewId;
     890  IntAry1d  m_exponentRefDisplayWidth;
     891  IntAry1d  m_mantissaRefDisplayWidth;
     892  IntAry1d  m_exponentRefViewingDistance;
     893  IntAry1d  m_mantissaRefViewingDistance;
     894  BoolAry1d m_additionalShiftPresentFlag;
     895  IntAry1d  m_numSampleShiftPlus512;
     896  Bool      m_threeDimensionalReferenceDisplaysExtensionFlag;
     897};
     898
     899class SEIDepthRepresentationInfo : public SEI
     900{
     901public:
     902  PayloadType payloadType( ) const { return DEPTH_REPRESENTATION_INFO; }
     903  SEIDepthRepresentationInfo ( ) { };
     904  ~SEIDepthRepresentationInfo( ) { };
     905  SEI* getCopy( ) const { return new SEIDepthRepresentationInfo(*this); };
     906
     907  Void setupFromCfgFile( const Char*      cfgFile );
     908  Void setupFromSlice  ( const TComSlice* slice   );
     909  Bool checkCfg        ( const TComSlice* slice   );
     910
     911  Bool      m_zNearFlag;
     912  Bool      m_zFarFlag;
     913  Bool      m_dMinFlag;
     914  Bool      m_dMaxFlag;
     915  Int       m_depthRepresentationType;
     916  Int       m_disparityRefViewId;
     917  Int       m_depthNonlinearRepresentationNumMinus1;
     918};
     919
     920class SEIDepthRepInfoElement : public SEI
     921{
     922public:
     923  PayloadType payloadType( ) const { return DEPTH_REP_INFO_ELEMENT; }
     924  SEIDepthRepInfoElement ( ) { };
     925  ~SEIDepthRepInfoElement( ) { };
     926  SEI* getCopy( ) const { return new SEIDepthRepInfoElement(*this); };
     927
     928  Void setupFromCfgFile( const Char*      cfgFile );
     929  Void setupFromSlice  ( const TComSlice* slice   );
     930  Bool checkCfg        ( const TComSlice* slice   );
     931
     932  Bool      m_daSignFlag;
     933  Int       m_daExponent;
     934  Int       m_daMantissaLenMinus1;
     935  Int       m_daMantissa;
     936};
     937#endif
     938
     939class SEIMultiviewSceneInfo : public SEI
     940{
     941public:
     942  PayloadType payloadType( ) const { return MULTIVIEW_SCENE_INFO; }
     943  SEIMultiviewSceneInfo ( ) { };
     944  ~SEIMultiviewSceneInfo( ) { };
     945  SEI* getCopy( ) const { return new SEIMultiviewSceneInfo(*this); };
     946
     947  Void setupFromCfgFile( const Char*      cfgFile );
     948  Bool checkCfg        ( const TComSlice* slice   );
     949
     950  Int       m_minDisparity;
     951  Int       m_maxDisparityRange;
     952};
     953
     954
     955class SEIMultiviewAcquisitionInfo : public SEI
     956{
     957public:
     958  PayloadType payloadType( ) const { return MULTIVIEW_ACQUISITION_INFO; }
     959  SEIMultiviewAcquisitionInfo ( ) { };
     960  ~SEIMultiviewAcquisitionInfo( ) { };
     961  SEI* getCopy( ) const { return new SEIMultiviewAcquisitionInfo(*this); };
     962
     963  Void setupFromCfgFile( const Char*      cfgFile );
     964  Bool checkCfg        ( const TComSlice* slice   );
     965
     966  Int getNumViewsMinus1( ) const
     967  {
     968    Int numViewsMinus1;
     969    if( m_scalNestSeiContThisSei != NULL )
     970    {
     971      numViewsMinus1 = m_scalNestSeiContThisSei->m_nestingNumLayersMinus1;
     972    } 
     973    else
     974    {
     975      numViewsMinus1 = 0;
     976    }
     977    return numViewsMinus1;
     978  }
     979 
     980  Void resizeArrays( )
     981  {
     982    Int numViews = getNumViewsMinus1() + 1;     
     983    m_signFocalLengthX       .resize( numViews );
     984    m_exponentFocalLengthX   .resize( numViews );
     985    m_mantissaFocalLengthX   .resize( numViews );
     986    m_signFocalLengthY       .resize( numViews );
     987    m_exponentFocalLengthY   .resize( numViews );
     988    m_mantissaFocalLengthY   .resize( numViews );
     989    m_signPrincipalPointX    .resize( numViews );
     990    m_exponentPrincipalPointX.resize( numViews );
     991    m_mantissaPrincipalPointX.resize( numViews );
     992    m_signPrincipalPointY    .resize( numViews );
     993    m_exponentPrincipalPointY.resize( numViews );
     994    m_mantissaPrincipalPointY.resize( numViews );
     995    m_signSkewFactor         .resize( numViews );
     996    m_exponentSkewFactor     .resize( numViews );
     997    m_mantissaSkewFactor     .resize( numViews );
     998
     999    m_signR                  .resize( numViews );   
     1000    m_exponentR              .resize( numViews );
     1001    m_mantissaR              .resize( numViews ); 
     1002    m_signT                  .resize( numViews );
     1003    m_exponentT              .resize( numViews );
     1004    m_mantissaT              .resize( numViews );
     1005
     1006    for( Int i = 0; i  < numViews ; i++ )
     1007    {
     1008      m_signR    [i].resize( 3 );   
     1009      m_exponentR[i].resize( 3 );
     1010      m_mantissaR[i].resize( 3 ); 
     1011      m_signT    [i].resize( 3 );
     1012      m_exponentT[i].resize( 3 );
     1013      m_mantissaT[i].resize( 3 );
     1014
     1015      for (Int j = 0; j < 3; j++)
     1016      {
     1017        m_signR    [i][j].resize( 3 );   
     1018        m_exponentR[i][j].resize( 3 );
     1019        m_mantissaR[i][j].resize( 3 ); 
     1020      }
     1021    }
     1022  }
     1023 
     1024  UInt getMantissaFocalLengthXLen   ( Int i ) const ;
     1025  UInt getMantissaFocalLengthYLen   ( Int i ) const ;
     1026  UInt getMantissaPrincipalPointXLen( Int i ) const ;
     1027  UInt getMantissaPrincipalPointYLen( Int i ) const ;
     1028  UInt getMantissaSkewFactorLen     ( Int i ) const ;
     1029  UInt getMantissaRLen              ( Int i, Int j, Int k ) const ;
     1030  UInt getMantissaTLen              ( Int i, Int j )        const ;
     1031
     1032  Bool      m_intrinsicParamFlag;
     1033  Bool      m_extrinsicParamFlag;
     1034  Bool      m_intrinsicParamsEqualFlag;
     1035  Int       m_precFocalLength;
     1036  Int       m_precPrincipalPoint;
     1037  Int       m_precSkewFactor;
     1038  BoolAry1d m_signFocalLengthX;
     1039  IntAry1d  m_exponentFocalLengthX;
     1040  IntAry1d  m_mantissaFocalLengthX;
     1041  BoolAry1d m_signFocalLengthY;
     1042  IntAry1d  m_exponentFocalLengthY;
     1043  IntAry1d  m_mantissaFocalLengthY;
     1044  BoolAry1d m_signPrincipalPointX;
     1045  IntAry1d  m_exponentPrincipalPointX;
     1046  IntAry1d  m_mantissaPrincipalPointX;
     1047  BoolAry1d m_signPrincipalPointY;
     1048  IntAry1d  m_exponentPrincipalPointY;
     1049  IntAry1d  m_mantissaPrincipalPointY;
     1050  BoolAry1d m_signSkewFactor;
     1051  IntAry1d  m_exponentSkewFactor;
     1052  IntAry1d  m_mantissaSkewFactor;
     1053  Int       m_precRotationParam;
     1054  Int       m_precTranslationParam;
     1055  BoolAry3d m_signR;
     1056  IntAry3d  m_exponentR;
     1057  IntAry3d  m_mantissaR;
     1058  BoolAry2d m_signT;
     1059  IntAry2d  m_exponentT;
     1060  IntAry2d  m_mantissaT;
     1061private:
     1062  UInt xGetSyntaxElementLen( Int expo, Int prec, Int val ) const;
     1063};
     1064
     1065
     1066
     1067class SEIMultiviewViewPosition : public SEI
     1068{
     1069public:
     1070  PayloadType payloadType( ) const { return MULTIVIEW_VIEW_POSITION; }
     1071  SEIMultiviewViewPosition ( ) { };
     1072  ~SEIMultiviewViewPosition( ) { };
     1073  SEI* getCopy( ) const { return new SEIMultiviewViewPosition(*this); };
     1074
     1075  Void setupFromCfgFile( const Char*      cfgFile );
     1076  Void setupFromSlice  ( const TComSlice* slice   );
     1077  Bool checkCfg        ( const TComSlice* slice   );
     1078 
     1079  Int       m_numViewsMinus1;
     1080  IntAry1d  m_viewPosition;
     1081};
     1082
     1083#if NH_MV_SEI_TBD
     1084class SEIAlternativeDepthInfo : public SEI
     1085{
     1086public:
     1087  PayloadType payloadType( ) const { return ALTERNATIVE_DEPTH_INFO; }
     1088  SEIAlternativeDepthInfo ( ) { };
     1089  ~SEIAlternativeDepthInfo( ) { };
     1090  SEI* getCopy( ) const { return new SEIAlternativeDepthInfo(*this); };
     1091
     1092  Void setupFromCfgFile( const Char*      cfgFile );
     1093  Void setupFromSlice  ( const TComSlice* slice   );
     1094  Bool checkCfg        ( const TComSlice* slice   );
     1095
     1096  Bool      m_alternativeDepthInfoCancelFlag;
     1097  Int       m_depthType;
     1098  Int       m_numConstituentViewsGvdMinus1;
     1099  Bool      m_depthPresentGvdFlag;
     1100  Bool      m_zGvdFlag;
     1101  Bool      m_intrinsicParamGvdFlag;
     1102  Bool      m_rotationGvdFlag;
     1103  Bool      m_translationGvdFlag;
     1104  BoolAry1d m_signGvdZNearFlag;
     1105  IntAry1d  m_expGvdZNear;
     1106  IntAry1d  m_manLenGvdZNearMinus1;
     1107  IntAry1d  m_manGvdZNear;
     1108  BoolAry1d m_signGvdZFarFlag;
     1109  IntAry1d  m_expGvdZFar;
     1110  IntAry1d  m_manLenGvdZFarMinus1;
     1111  IntAry1d  m_manGvdZFar;
     1112  Int       m_precGvdFocalLength;
     1113  Int       m_precGvdPrincipalPoint;
     1114  Int       m_precGvdRotationParam;
     1115  Int       m_precGvdTranslationParam;
     1116  BoolAry1d m_signGvdFocalLengthX;
     1117  IntAry1d  m_expGvdFocalLengthX;
     1118  IntAry1d  m_manGvdFocalLengthX;
     1119  BoolAry1d m_signGvdFocalLengthY;
     1120  IntAry1d  m_expGvdFocalLengthY;
     1121  IntAry1d  m_manGvdFocalLengthY;
     1122  BoolAry1d m_signGvdPrincipalPointX;
     1123  IntAry1d  m_expGvdPrincipalPointX;
     1124  IntAry1d  m_manGvdPrincipalPointX;
     1125  BoolAry1d m_signGvdPrincipalPointY;
     1126  IntAry1d  m_expGvdPrincipalPointY;
     1127  IntAry1d  m_manGvdPrincipalPointY;
     1128  BoolAry3d m_signGvdR;
     1129  IntAry3d  m_expGvdR;
     1130  IntAry3d  m_manGvdR;
     1131  BoolAry1d m_signGvdTX;
     1132  IntAry1d  m_expGvdTX;
     1133  IntAry1d  m_manGvdTX;
     1134  Int       m_minOffsetXInt;
     1135  Int       m_minOffsetXFrac;
     1136  Int       m_maxOffsetXInt;
     1137  Int       m_maxOffsetXFrac;
     1138  Bool      m_offsetYPresentFlag;
     1139  Int       m_minOffsetYInt;
     1140  Int       m_minOffsetYFrac;
     1141  Int       m_maxOffsetYInt;
     1142  Int       m_maxOffsetYFrac;
     1143  Bool      m_warpMapSizePresentFlag;
     1144  Int       m_warpMapWidthMinus2;
     1145  Int       m_warpMapHeightMinus2;
     1146};
     1147#endif
     1148
     1149#endif
     1150
     1151#endif
    6021152//! \}
Note: See TracChangeset for help on using the changeset viewer.