Changeset 1048 in SHVCSoftware


Ignore:
Timestamp:
3 Mar 2015, 02:48:00 (10 years ago)
Author:
interdigital
Message:
  1. change MAX_VPS_LAYER_ID_PLUS1 to MAX_VPS_LAYER_IDX_PLUS1
  2. change layerId to layerIdx whenever layer index is used
  3. replace mistakenly used layer ID with layer index
Location:
branches/SHM-dev/source/Lib/TLibEncoder
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-dev/source/Lib/TLibEncoder/TEncCavlc.cpp

    r1043 r1048  
    851851#if SVC_EXTENSION
    852852  assert( pcVPS->getNumHrdParameters() <= MAX_VPS_LAYER_SETS_PLUS1 );
    853   assert( pcVPS->getMaxLayerId() < MAX_VPS_LAYER_ID_PLUS1 );
     853  assert( pcVPS->getMaxLayerId() < MAX_VPS_LAYER_IDX_PLUS1 );
    854854#if !VPS_EXTN_OP_LAYER_SETS     // num layer sets set in TAppEncTop.cpp
    855855  pcVPS->setNumLayerSets(1);
  • branches/SHM-dev/source/Lib/TLibEncoder/TEncCfg.h

    r1037 r1048  
    388388#if VPS_EXTN_DIRECT_REF_LAYERS
    389389  Int       m_numDirectRefLayers;
    390   Int       m_refLayerId[MAX_VPS_LAYER_ID_PLUS1];
     390  Int       m_refLayerId[MAX_VPS_LAYER_IDX_PLUS1];
    391391
    392392  Int       m_numActiveRefLayers;
    393   Int       m_predLayerId[MAX_VPS_LAYER_ID_PLUS1];
     393  Int       m_predLayerId[MAX_VPS_LAYER_IDX_PLUS1];
    394394  Int       m_numSamplePredRefLayers;
    395   Int       m_samplePredRefLayerId[MAX_VPS_LAYER_ID_PLUS1];
     395  Int       m_samplePredRefLayerId[MAX_VPS_LAYER_IDX_PLUS1];
    396396  Int       m_numMotionPredRefLayers;
    397   Int       m_motionPredRefLayerId[MAX_VPS_LAYER_ID_PLUS1];
    398   Bool      m_samplePredEnabledFlag[MAX_VPS_LAYER_ID_PLUS1];
    399   Bool      m_motionPredEnabledFlag[MAX_VPS_LAYER_ID_PLUS1];
     397  Int       m_motionPredRefLayerId[MAX_VPS_LAYER_IDX_PLUS1];
     398  Bool      m_samplePredEnabledFlag[MAX_VPS_LAYER_IDX_PLUS1];
     399  Bool      m_motionPredEnabledFlag[MAX_VPS_LAYER_IDX_PLUS1];
    400400#endif
    401401  Int       m_maxTidIlRefPicsPlus1;
  • branches/SHM-dev/source/Lib/TLibEncoder/TEncCu.h

    r1029 r1048  
    182182
    183183#if SVC_EXTENSION
    184   TEncTop*   getLayerEnc(UInt LayerId)  {return m_ppcTEncTop[LayerId]; }
     184  TEncTop*   getLayerEnc(UInt LayerIdx)  {return m_ppcTEncTop[LayerIdx]; }
    185185#if ENCODER_FAST_MODE
    186186  Void  xCheckRDCostILRUni  ( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, UInt refLayerId);
  • branches/SHM-dev/source/Lib/TLibEncoder/TEncGOP.cpp

    r1039 r1048  
    13001300    if (m_layerId > 0)
    13011301    {
    1302       Int interLayerPredLayerIdcTmp[MAX_VPS_LAYER_ID_PLUS1];
     1302      Int interLayerPredLayerIdcTmp[MAX_VPS_LAYER_IDX_PLUS1];
    13031303      Int activeNumILRRefIdxTmp = 0;
    13041304
     
    13081308        UInt refLayerId = pcSlice->getVPS()->getRefLayerId(m_layerId, refLayerIdc);
    13091309#if VPS_EXTN_DIRECT_REF_LAYERS
    1310         TComList<TComPic*> *cListPic = m_ppcTEncTop[m_layerId]->getRefLayerEnc(refLayerIdc)->getListPic();
    1311 #else
    1312         TComList<TComPic*> *cListPic = m_ppcTEncTop[m_layerId-1]->getListPic();
     1310        TComList<TComPic*> *cListPic = m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(m_layerId)]->getRefLayerEnc(refLayerIdc)->getListPic();
     1311#else
     1312        TComList<TComPic*> *cListPic = m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(m_layerId)-1]->getListPic();
    13131313#endif
    13141314        pcSlice->setBaseColPic( *cListPic, refLayerIdc );
     
    14121412        {
    14131413          // check for the sample prediction picture type
    1414           if( m_ppcTEncTop[m_layerId]->getSamplePredEnabledFlag(refLayerId) )
     1414          if( m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(m_layerId)]->getSamplePredEnabledFlag(pcSlice->getVPS()->getLayerIdxInVps(refLayerId)) )
    14151415          {
    14161416#if P0312_VERT_PHASE_ADJ
     
    14911491        if(pcSlice->getVPS()->getCrossLayerIrapAlignFlag())
    14921492        {
    1493           TComList<TComPic*> *cListPic = m_ppcTEncTop[m_layerId]->getRefLayerEnc(0)->getListPic();
     1493          TComList<TComPic*> *cListPic = m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(m_layerId)]->getRefLayerEnc(0)->getListPic();
    14941494          TComPic* picLayer0 = pcSlice->getRefPic(*cListPic, pcSlice->getPOC() );
    14951495          if(picLayer0)
     
    15331533      if (pcSlice->getNalUnitType() == NAL_UNIT_CODED_SLICE_TRAIL_R &&
    15341534#if SVC_EXTENSION
    1535         ( m_iGopSize != 1 || m_ppcTEncTop[m_layerId]->getIntraPeriod() > 1 ) )
     1535        ( m_iGopSize != 1 || m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(m_layerId)]->getIntraPeriod() > 1 ) )
    15361536#else
    15371537          !(m_iGopSize == 1 && pcSlice->getSliceType() == I_SLICE))
     
    18381838        for( Int i = 0; i < pcSlice->getActiveNumILRRefIdx(); i++ )
    18391839        {
    1840           if( m_ppcTEncTop[m_layerId]->getSamplePredEnabledFlag( pcSlice->getVPS()->getRefLayerId( m_layerId, pcSlice->getInterLayerPredLayerIdc(i) ) ) )
     1840          if( m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(m_layerId)]->getSamplePredEnabledFlag( pcSlice->getVPS()->getRefLayerId( m_layerId, pcSlice->getInterLayerPredLayerIdc(i) ) ) )
    18411841          {
    18421842            foundSamplePredPicture = true;
     
    18721872        for( Int i = 0; i < pcSlice->getLayerId(); i++)
    18731873        {
    1874           TComList<TComPic *> *cListPic = m_ppcTEncTop[i]->getListPic();
     1874          TComList<TComPic *> *cListPic = m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(i)]->getListPic();
    18751875          TComPic *lowerLayerPic = pcSlice->getRefPic(*cListPic, pcSlice->getPOC());
    18761876          if( lowerLayerPic && pcSlice->getVPS()->getDirectDependencyFlag(pcSlice->getLayerId(), i) )
     
    19661966          // It is a requirement of bitstream conformance when the collocated picture, used for temporal motion vector prediction, is an inter-layer reference picture,
    19671967          // VpsInterLayerMotionPredictionEnabled[ LayerIdxInVps[ currLayerId ] ][ LayerIdxInVps[ rLId ] ] shall be equal to 1, where rLId is set equal to nuh_layer_id of the inter-layer picture.
    1968           if( refPic->isILR(m_layerId) && m_ppcTEncTop[m_layerId]->getMotionPredEnabledFlag( refPic->getLayerId() )
     1968          if( refPic->isILR(m_layerId) && m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(m_layerId)]->getMotionPredEnabledFlag( refPic->getLayerId() )
    19691969#if MFM_ENCCONSTRAINT
    1970             && pcSlice->getBaseColPic( *m_ppcTEncTop[refPic->getLayerId()]->getListPic() )->checkSameRefInfo() == true
     1970            && pcSlice->getBaseColPic( *m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(refPic->getLayerId())]->getListPic() )->checkSameRefInfo() == true
    19711971#endif
    19721972            )
     
    19881988            // It is a requirement of bitstream conformance when the collocated picture, used for temporal motion vector prediction, is an inter-layer reference picture,
    19891989            // VpsInterLayerMotionPredictionEnabled[ LayerIdxInVps[ currLayerId ] ][ LayerIdxInVps[ rLId ] ] shall be equal to 1, where rLId is set equal to nuh_layer_id of the inter-layer picture.
    1990             if( refPic->isILR(m_layerId) && m_ppcTEncTop[m_layerId]->getMotionPredEnabledFlag( refPic->getLayerId() )
     1990            if( refPic->isILR(m_layerId) && m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(m_layerId)]->getMotionPredEnabledFlag( refPic->getLayerId() )
    19911991#if MFM_ENCCONSTRAINT
    1992               && pcSlice->getBaseColPic( *m_ppcTEncTop[refPic->getLayerId()]->getListPic() )->checkSameRefInfo() == true
     1992              && pcSlice->getBaseColPic( *m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(refPic->getLayerId())]->getListPic() )->checkSameRefInfo() == true
    19931993#endif
    19941994              )
     
    21072107        // It is a requirement of bitstream conformance when the collocated picture, used for temporal motion vector prediction, is an inter-layer reference picture,
    21082108        // VpsInterLayerMotionPredictionEnabled[ LayerIdxInVps[ currLayerId ] ][ LayerIdxInVps[ rLId ] ] shall be equal to 1, where rLId is set equal to nuh_layer_id of the inter-layer picture.
    2109         if( refPic->isILR(m_layerId) && !m_ppcTEncTop[m_layerId]->getMotionPredEnabledFlag(refPic->getLayerId()) )
     2109        if( refPic->isILR(m_layerId) && !m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(m_layerId)]->getMotionPredEnabledFlag(refPic->getLayerId()) )
    21102110        {
    21112111          pcSlice->setEnableTMVPFlag(false);
     
    21252125          TComPic* refPic = pcSlice->getRefPic(refList, refIdx);
    21262126
    2127           if( !refPic->isILR(m_layerId) || ( refPic->isILR(m_layerId) && m_ppcTEncTop[m_layerId]->getSamplePredEnabledFlag( refPic->getLayerId() ) ) )
     2127          if( !refPic->isILR(m_layerId) || ( refPic->isILR(m_layerId) && m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(m_layerId)]->getSamplePredEnabledFlag( refPic->getLayerId() ) ) )
    21282128          {
    21292129            break;
     
    21492149          TComPic* refPic = pcSlice->getRefPic(refList, refIdx);
    21502150
    2151           if( !refPic->isILR(m_layerId) || ( refPic->isILR(m_layerId) && m_ppcTEncTop[m_layerId]->getSamplePredEnabledFlag( refPic->getLayerId() ) ) )
     2151          if( !refPic->isILR(m_layerId) || ( refPic->isILR(m_layerId) && m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(m_layerId)]->getSamplePredEnabledFlag( refPic->getLayerId() ) ) )
    21522152          {
    21532153            break;
     
    48204820  for (UInt layerIdx = 0; layerIdx < numAffectedLayers; layerIdx++)
    48214821  {
    4822     if (!m_ppcTEncTop[affectedLayerList[layerIdx]]->getPocDecrementedInDPBFlag())
    4823     {
    4824       m_ppcTEncTop[affectedLayerList[layerIdx]]->setPocDecrementedInDPBFlag(true);
     4822    if (!m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(affectedLayerList[layerIdx])]->getPocDecrementedInDPBFlag())
     4823    {
     4824      m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(affectedLayerList[layerIdx])]->setPocDecrementedInDPBFlag(true);
    48254825
    48264826      // Decrement value of associatedIrapPoc of the TEncGop object
    4827       m_ppcTEncTop[affectedLayerList[layerIdx]]->getGOPEncoder()->m_associatedIRAPPOC -= deltaPocVal;
     4827      m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(affectedLayerList[layerIdx])]->getGOPEncoder()->m_associatedIRAPPOC -= deltaPocVal;
    48284828
    48294829      // Decrememnt the value of m_pocCRA
    4830       m_ppcTEncTop[affectedLayerList[layerIdx]]->getGOPEncoder()->m_pocCRA -= deltaPocVal;
    4831 
    4832       TComList<TComPic*>::iterator  iterPic = m_ppcTEncTop[affectedLayerList[layerIdx]]->getListPic()->begin();
    4833       while (iterPic != m_ppcTEncTop[affectedLayerList[layerIdx]]->getListPic()->end())
     4830      m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(affectedLayerList[layerIdx])]->getGOPEncoder()->m_pocCRA -= deltaPocVal;
     4831
     4832      TComList<TComPic*>::iterator  iterPic = m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(affectedLayerList[layerIdx])]->getListPic()->begin();
     4833      while (iterPic != m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(affectedLayerList[layerIdx])]->getListPic()->end())
    48344834#else
    48354835  // Decrement value of associatedIrapPoc of the TEncGop object
     
    53345334      {
    53355335        Int iLayerId = slice->getVPS()->getPredictedLayerId(dolLayerId, i);
    5336         m_ppcTEncTop[iLayerId]->setLayerInitializedFlag(false);
    5337         m_ppcTEncTop[iLayerId]->setFirstPicInLayerDecodedFlag(false);
     5336        m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(iLayerId)]->setLayerInitializedFlag(false);
     5337        m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(iLayerId)]->setFirstPicInLayerDecodedFlag(false);
    53385338      }
    53395339
    53405340      // Each picture that is in the DPB and has nuh_layer_id equal to dolLayerId is marked as "unused for reference".
    5341       for (TComList<TComPic*>::iterator pic = m_ppcTEncTop[dolLayerId]->getListPic()->begin(); pic != m_ppcTEncTop[dolLayerId]->getListPic()->end(); pic++)
     5341      for (TComList<TComPic*>::iterator pic = m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(dolLayerId)]->getListPic()->begin(); pic != m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(dolLayerId)]->getListPic()->end(); pic++)
    53425342      {
    53435343        if ((*pic)->getSlice(0)->getPOC() != slice->getPOC())
     
    53525352      {
    53535353        UInt predLId = slice->getVPS()->getPredictedLayerId(dolLayerId, i);
    5354         for (TComList<TComPic*>::iterator pic = m_ppcTEncTop[predLId]->getListPic()->begin(); pic != m_ppcTEncTop[predLId]->getListPic()->end(); pic++)
     5354        for (TComList<TComPic*>::iterator pic = m_ppcTEncTop[predLId]->getListPic()->begin(); pic != m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(predLId)]->getListPic()->end(); pic++)
    53555355        {
    53565356          if ((*pic)->getSlice(0)->getPOC() != slice->getPOC())
     
    53735373      m_noRaslOutputFlag = true;
    53745374    }
    5375     else if (!m_ppcTEncTop[m_layerId]->getLayerInitializedFlag())
     5375    else if (!m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(m_layerId)]->getLayerInitializedFlag())
    53765376    {
    53775377      Bool refLayersInitialized = true;
    5378       for (UInt j = 0; j < slice->getVPS()->getNumDirectRefLayers(m_layerId); j++)
     5378      for (UInt j = 0; j < slice->getVPS()->getNumDirectRefLayers(slice->getVPS()->getLayerIdxInVps(m_layerId)); j++)
    53795379      {
    53805380        UInt refLayerId = slice->getVPS()->getRefLayerId(m_layerId, j);
    5381         if (!m_ppcTEncTop[refLayerId]->getLayerInitializedFlag())
     5381        if (!m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(refLayerId)]->getLayerInitializedFlag())
    53825382        {
    53835383          refLayersInitialized = false;
     
    53985398    if (m_layerId == 0)
    53995399    {
    5400       m_ppcTEncTop[m_layerId]->setLayerInitializedFlag(true);
    5401     }
    5402     else if (!m_ppcTEncTop[m_layerId]->getLayerInitializedFlag() && slice->getVPS()->getNumDirectRefLayers(m_layerId) == 0)
    5403     {
    5404       m_ppcTEncTop[m_layerId]->setLayerInitializedFlag(true);
    5405     }
    5406     else if (!m_ppcTEncTop[m_layerId]->getLayerInitializedFlag())
     5400      m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(m_layerId)]->setLayerInitializedFlag(true);
     5401    }
     5402    else if (!m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(m_layerId)]->getLayerInitializedFlag() && slice->getVPS()->getNumDirectRefLayers(m_layerId) == 0)
     5403    {
     5404      m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(m_layerId)]->setLayerInitializedFlag(true);
     5405    }
     5406    else if (!m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(m_layerId)]->getLayerInitializedFlag())
    54075407    {
    54085408      Bool refLayersInitialized = true;
     
    54105410      {
    54115411        UInt refLayerId = slice->getVPS()->getRefLayerId(m_layerId, j);
    5412         if (!m_ppcTEncTop[refLayerId]->getLayerInitializedFlag())
     5412        if (!m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(refLayerId)]->getLayerInitializedFlag())
    54135413        {
    54145414          refLayersInitialized = false;
     
    54175417      if (refLayersInitialized)
    54185418      {
    5419         m_ppcTEncTop[m_layerId]->setLayerInitializedFlag(true);
     5419        m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(m_layerId)]->setLayerInitializedFlag(true);
    54205420      }
    54215421    }
  • branches/SHM-dev/source/Lib/TLibEncoder/TEncSlice.cpp

    r1029 r1048  
    139139{
    140140#if JCTVC_M0259_LAMBDAREFINEMENT
    141   if( slice->getLayerId() > 0 && m_ppcTEncTop[slice->getLayerId()]->getNumActiveRefLayers() && depth >= 3 && m_pcCfg->getGOPSize() == ( 1 << depth ) )
    142   {
    143     Int nCurLayer = slice->getLayerId();
    144     Double gamma = xCalEnhLambdaFactor( m_ppcTEncTop[nCurLayer-1]->getQP() - m_ppcTEncTop[nCurLayer]->getQP() ,
    145       1.0 * m_ppcTEncTop[nCurLayer]->getSourceWidth() * m_ppcTEncTop[nCurLayer]->getSourceHeight()
    146       / m_ppcTEncTop[nCurLayer-1]->getSourceWidth() / m_ppcTEncTop[nCurLayer-1]->getSourceHeight() );
     141  if( slice->getLayerId() > 0 && m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(slice->getLayerId())]->getNumActiveRefLayers() && depth >= 3 && m_pcCfg->getGOPSize() == ( 1 << depth ) )
     142  {
     143    Int nCurLayerId = slice->getLayerId();
     144    Double gamma = xCalEnhLambdaFactor( m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(nCurLayerId)-1]->getQP() - m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(nCurLayerId)]->getQP() ,
     145      1.0 * m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(nCurLayerId)]->getSourceWidth() * m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(nCurLayerId)]->getSourceHeight()
     146      / m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(nCurLayerId)-1]->getSourceWidth() / m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(nCurLayerId)-1]->getSourceHeight() );
    147147    dLambda *= gamma;
    148148  }
     
    163163
    164164#if JCTVC_M0259_LAMBDAREFINEMENT
    165     if( slice->getLayerId() > 0 && m_ppcTEncTop[slice->getLayerId()]->getNumActiveRefLayers() && m_pcCfg->getGOPSize() >= 8 && slice->isIntra() == false && depth == 0 )
     165    if( slice->getLayerId() > 0 && m_ppcTEncTop[slice->getVPS()->getLayerIdxInVps(slice->getLayerId())]->getNumActiveRefLayers() && m_pcCfg->getGOPSize() >= 8 && slice->isIntra() == false && depth == 0 )
    166166    {
    167167      dLambdas[0] = dLambda * 1.1;
     
    555555    if( rpcSlice->getNumILRRefIdx() > 0 )
    556556    {
    557       rpcSlice->setActiveNumILRRefIdx( m_ppcTEncTop[layerId]->getNumActiveRefLayers() );
     557      rpcSlice->setActiveNumILRRefIdx( m_ppcTEncTop[rpcSlice->getVPS()->getLayerIdxInVps(layerId)]->getNumActiveRefLayers() );
    558558      for( Int i = 0; i < rpcSlice->getActiveNumILRRefIdx(); i++ )
    559559      {
    560         rpcSlice->setInterLayerPredLayerIdc( m_ppcTEncTop[layerId]->getPredLayerId(i), i );
     560        rpcSlice->setInterLayerPredLayerIdc( m_ppcTEncTop[rpcSlice->getVPS()->getLayerIdxInVps(layerId)]->getPredLayerId(i), i );
    561561      }
    562562      rpcSlice->setInterLayerPredEnabledFlag(1);
    563563    }
    564     rpcSlice->setMFMEnabledFlag(m_ppcTEncTop[layerId]->getMFMEnabledFlag());
     564    rpcSlice->setMFMEnabledFlag(m_ppcTEncTop[rpcSlice->getVPS()->getLayerIdxInVps(layerId)]->getMFMEnabledFlag());
    565565  }
    566566
     
    762762  }
    763763#if O0194_WEIGHTED_PREDICTION_CGS
    764   else if( m_ppcTEncTop[pcSlice->getLayerId()]->getInterLayerWeightedPredFlag() )
     764  else if( m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(pcSlice->getLayerId())]->getInterLayerWeightedPredFlag() )
    765765  {
    766766    // Calculate for the base layer to be used in EL as Inter layer reference
     
    11351135
    11361136#if SVC_EXTENSION
    1137         m_pcEntropyCoder->encodeSAOBlkParam(saoblkParam, m_ppcTEncTop[pcSlice->getLayerId()]->getSAO()->getSaoMaxOffsetQVal(), sliceEnabled, leftMergeAvail, aboveMergeAvail);
     1137        m_pcEntropyCoder->encodeSAOBlkParam(saoblkParam, m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(pcSlice->getLayerId())]->getSAO()->getSaoMaxOffsetQVal(), sliceEnabled, leftMergeAvail, aboveMergeAvail);
    11381138#else
    11391139        m_pcEntropyCoder->encodeSAOBlkParam(saoblkParam, sliceEnabled, leftMergeAvail, aboveMergeAvail);
  • branches/SHM-dev/source/Lib/TLibEncoder/TEncTop.cpp

    r1043 r1048  
    15311531#if SVC_EXTENSION
    15321532#if VPS_EXTN_DIRECT_REF_LAYERS
    1533 TEncTop* TEncTop::getRefLayerEnc( UInt refLayerIdc )
    1534 {
    1535   if( m_ppcTEncTop[m_layerId]->getNumDirectRefLayers() <= 0 )
     1533TEncTop* TEncTop::getRefLayerEnc( UInt refLayerIdx )
     1534{
     1535  if( m_ppcTEncTop[m_cVPS.getLayerIdxInVps(m_layerId)]->getNumDirectRefLayers() <= 0 )
    15361536  {
    15371537    return (TEncTop *)getLayerEnc( 0 );
    15381538  }
    15391539
    1540   return (TEncTop *)getLayerEnc( m_cVPS.getRefLayerId( m_layerId, refLayerIdc ) );
     1540  return (TEncTop *)getLayerEnc( m_cVPS.getLayerIdxInVps(m_cVPS.getRefLayerId( m_layerId, refLayerIdx )));
    15411541}
    15421542#endif
  • branches/SHM-dev/source/Lib/TLibEncoder/TEncTop.h

    r1030 r1048  
    117117  static Int              m_iPPSIdCnt;                    ///< next Id number for PPS   
    118118  TEncTop**               m_ppcTEncTop;
    119   TEncTop*                getLayerEnc(UInt layer)   { return m_ppcTEncTop[layer]; }
     119  TEncTop*                getLayerEnc(UInt layerIdx)   { return m_ppcTEncTop[layerIdx]; }
    120120  TComPic*                m_cIlpPic[MAX_NUM_REF];                    ///<  Inter layer Prediction picture =  upsampled picture
    121121#if REF_IDX_MFM
     
    275275  Void      encodePrep( TComPicYuv* pcPicYuvOrg, TComPicYuv* pcPicYuvTrueOrg, Bool isTff );
    276276#if VPS_EXTN_DIRECT_REF_LAYERS
    277   TEncTop*  getRefLayerEnc(UInt refLayerIdc);
     277  TEncTop*  getRefLayerEnc(UInt refLayerIdx);
    278278#endif
    279279#if POC_RESET_FLAG || POC_RESET_IDC_ENCODER
Note: See TracChangeset for help on using the changeset viewer.