Changeset 77 in 3DVCSoftware for trunk/source/Lib/TLibCommon/TComSlice.h


Ignore:
Timestamp:
14 Jun 2012, 16:38:29 (12 years ago)
Author:
tech
Message:

Merged with branch/HTM-3.0Samsung REV74 including:

  • restricted residual prediction m24766
  • Inter-view residual prediction m24938
  • VPS concept m24714,m24878, m24945,m24896, m2491
  • reference list modification, restriction on IDR m24876, m24874
  • depth based motion parameter prediction m24829

Fixed bugs:

  • interview prediction
  • VSO

Added:

  • xcode project
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/Lib/TLibCommon/TComSlice.h

    r56 r77  
    144144#endif
    145145
     146#if VIDYO_VPS_INTEGRATION
     147/// VPS class
     148
     149class TComVPS
     150{
     151private:
     152  Int         m_VPSId;
     153        UInt                            m_uiMaxTLayers;
     154        UInt                            m_uiMaxLayers;
     155        Bool                            m_bTemporalIdNestingFlag;
     156
     157        UInt        m_uiExtensionType;
     158 
     159  Bool        m_bDependentFlag[MAX_LAYER_NUM];
     160  UInt        m_uiViewId[MAX_LAYER_NUM];
     161  Bool        m_bDepthFlag[MAX_LAYER_NUM];
     162  Int         m_iViewOrderIdx[MAX_LAYER_NUM];
     163  UInt        m_uiDependentLayer[MAX_LAYER_NUM];
     164
     165  UInt        m_numReorderPics[MAX_TLAYER];
     166  UInt        m_uiMaxDecPicBuffering[MAX_TLAYER];
     167  UInt        m_uiMaxLatencyIncrease[MAX_TLAYER];
     168 
     169public:
     170  TComVPS();
     171  virtual ~TComVPS();
     172       
     173  Int     getVPSId       ()                   { return m_VPSId;          }
     174  Void    setVPSId       (Int i)              { m_VPSId = i;             }
     175       
     176  UInt    getMaxTLayers  ()                   { return m_uiMaxTLayers;   }
     177  Void    setMaxTLayers  (UInt t)             { m_uiMaxTLayers = t; }
     178   
     179  UInt    getMaxLayers   ()                   { return m_uiMaxLayers;   }
     180        Void    setMaxLayers   (UInt l)             { m_uiMaxLayers = l; }
     181       
     182  Bool    getTemporalNestingFlag   ()         { return m_uiMaxLayers;   }
     183        Void    setTemporalNestingFlag   (UInt t)   { m_bTemporalIdNestingFlag = t; }
     184 
     185  Void    setExtensionType(UInt v)                     { m_uiExtensionType = v;    }
     186  UInt    getExtensionType()                             { return m_uiExtensionType; }
     187 
     188  Void    setDependentFlag(Bool d, UInt layer)              { m_bDependentFlag[layer] = d;    }
     189  Bool    getDependentFlag(UInt layer)                      { return m_bDependentFlag[layer]; }
     190
     191  Void    setViewId(UInt v, UInt layer)                     { m_uiViewId[layer] = v;    }
     192  UInt    getViewId(UInt layer)                             { return m_uiViewId[layer]; }
     193 
     194  Void    setDepthFlag(Bool d, UInt layer)                  { m_bDepthFlag[layer] = d;    }
     195  Bool    getDepthFlag(UInt layer)                          { return m_bDepthFlag[layer]; }
     196
     197  Void    setViewOrderIdx(Int v, UInt layer)                { m_iViewOrderIdx[layer] = v;    }
     198  Int     getViewOrderIdx(UInt layer)                       { return m_iViewOrderIdx[layer]; }
     199 
     200  Void    setDependentLayer(UInt v, UInt layer)                     { m_uiDependentLayer[layer] = v;    }
     201  UInt    getDependentLayer(UInt layer)                             { return m_uiDependentLayer[layer]; }
     202 
     203  Void    setNumReorderPics(UInt v, UInt tLayer)                { m_numReorderPics[tLayer] = v;    }
     204  UInt    getNumReorderPics(UInt tLayer)                        { return m_numReorderPics[tLayer]; }
     205 
     206  Void    setMaxDecPicBuffering(UInt v, UInt tLayer)          { m_uiMaxDecPicBuffering[tLayer] = v;    }
     207  UInt    getMaxDecPicBuffering(UInt tLayer)                  { return m_uiMaxDecPicBuffering[tLayer]; }
     208 
     209  Void    setMaxLatencyIncrease(UInt v, UInt tLayer)                { m_uiMaxLatencyIncrease[tLayer] = v;    }
     210  UInt    getMaxLatencyIncrease(UInt tLayer)                        { return m_uiMaxLatencyIncrease[tLayer]; }
     211 
     212};
     213
     214#endif
     215
    146216/// SPS class
    147217class TComSPS
    148218{
    149219private:
     220#if VIDYO_VPS_INTEGRATION
     221        Int                                     m_VPSId;
     222#endif
    150223  Int         m_SPSId;
    151224  Int         m_ProfileIdc;
     
    305378  TComSPS();
    306379  virtual ~TComSPS();
    307 
     380#if VIDYO_VPS_INTEGRATION
     381        Int  getVPSId       ()         { return m_VPSId;          }
     382  Void setVPSId       (Int i)    { m_VPSId = i;             }
     383#endif
    308384  Int  getSPSId       ()         { return m_SPSId;          }
    309385  Void setSPSId       (Int i)    { m_SPSId = i;             }
     
    11091185 
    11101186  // access channel
     1187#if VIDYO_VPS_INTEGRATION
     1188  TComVPS*    m_pcVPS;
     1189#endif
    11111190  TComSPS*    m_pcSPS;
    11121191  TComPPS*    m_pcPPS;
     
    11931272  Void      initTiles();
    11941273
    1195  
     1274#if VIDYO_VPS_INTEGRATION
     1275  Void      setVPS          ( TComVPS* pcVPS ) { m_pcVPS = pcVPS; }
     1276  TComVPS*  getVPS          () { return m_pcVPS; }
     1277#endif
    11961278  Void      setSPS          ( TComSPS* pcSPS ) { m_pcSPS = pcSPS; }
    11971279  TComSPS*  getSPS          () { return m_pcSPS; }
     
    15381620  ParameterSetManager();
    15391621  virtual ~ParameterSetManager();
    1540 
     1622#if VIDYO_VPS_INTEGRATION
     1623  //! store video parameter set and take ownership of it
     1624  Void storeVPS(TComVPS *vps) { m_vpsMap.storePS( vps->getVPSId(), vps); };
     1625  //! get pointer to existing video parameter set 
     1626  TComVPS* getVPS(Int vpsId)  { return m_vpsMap.getPS(vpsId); };
     1627  TComVPS* getFirstVPS()      { return m_vpsMap.getFirstPS(); };
     1628#endif
    15411629  //! store sequence parameter set and take ownership of it
    15421630  Void storeSPS(TComSPS *sps) { m_spsMap.storePS( sps->getSPSId(), sps); };
     
    15601648  ParameterSetMap<TComPPS> m_ppsMap;
    15611649  ParameterSetMap<TComAPS> m_apsMap;
     1650#if VIDYO_VPS_INTEGRATION
     1651  ParameterSetMap<TComVPS> m_vpsMap;
     1652#endif
    15621653};
    15631654
Note: See TracChangeset for help on using the changeset viewer.