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


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/TLibEncoder/TEncCavlc.cpp

    r324 r328  
    708708  }
    709709
     710#if SPL_FLG_CHK
     711  if(vps->getSplittingFlag())
     712  {
     713    UInt splDimSum=0;
     714    for(j = 0; j < vps->getNumScalabilityTypes(); j++)
     715    {
     716      splDimSum+=(vps->getDimensionIdLen(j));
     717    }
     718    assert(splDimSum<=6);
     719  }
     720#endif
     721
    710722  WRITE_FLAG( vps->getNuhLayerIdPresentFlag(),         "vps_nuh_layer_id_present_flag" );
    711723  for(i = 1; i < vps->getMaxLayers(); i++)
     
    741753    WRITE_CODE(vps->getMaxSublayerForIlpPlus1(i), 3, "max_sublayer_for_ilp_plus1[i]" );
    742754  }
     755#endif
     756#if ILP_SSH_SIG
     757    WRITE_FLAG( vps->getIlpSshSignalingEnabledFlag(), "all_ref_layers_active_flag" );
    743758#endif
    744759#if VPS_EXTN_PROFILE_INFO
     
    10521067    }
    10531068
    1054 #if JCTVC_M0458_INTERLAYER_RPS_SIG   
    1055     if((pcSlice->getSPS()->getLayerId() > 0)  &&  (pcSlice->getNumILRRefIdx() > 0) )
     1069#if JCTVC_M0458_INTERLAYER_RPS_SIG
     1070#if ILP_SSH_SIG
     1071    if((pcSlice->getSPS()->getLayerId() > 0) && pcSlice->getVPS()->getIlpSshSignalingEnabledFlag() && (pcSlice->getNumILRRefIdx() > 0) )
     1072#else
     1073    if((pcSlice->getSPS()->getLayerId() > 0)  &&  (pcSlice->getNumILRRefIdx() > 0) )
     1074#endif
    10561075    {
    10571076      WRITE_FLAG(pcSlice->getInterLayerPredEnabledFlag(),"inter_layer_pred_enabled_flag");
     
    10691088            WRITE_CODE(pcSlice->getActiveNumILRRefIdx() - 1, numBits,"num_inter_layer_ref_pics_minus1");
    10701089          }       
     1090#if ILP_NUM_REF_CHK
     1091          if( pcSlice->getNumILRRefIdx() != pcSlice->getActiveNumILRRefIdx() )
     1092          {
     1093#endif
    10711094          for(Int i = 0; i < pcSlice->getActiveNumILRRefIdx(); i++ )
    10721095          {
    10731096            WRITE_CODE(pcSlice->getInterLayerPredLayerIdc(i),numBits,"inter_layer_pred_layer_idc[i]");   
    10741097          }
     1098#if ILP_NUM_REF_CHK
     1099          }
     1100#endif
    10751101        }
    10761102      }
Note: See TracChangeset for help on using the changeset viewer.