Ignore:
Timestamp:
31 Dec 2012, 18:33:14 (12 years ago)
Author:
mitsubishi-htm
Message:

A final release, as planned

  • Migrate to HTM 5.1
  • For VC project files, only VC9 file is updated
  • To be used as an additional anchor for CE1.h for 3rd JCTVC meeting at Geneva
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-4.0.1-VSP-dev0/source/Lib/TLibCommon/TComSlice.h

    r193 r213  
    144144#endif
    145145
    146 #if VIDYO_VPS_INTEGRATION
     146#if VIDYO_VPS_INTEGRATION|QC_MVHEVC_B0046
    147147/// VPS class
    148148
     
    156156
    157157  UInt        m_uiExtensionType;
    158  
     158#if !QC_MVHEVC_B0046 
    159159  Bool        m_bDependentFlag[MAX_LAYER_NUM];
     160#else
     161  UInt        m_uiNumHRDParameter;
     162  UInt        m_numAddiLayerOperationPoints;
     163  UInt        m_numAddiProLevelSets;
     164  UInt        m_numDirectRefLayer[MAX_LAYER_NUM];
     165  UInt        m_numDirectRefID[MAX_LAYER_NUM][MAX_LAYER_NUM];
     166  UInt        m_numOpLayerIdMinus1[MAX_LAYER_NUM];
     167  UInt        m_numOpLayerId[MAX_LAYER_NUM][MAX_LAYER_NUM];
     168#endif
    160169  UInt        m_uiViewId[MAX_LAYER_NUM];
     170#if !QC_MVHEVC_B0046 
    161171  Bool        m_bDepthFlag[MAX_LAYER_NUM];
     172#endif
    162173  Int         m_iViewOrderIdx[MAX_LAYER_NUM];
     174#if !QC_MVHEVC_B0046 
    163175  UInt        m_uiDependentLayer[MAX_LAYER_NUM];
     176#endif
    164177
    165178  UInt        m_numReorderPics[MAX_TLAYER];
     
    182195  Bool    getTemporalNestingFlag   ()         { return m_uiMaxLayers;   }
    183196  Void    setTemporalNestingFlag   (UInt t)   { m_bTemporalIdNestingFlag = t; }
    184  
     197#if !QC_MVHEVC_B0046
    185198  Void    setExtensionType(UInt v)                     { m_uiExtensionType = v;    }
    186199  UInt    getExtensionType()                             { return m_uiExtensionType; }
     
    188201  Void    setDependentFlag(Bool d, UInt layer)              { m_bDependentFlag[layer] = d;    }
    189202  Bool    getDependentFlag(UInt layer)                      { return m_bDependentFlag[layer]; }
    190 
     203#endif
    191204  Void    setViewId(UInt v, UInt layer)                     { m_uiViewId[layer] = v;    }
    192205  UInt    getViewId(UInt layer)                             { return m_uiViewId[layer]; }
    193  
     206#if !QC_MVHEVC_B0046
    194207  Void    setDepthFlag(Bool d, UInt layer)                  { m_bDepthFlag[layer] = d;    }
    195208  Bool    getDepthFlag(UInt layer)                          { return m_bDepthFlag[layer]; }
    196 
     209#endif
    197210  Void    setViewOrderIdx(Int v, UInt layer)                { m_iViewOrderIdx[layer] = v;    }
    198211  Int     getViewOrderIdx(UInt layer)                       { return m_iViewOrderIdx[layer]; }
    199  
     212#if !QC_MVHEVC_B0046  
    200213  Void    setDependentLayer(UInt v, UInt layer)                     { m_uiDependentLayer[layer] = v;    }
    201214  UInt    getDependentLayer(UInt layer)                             { return m_uiDependentLayer[layer]; }
    202  
     215#endif
    203216  Void    setNumReorderPics(UInt v, UInt tLayer)                { m_numReorderPics[tLayer] = v;    }
    204217  UInt    getNumReorderPics(UInt tLayer)                        { return m_numReorderPics[tLayer]; }
     
    209222  Void    setMaxLatencyIncrease(UInt v, UInt tLayer)                { m_uiMaxLatencyIncrease[tLayer] = v;    }
    210223  UInt    getMaxLatencyIncrease(UInt tLayer)                        { return m_uiMaxLatencyIncrease[tLayer]; }
    211  
     224#if QC_MVHEVC_B0046
     225  Void    setNumHRDParameters(UInt n)                                { m_uiNumHRDParameter = n;    }
     226  UInt    getNumHRDParameters()                                      { return m_uiNumHRDParameter; }
     227  Void    setNumDirectRefLayer(UInt n, UInt layer)                   { m_numDirectRefLayer[layer] = n;        };
     228  UInt    getNumDirectRefLayer(UInt layer)                           { return m_numDirectRefLayer[layer];     };
     229  Void    setDirectRefLayerId (UInt n, UInt layer, UInt refId)       { m_numDirectRefID[layer][refId] = n;   assert(refId < MAX_NUM_REF ); };
     230  UInt    getDirectRefLayerId (        UInt layer, UInt refId)       { return m_numDirectRefID[layer][refId]; };
     231  UInt    getNumAddiLayerOperationPoints(      )               { return m_numAddiLayerOperationPoints;  };
     232  Void    setNumAddiLayerOperationPoints(UInt n)                {  m_numAddiLayerOperationPoints = n;  };
     233  Void    setNumAddiProLevelSets        (UInt n)                     {  m_numAddiProLevelSets = n;}
     234  UInt    getNumAddiProLevelSets        (      )                     { return m_numAddiProLevelSets;}
     235
     236  Void    setNumOpLayerIdMinus1         (UInt n, UInt layer)                     {  m_numOpLayerIdMinus1[layer] = n;}
     237  UInt    getNumOpLayerIdMinus1         (UInt layer      )                       { return m_numOpLayerIdMinus1[layer];}
     238
     239  Void    setNumOpLayerId               (UInt n, UInt layer, UInt OpId)                     {  m_numOpLayerId[layer][OpId] = n;}
     240  UInt    getNumOpLayerId               (UInt layer, UInt OpId        )                     { return m_numOpLayerId[layer][OpId];}
     241 
     242#endif
    212243};
    213244
     
    218249{
    219250private:
    220 #if VIDYO_VPS_INTEGRATION
     251#if VIDYO_VPS_INTEGRATION|QC_MVHEVC_B0046
    221252  Int          m_VPSId;
    222253#endif
     
    323354  Bool        m_bUseMVI;
    324355#endif
     356 
     357#if RWTH_SDC_DLT_B0036
     358  Bool        m_bUseDLT;
     359 
     360  UInt        m_uiBitsPerDepthValue;
     361  UInt        m_uiNumDepthmapValues;
     362  UInt*       m_uiDepthValue2Idx;
     363  UInt*       m_uiIdx2DepthValue;
     364#endif
    325365
    326366  Bool     m_bLFCrossTileBoundaryFlag;
     
    354394#endif
    355395
    356 #if OL_DEPTHLIMIT_A0044
    357   Bool m_bDepthPartitionLimiting;
     396#if HHI_DMM_PRED_TEX && FLEX_CODING_ORDER_M23723
     397  Bool  m_bUseDMM34;
     398#endif
     399
     400#if OL_QTLIMIT_PREDCODING_B0068
     401  Bool m_bUseQTLPC;
    358402#endif
    359403
     
    384428  Bool  m_bVspDepthPresentFlag;
    385429#endif
     430  Bool  m_bIsFirstInView;
    386431#endif
    387432
     
    389434  TComSPS();
    390435  virtual ~TComSPS();
    391 #if VIDYO_VPS_INTEGRATION
     436#if VIDYO_VPS_INTEGRATION|QC_MVHEVC_B0046
    392437  Int  getVPSId       ()         { return m_VPSId;          }
    393438  Void setVPSId       (Int i)    { m_VPSId = i;             }
     
    554599  Bool getUseMVI                  ()           {return m_bUseMVI;}
    555600#endif
     601 
     602#if RWTH_SDC_DLT_B0036
     603  Bool getUseDLT      ()          { return m_bUseDLT; }
     604  Void setUseDLT      ( Bool b ) { m_bUseDLT  = b;          }
     605 
     606  UInt getBitsPerDepthValue()       { return m_bUseDLT?m_uiBitsPerDepthValue:g_uiBitDepth; }
     607  UInt getNumDepthValues()          { return m_bUseDLT?m_uiNumDepthmapValues:g_uiIBDI_MAX; }
     608  UInt depthValue2idx(Pel uiValue)  { return m_bUseDLT?m_uiDepthValue2Idx[uiValue]:uiValue; }
     609  Pel  idx2DepthValue(UInt uiIdx)   { return m_bUseDLT?m_uiIdx2DepthValue[uiIdx]:uiIdx; }
     610  Void setDepthLUTs   (UInt* uidx2DepthValue = NULL, UInt uiNumDepthValues = 0);
     611#endif
    556612
    557613  UInt      getMaxTLayers()                           { return m_uiMaxTLayers; }
     
    630686#endif
    631687
    632 #if OL_DEPTHLIMIT_A0044
    633   Void setUseDPL(Bool b) {m_bDepthPartitionLimiting = b; }
    634   Bool getUseDPL()       {return m_bDepthPartitionLimiting;}
     688#if HHI_DMM_PRED_TEX && FLEX_CODING_ORDER_M23723
     689  Bool getUseDMM34()         { return m_bUseDMM34; }
     690  Void setUseDMM34( Bool b ) { m_bUseDMM34 = b;    }
     691#endif
     692
     693#if OL_QTLIMIT_PREDCODING_B0068
     694  Void setUseQTLPC( Bool b ) { m_bUseQTLPC = b;    }
     695  Bool getUseQTLPC()         { return m_bUseQTLPC; }
    635696#endif
    636697
    637698  Void initMultiviewSPS      ( UInt uiViewId, Int iViewOrderIdx = 0, UInt uiCamParPrecision = 0, Bool bCamParSlice = false, Int** aaiScale = 0, Int** aaiOffset = 0 );
    638699  Void initMultiviewSPSDepth ( UInt uiViewId, Int iViewOrderIdx );
     700#if VSP_N
     701  Void initMultiviewSPSFlex  ( UInt uiViewId, Int iViewOrderIdx, Bool bDepth, Bool bPresent = 0, UInt uiCamParPrecision = 0, Bool bCamParSlice = false, Int** aaiScale = 0, Int** aaiOffset = 0 );
     702#endif
    639703
    640704  UInt getViewId             ()  { return m_uiViewId; }
     
    686750  Bool  getVspDepthPresentFlag()         { return m_bVspDepthPresentFlag; }
    687751#endif
     752  Void  setIsFirstInView( Bool b ) { m_bIsFirstInView = b; }
     753  Bool  getIsFirstInView()         { return m_bIsFirstInView; }
     754  Void  copyCameraParameterPre( UInt uiCamParPrecision, Bool bCamParSlice );
     755  Void  copyCameraParameterPost( Int* aiScale0, Int* aiScale1, Int* aiOffset0, Int* aiOffset1 );
    688756#endif
    689757};
     
    879947  Bool     m_cabacInitPresentFlag;
    880948  UInt     m_encCABACTableIdx;           // Used to transmit table selection across slices
    881 #if POZNAN_CABAC_INIT_FLAG_FIX
     949#if FIX_POZNAN_CABAC_INIT_FLAG
    882950  UInt     m_encPrevPOC;
    883951#endif
     
    10141082  Bool     getCabacInitPresentFlag()                { return m_cabacInitPresentFlag;    }
    10151083  UInt     getEncCABACTableIdx()                    { return m_encCABACTableIdx;        }
    1016 #if POZNAN_CABAC_INIT_FLAG_FIX
     1084#if FIX_POZNAN_CABAC_INIT_FLAG
    10171085  Void     setEncPrevPOC(UInt uiPOC)                { m_encPrevPOC = uiPOC;             }
    10181086  UInt     getEncPrevPOC()                          { return m_encPrevPOC;              }
     
    12171285 
    12181286  // access channel
    1219 #if VIDYO_VPS_INTEGRATION
     1287#if VIDYO_VPS_INTEGRATION|QC_MVHEVC_B0046
    12201288  TComVPS*    m_pcVPS;
     1289#endif
     1290#if QC_IV_AS_LT_B0046
     1291  Bool                  m_bWasLongTerm[2][MAX_NUM_REF+1]; //was long-term picture
    12211292#endif
    12221293  TComSPS*    m_pcSPS;
     
    12931364  Int        m_aaiCodedOffset[2][MAX_VIEW_NUM];
    12941365
    1295 #if SONY_COLPIC_AVAILABILITY
     1366#if SONY_COLPIC_AVAILABILITY|QC_MVHEVC_B0046|VSP_N
    12961367  Int        m_iViewOrderIdx;
     1368#endif
     1369#if LGE_ILLUCOMP_B0045
     1370  Bool        m_bApplyIC;
    12971371#endif
    12981372
     
    13181392  Void      initTiles();
    13191393
    1320 #if VIDYO_VPS_INTEGRATION
     1394#if VIDYO_VPS_INTEGRATION|QC_MVHEVC_B0046
    13211395  Void      setVPS          ( TComVPS* pcVPS ) { m_pcVPS = pcVPS; }
    13221396  TComVPS*  getVPS          () { return m_pcVPS; }
    13231397#endif
     1398#if QC_IV_AS_LT_B0046
     1399  Void          setWasLongTerm( Bool lt,  RefPicList e, Int iRefIdx ) { m_bWasLongTerm[e][iRefIdx] = lt; }
     1400  Bool          getWasLongTerm( RefPicList e, Int iRefIdx           ) { return m_bWasLongTerm[e][iRefIdx] ; }
     1401#endif
     1402
    13241403  Void      setSPS          ( TComSPS* pcSPS ) { m_pcSPS = pcSPS; }
    13251404  TComSPS*  getSPS          () { return m_pcSPS; }
     
    13891468  Int       getRefViewId        ( RefPicList e, Int iRefIdx)    { return  m_aiRefViewIdList[e][iRefIdx]; }
    13901469  TComPic*  getTexturePic       () const                        { return  m_pcTexturePic; }
    1391 #if SONY_COLPIC_AVAILABILITY
     1470#if SONY_COLPIC_AVAILABILITY || VSP_N
    13921471  Int       getViewOrderIdx     ()                                  { return  m_iViewOrderIdx;              }
    13931472#endif
     
    14411520  Void      setRefViewId        ( Int i, RefPicList e, Int iRefIdx ) { m_aiRefViewIdList[e][iRefIdx] = i; }
    14421521  Void      setTexturePic       ( TComPic *pcTexturePic )       { m_pcTexturePic = pcTexturePic; }
    1443 #if SONY_COLPIC_AVAILABILITY
     1522#if SONY_COLPIC_AVAILABILITY || VSP_N
    14441523  Void      setViewOrderIdx     ( Int i )                       { m_iViewOrderIdx     = i;      }
    14451524#endif
     
    15981677  Void setViewId( Int viewId )       { m_viewId = viewId;   }
    15991678  Int  getViewId()                   { return m_viewId;     }
     1679#if QC_MVHEVC_B0046
     1680  Void    setViewOrderIdx(Int v, UInt layer)                { m_iViewOrderIdx = v;    }
     1681  Int     getViewOrderIdx()                                 { return m_iViewOrderIdx; }
     1682#endif
    16001683  Void setIsDepth( Bool isDepth )    { m_isDepth = isDepth; }
    16011684  Bool getIsDepth()                  { return m_isDepth;    }
     
    16071690  Int*      getInvCodedScale      ()  { return m_aaiCodedScale [1]; }
    16081691  Int*      getInvCodedOffset     ()  { return m_aaiCodedOffset[1]; }
     1692
     1693#if LGE_ILLUCOMP_B0045
     1694  Void      setApplyIC            ( Bool b ) { m_bApplyIC = b; }
     1695  Bool      getApplyIC            ()  { return m_bApplyIC; }
     1696  Void      xSetApplyIC           ();
     1697#endif
    16091698
    16101699#if FORCE_REF_VSP
     
    16791768  }
    16801769
     1770#if QC_MVHEVC_B0046
     1771  Void clearPSList()
     1772  {
     1773    m_paramsetMap.clear();
     1774  }
     1775#endif
    16811776private:
    16821777  std::map<Int,T *> m_paramsetMap;
     
    16891784  ParameterSetManager();
    16901785  virtual ~ParameterSetManager();
    1691 #if VIDYO_VPS_INTEGRATION
     1786#if VIDYO_VPS_INTEGRATION|QC_MVHEVC_B0046
    16921787  //! store video parameter set and take ownership of it
    16931788  Void storeVPS(TComVPS *vps) { m_vpsMap.storePS( vps->getVPSId(), vps); };
     
    16951790  TComVPS* getVPS(Int vpsId)  { return m_vpsMap.getPS(vpsId); };
    16961791  TComVPS* getFirstVPS()      { return m_vpsMap.getFirstPS(); };
     1792#if QC_MVHEVC_B0046
     1793  Void     clearVPS()         { m_vpsMap.clearPSList(); };
     1794  Void     clearSPS()         { m_spsMap.clearPSList(); };
     1795  Void     clearPPS()         { m_ppsMap.clearPSList(); };
     1796#endif
    16971797#endif
    16981798  //! store sequence parameter set and take ownership of it
     
    17171817  ParameterSetMap<TComPPS> m_ppsMap;
    17181818  ParameterSetMap<TComAPS> m_apsMap;
    1719 #if VIDYO_VPS_INTEGRATION
     1819#if VIDYO_VPS_INTEGRATION|QC_MVHEVC_B0046
    17201820  ParameterSetMap<TComVPS> m_vpsMap;
    17211821#endif
Note: See TracChangeset for help on using the changeset viewer.