Ignore:
Timestamp:
26 Nov 2012, 18:35:20 (12 years ago)
Author:
qualcomm
Message:

JCT3V-B0046, MVHEVC codec;
Two bugs fixed for HTM:
1) encoder crash, see the macro 'BUG_FIX_HTM'
2) wrong place for '#endif' in TComPrediction.h

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-5.0-Qualcomm/source/Lib/TLibCommon/TComSlice.h

    r189 r194  
    144144#endif
    145145
    146 #if VIDYO_VPS_INTEGRATION
     146#if VIDYO_VPS_INTEGRATION|MVHEVC
    147147/// VPS class
    148148
     
    156156
    157157  UInt        m_uiExtensionType;
    158  
     158#if !MVHEVC 
    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 !MVHEVC 
    161171  Bool        m_bDepthFlag[MAX_LAYER_NUM];
     172#endif
    162173  Int         m_iViewOrderIdx[MAX_LAYER_NUM];
     174#if !MVHEVC 
    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 !MVHEVC
    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 !MVHEVC
    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 !MVHEVC  
    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 MVHEVC
     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|MVHEVC
    221252  Int          m_VPSId;
    222253#endif
     
    391422  TComSPS();
    392423  virtual ~TComSPS();
    393 #if VIDYO_VPS_INTEGRATION
     424#if VIDYO_VPS_INTEGRATION|MVHEVC
    394425  Int  getVPSId       ()         { return m_VPSId;          }
    395426  Void setVPSId       (Int i)    { m_VPSId = i;             }
     
    12211252 
    12221253  // access channel
    1223 #if VIDYO_VPS_INTEGRATION
     1254#if VIDYO_VPS_INTEGRATION|MVHEVC
    12241255  TComVPS*    m_pcVPS;
     1256#endif
     1257#if IV_AS_LT
     1258  Bool                  m_bWasLongTerm[2][MAX_NUM_REF+1]; //was long-term picture
    12251259#endif
    12261260  TComSPS*    m_pcSPS;
     
    12971331  Int        m_aaiCodedOffset[2][MAX_VIEW_NUM];
    12981332
    1299 #if SONY_COLPIC_AVAILABILITY
     1333#if SONY_COLPIC_AVAILABILITY|MVHEVC
    13001334  Int         m_iViewOrderIdx;
    13011335#endif
     
    13111345  Void      initTiles();
    13121346
    1313 #if VIDYO_VPS_INTEGRATION
     1347#if VIDYO_VPS_INTEGRATION|MVHEVC
    13141348  Void      setVPS          ( TComVPS* pcVPS ) { m_pcVPS = pcVPS; }
    13151349  TComVPS*  getVPS          () { return m_pcVPS; }
    13161350#endif
     1351#if IV_AS_LT
     1352  Void          setWasLongTerm( Bool lt,  RefPicList e, Int iRefIdx ) { m_bWasLongTerm[e][iRefIdx] = lt; }
     1353  Bool          getWasLongTerm( RefPicList e, Int iRefIdx           ) { return m_bWasLongTerm[e][iRefIdx] ; }
     1354#endif
     1355
    13171356  Void      setSPS          ( TComSPS* pcSPS ) { m_pcSPS = pcSPS; }
    13181357  TComSPS*  getSPS          () { return m_pcSPS; }
     
    15871626  Void setViewId( Int viewId )       { m_viewId = viewId;   }
    15881627  Int  getViewId()                   { return m_viewId;     }
     1628#if MVHEVC
     1629  Void    setViewOrderIdx(Int v, UInt layer)                { m_iViewOrderIdx = v;    }
     1630  Int     getViewOrderIdx()                                 { return m_iViewOrderIdx; }
     1631#endif
    15891632  Void setIsDepth( Bool isDepth )    { m_isDepth = isDepth; }
    15901633  Bool getIsDepth()                  { return m_isDepth;    }
     
    16551698  }
    16561699
     1700#if MVHEVC
     1701  Void clearPSList()
     1702  {
     1703    m_paramsetMap.clear();
     1704  }
     1705#endif
    16571706private:
    16581707  std::map<Int,T *> m_paramsetMap;
     
    16651714  ParameterSetManager();
    16661715  virtual ~ParameterSetManager();
    1667 #if VIDYO_VPS_INTEGRATION
     1716#if VIDYO_VPS_INTEGRATION|MVHEVC
    16681717  //! store video parameter set and take ownership of it
    16691718  Void storeVPS(TComVPS *vps) { m_vpsMap.storePS( vps->getVPSId(), vps); };
     
    16711720  TComVPS* getVPS(Int vpsId)  { return m_vpsMap.getPS(vpsId); };
    16721721  TComVPS* getFirstVPS()      { return m_vpsMap.getFirstPS(); };
     1722#if MVHEVC
     1723  Void     clearVPS()         { m_vpsMap.clearPSList(); };
     1724  Void     clearSPS()         { m_spsMap.clearPSList(); };
     1725  Void     clearPPS()         { m_ppsMap.clearPSList(); };
     1726#endif
    16731727#endif
    16741728  //! store sequence parameter set and take ownership of it
     
    16931747  ParameterSetMap<TComPPS> m_ppsMap;
    16941748  ParameterSetMap<TComAPS> m_apsMap;
    1695 #if VIDYO_VPS_INTEGRATION
     1749#if VIDYO_VPS_INTEGRATION|MVHEVC
    16961750  ParameterSetMap<TComVPS> m_vpsMap;
    16971751#endif
Note: See TracChangeset for help on using the changeset viewer.