Changeset 509 in SHVCSoftware for branches/SHM-4.1-dev/source/Lib/TLibDecoder


Ignore:
Timestamp:
4 Dec 2013, 07:44:21 (11 years ago)
Author:
qualcomm
Message:

Integration of O0225 Max TID based ILRPS derivation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-4.1-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r508 r509  
    19071907        else
    19081908        {
     1909#if O0225_TID_BASED_IL_RPS_DERIV
     1910          if(rpcSlice->getVPS()->getMaxTidIlRefPicsPlus1(0,rpcSlice->getLayerId()) >  rpcSlice->getTLayer())
     1911        {
     1912#endif
    19091913          rpcSlice->setActiveNumILRRefIdx(1);
    19101914          rpcSlice->setInterLayerPredLayerIdc(0,0);
     1915#if O0225_TID_BASED_IL_RPS_DERIV
     1916        }
     1917#endif
    19111918        }
    19121919      }
     
    19141921#if ILP_SSH_SIG
    19151922#if ILP_SSH_SIG_FIX
    1916     else if( rpcSlice->getVPS()->getIlpSshSignalingEnabledFlag() == true )
     1923    else if( rpcSlice->getVPS()->getIlpSshSignalingEnabledFlag() == true &&  (rpcSlice->getLayerId() > 0 ))
    19171924#else
    19181925    else if( rpcSlice->getVPS()->getIlpSshSignalingEnabledFlag() == false )
     
    19201927    {
    19211928      rpcSlice->setInterLayerPredEnabledFlag(true);
     1929
     1930#if O0225_TID_BASED_IL_RPS_DERIV     
     1931      Int   numRefLayerPics = 0;
     1932      Int   i = 0;
     1933      Int   refLayerPicIdc  [MAX_VPS_LAYER_ID_PLUS1];
     1934      for(i = 0, numRefLayerPics = 0;  i < rpcSlice->getNumILRRefIdx(); i++ )
     1935      {
     1936        if(rpcSlice->getVPS()->getMaxTidIlRefPicsPlus1(rpcSlice->getVPS()->getLayerIdInVps(i),rpcSlice->getLayerId()) >  rpcSlice->getTLayer())
     1937        {         
     1938          refLayerPicIdc[ numRefLayerPics++ ] = i;
     1939        }
     1940      }
     1941      rpcSlice->setActiveNumILRRefIdx(numRefLayerPics);
     1942      for( i = 0; i < rpcSlice->getActiveNumILRRefIdx(); i++ )
     1943      {
     1944        rpcSlice->setInterLayerPredLayerIdc(refLayerPicIdc[i],i);
     1945      }     
     1946#else
    19221947      rpcSlice->setActiveNumILRRefIdx(rpcSlice->getNumILRRefIdx());
    19231948      for( Int i = 0; i < rpcSlice->getActiveNumILRRefIdx(); i++ )
     
    19251950        rpcSlice->setInterLayerPredLayerIdc(i,i);
    19261951      }
     1952#endif
    19271953    }
    19281954#endif
Note: See TracChangeset for help on using the changeset viewer.