Changeset 328 in SHVCSoftware for branches/SHM-3.0-dev/source/Lib/TLibDecoder


Ignore:
Timestamp:
7 Aug 2013, 23:17:58 (11 years ago)
Author:
seregin
Message:

ILP slice signaling implementation with macros ILP_SSH_SIG, SPL_FLG_CHK, and ILP_NUM_REF_CHK (JCTVC-N0195), patch was provided by Sachin Deshpande <sdeshpande@…>

File:
1 edited

Legend:

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

    r325 r328  
    957957  }
    958958#endif
     959#if ILP_SSH_SIG
     960    READ_FLAG( uiCode, "all_ref_layers_active_flag" ); vps->setIlpSshSignalingEnabledFlag(uiCode ? true : false);
     961#endif
    959962#if VPS_EXTN_PROFILE_INFO
    960963  // Profile-tier-level signalling
     
    13821385#if JCTVC_M0458_INTERLAYER_RPS_SIG
    13831386    rpcSlice->setActiveNumILRRefIdx(0);
     1387#if ILP_SSH_SIG
     1388    if((sps->getLayerId() > 0) && rpcSlice->getVPS()->getIlpSshSignalingEnabledFlag() && (rpcSlice->getNumILRRefIdx() > 0) )
     1389#else
    13841390    if((sps->getLayerId() > 0)  &&  (rpcSlice->getNumILRRefIdx() > 0) )
     1391#endif
    13851392    {
    13861393      READ_FLAG(uiCode,"inter_layer_pred_enabled_flag");
     
    14041411            rpcSlice->setActiveNumILRRefIdx(1);
    14051412          }
     1413#if ILP_NUM_REF_CHK
     1414          if( rpcSlice->getActiveNumILRRefIdx() == rpcSlice->getNumILRRefIdx() )
     1415          {
     1416            for( Int i = 0; i < rpcSlice->getActiveNumILRRefIdx(); i++ )
     1417            {
     1418              rpcSlice->setInterLayerPredLayerIdc(i,i);
     1419            }
     1420          }
     1421          else
     1422          {
     1423#endif
    14061424          for(Int i = 0; i < rpcSlice->getActiveNumILRRefIdx(); i++ )
    14071425          {
     
    14091427            rpcSlice->setInterLayerPredLayerIdc(uiCode,i);
    14101428          }
     1429#if ILP_NUM_REF_CHK
     1430          }
     1431#endif
    14111432        }
    14121433        else
     
    14171438      }
    14181439    }
     1440#if ILP_SSH_SIG
     1441    else if( rpcSlice->getVPS()->getIlpSshSignalingEnabledFlag() == false )
     1442    {
     1443      rpcSlice->setInterLayerPredEnabledFlag(true);
     1444      rpcSlice->setActiveNumILRRefIdx(rpcSlice->getNumILRRefIdx());
     1445      for( Int i = 0; i < rpcSlice->getActiveNumILRRefIdx(); i++ )
     1446      {
     1447        rpcSlice->setInterLayerPredLayerIdc(i,i);
     1448      }
     1449    }
     1450#endif
    14191451#if M0457_IL_SAMPLE_PRED_ONLY_FLAG
    14201452    rpcSlice->setInterLayerSamplePredOnlyFlag( false );
Note: See TracChangeset for help on using the changeset viewer.