Changeset 181 in SHVCSoftware for branches/SHM-2.0-dev/source/Lib/TLibDecoder


Ignore:
Timestamp:
11 May 2013, 01:14:05 (12 years ago)
Author:
seregin
Message:

move syntax signaling associated with JCTVC_M0458_INTERLAYER_RPS_SIG ahead of the list modification signaling

File:
1 edited

Legend:

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

    r178 r181  
    13231323        rpcSlice->setRPS(rps);
    13241324      }
     1325
     1326
    13251327      if (rpcSlice->getSPS()->getTMVPFlagsPresent())
    13261328      {
     
    13331335      }
    13341336    }
     1337
     1338#if REF_IDX_FRAMEWORK
     1339#if JCTVC_M0458_INTERLAYER_RPS_SIG   
     1340    rpcSlice->setActiveNumILRRefIdx(0);
     1341    if((sps->getLayerId() > 0)  &&  (rpcSlice->getNumILRRefIdx() > 0) )
     1342    {     
     1343      READ_FLAG(uiCode,"inter_layer_pred_enabled_flag");
     1344      rpcSlice->setInterLayerPredEnabledFlag(uiCode);
     1345      if( rpcSlice->getInterLayerPredEnabledFlag())
     1346      {
     1347        if(rpcSlice->getNumILRRefIdx() > 1)
     1348        {
     1349          if( !rpcSlice->getVPS()->getMaxOneActiveRefLayerFlag())
     1350          {
     1351            READ_UVLC(uiCode,"num_inter_layer_ref_pics_minus1");   
     1352            rpcSlice->setActiveNumILRRefIdx(uiCode + 1);         
     1353          }
     1354          else
     1355          {
     1356            rpcSlice->setActiveNumILRRefIdx(1);         
     1357            rpcSlice->setInterLayerPredLayerIdc(0,0);         
     1358          }
     1359          for(Int i = 0; i < rpcSlice->getActiveNumILRRefIdx(); i++ )
     1360          {
     1361            READ_UVLC(uiCode,"inter_layer_pred_layer_idc[i]");         
     1362            rpcSlice->setInterLayerPredLayerIdc(uiCode,i);         
     1363          }
     1364        }
     1365        else
     1366        {
     1367          rpcSlice->setActiveNumILRRefIdx(1);         
     1368          rpcSlice->setInterLayerPredLayerIdc(0,0);     
     1369        }
     1370      }
     1371    }
     1372#else
     1373    if( rpcSlice->getLayerId() > 0 )
     1374    {
     1375      rpcSlice->setNumILRRefIdx( rpcSlice->getVPS()->getNumDirectRefLayers( rpcSlice->getLayerId() ) );
     1376    }
     1377#endif
     1378#endif
     1379
    13351380    if(sps->getUseSAO())
    13361381    {
     
    16061651    rpcSlice->setNumEntryPointOffsets ( 0 );
    16071652  }
    1608 
    1609 #if REF_IDX_FRAMEWORK
    1610 #if JCTVC_M0458_INTERLAYER_RPS_SIG   
    1611   rpcSlice->setActiveNumILRRefIdx(0);
    1612   if((sps->getLayerId() > 0)  &&  (rpcSlice->getNumILRRefIdx() > 0) )
    1613   {     
    1614     READ_FLAG(uiCode,"inter_layer_pred_enabled_flag");
    1615     rpcSlice->setInterLayerPredEnabledFlag(uiCode);
    1616     if( rpcSlice->getInterLayerPredEnabledFlag())
    1617     {
    1618       if(rpcSlice->getNumILRRefIdx() > 1)
    1619       {
    1620         if( !rpcSlice->getVPS()->getMaxOneActiveRefLayerFlag())
    1621         {
    1622           READ_UVLC(uiCode,"num_inter_layer_ref_pics_minus1");   
    1623           rpcSlice->setActiveNumILRRefIdx(uiCode + 1);         
    1624         }
    1625         else
    1626         {
    1627           rpcSlice->setActiveNumILRRefIdx(1);         
    1628           rpcSlice->setInterLayerPredLayerIdc(0,0);         
    1629         }
    1630         for(Int i = 0; i < rpcSlice->getActiveNumILRRefIdx(); i++ )
    1631         {
    1632           READ_UVLC(uiCode,"inter_layer_pred_layer_idc[i]");         
    1633           rpcSlice->setInterLayerPredLayerIdc(uiCode,i);         
    1634         }
    1635       }
    1636       else
    1637       {
    1638         rpcSlice->setActiveNumILRRefIdx(1);         
    1639         rpcSlice->setInterLayerPredLayerIdc(0,0);     
    1640       }
    1641     }
    1642   }
    1643 #else
    1644   if( rpcSlice->getLayerId() > 0 )
    1645   {
    1646     rpcSlice->setNumILRRefIdx( rpcSlice->getVPS()->getNumDirectRefLayers( rpcSlice->getLayerId() ) );
    1647   }
    1648 #endif
    1649 #endif
    16501653
    16511654  if(pps->getSliceHeaderExtensionPresentFlag())
Note: See TracChangeset for help on using the changeset viewer.