Ignore:
Timestamp:
16 Nov 2013, 00:32:03 (11 years ago)
Author:
qualcomm
Message:

Integration of O0225 proposal 2 for all reference layers.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-4.0-dev/source/Lib/TLibCommon/TComSlice.cpp

    r479 r484  
    456456    UInt refLayerIdc = m_interLayerPredLayerIdc[i];
    457457    //inter-layer reference picture
    458 
     458#if O0225_MAX_TID_FOR_REF_LAYERS
     459    Int maxTidIlRefPicsPlus1 = ( m_layerId > 0 && m_activeNumILRRefIdx > 0)? m_pcVPS->getMaxTidIlRefPicsPlus1(ilpPic[refLayerIdc]->getSlice(0)->getLayerId(),m_layerId) : 0;
     460#else
    459461    Int maxTidIlRefPicsPlus1 = ( m_layerId > 0 && m_activeNumILRRefIdx > 0)? m_pcVPS->getMaxTidIlRefPicsPlus1(ilpPic[refLayerIdc]->getSlice(0)->getLayerId()) : 0;
     462#endif
    460463    if( m_layerId > 0 && m_activeNumILRRefIdx > 0 && ( ( (Int)(ilpPic[refLayerIdc]->getSlice(0)->getTLayer())<=  maxTidIlRefPicsPlus1-1) || (maxTidIlRefPicsPlus1==0 && ilpPic[refLayerIdc]->getSlice(0)->getRapPicFlag()) )  )
    461464    {
     
    491494    for( i=0; i < m_pcVPS->getNumDirectRefLayers( m_layerId ); i++ )
    492495    {
     496#if O0225_MAX_TID_FOR_REF_LAYERS
     497      Int maxTidIlRefPicsPlus1 = getVPS()->getMaxTidIlRefPicsPlus1(ilpPic[i]->getSlice(0)->getLayerId(),m_layerId);
     498#else
    493499      Int maxTidIlRefPicsPlus1 = getVPS()->getMaxTidIlRefPicsPlus1(ilpPic[i]->getSlice(0)->getLayerId());
     500#endif
    494501      if( ((Int)(ilpPic[i]->getSlice(0)->getTLayer())<= maxTidIlRefPicsPlus1-1) || (maxTidIlRefPicsPlus1==0 && ilpPic[i]->getSlice(0)->getRapPicFlag() ) )
    495502      {
     
    634641      {
    635642        Int refLayerIdc = m_interLayerPredLayerIdc[i];
     643#if O0225_MAX_TID_FOR_REF_LAYERS
     644        Int maxTidIlRefPicsPlus1 = getVPS()->getMaxTidIlRefPicsPlus1(ilpPic[refLayerIdc]->getSlice(0)->getLayerId(),m_layerId);
     645#else
    636646        Int maxTidIlRefPicsPlus1 = getVPS()->getMaxTidIlRefPicsPlus1(ilpPic[refLayerIdc]->getSlice(0)->getLayerId());
     647#endif
    637648        if( ((Int)(ilpPic[refLayerIdc]->getSlice(0)->getTLayer())<=maxTidIlRefPicsPlus1-1) || (maxTidIlRefPicsPlus1==0 && ilpPic[refLayerIdc]->getSlice(0)->getRapPicFlag()) )
    638649        {
     
    662673      {
    663674        Int refLayerIdc = m_interLayerPredLayerIdc[i];
     675#if O0225_MAX_TID_FOR_REF_LAYERS
     676        Int maxTidIlRefPicsPlus1 = getVPS()->getMaxTidIlRefPicsPlus1(ilpPic[refLayerIdc]->getSlice(0)->getLayerId(),m_layerId);
     677#else
    664678        Int maxTidIlRefPicsPlus1 = getVPS()->getMaxTidIlRefPicsPlus1(ilpPic[refLayerIdc]->getSlice(0)->getLayerId());
     679#endif
    665680        if( ((Int)(ilpPic[refLayerIdc]->getSlice(0)->getTLayer())<=maxTidIlRefPicsPlus1-1) || (maxTidIlRefPicsPlus1==0 && ilpPic[refLayerIdc]->getSlice(0)->getRapPicFlag()) )
    666681        {
     
    699714      {
    700715        Int refLayerIdc = m_interLayerPredLayerIdc[i];
     716#if O0225_MAX_TID_FOR_REF_LAYERS
     717        Int maxTidIlRefPicsPlus1 = getVPS()->getMaxTidIlRefPicsPlus1(ilpPic[refLayerIdc]->getSlice(0)->getLayerId(),m_layerId);
     718#else
    701719        Int maxTidIlRefPicsPlus1 = getVPS()->getMaxTidIlRefPicsPlus1(ilpPic[refLayerIdc]->getSlice(0)->getLayerId());
     720#endif
    702721        if( ((Int)(ilpPic[refLayerIdc]->getSlice(0)->getTLayer())<=maxTidIlRefPicsPlus1-1) || (maxTidIlRefPicsPlus1==0 && ilpPic[refLayerIdc]->getSlice(0)->getRapPicFlag()) )
    703722        {
     
    20132032  for( Int i = 0; i < MAX_VPS_LAYER_ID_PLUS1 - 1; i++)
    20142033  {
     2034#if O0225_MAX_TID_FOR_REF_LAYERS
     2035  for( Int j = 0; j < MAX_VPS_LAYER_ID_PLUS1; j++)
     2036  {
     2037    m_maxTidIlRefPicsPlus1[i][j] = m_uiMaxTLayers + 1;
     2038  }
     2039#else
    20152040    m_maxTidIlRefPicsPlus1[i] = m_uiMaxTLayers + 1;
     2041#endif
    20162042  }
    20172043#endif
Note: See TracChangeset for help on using the changeset viewer.