Changeset 345 in SHVCSoftware for trunk/source/Lib/TLibDecoder


Ignore:
Timestamp:
17 Aug 2013, 06:27:19 (11 years ago)
Author:
seregin
Message:

merge SHM-3.0-dev branch

Location:
trunk
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/source

  • trunk/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r313 r345  
    951951#endif
    952952#if JCTVC_M0203_INTERLAYER_PRED_IDC
     953#if N0120_MAX_TID_REF_PRESENT_FLAG
     954  READ_FLAG( uiCode, "max_tid_il_ref_pics_plus1_present_flag"); vps->setMaxTidIlRefPicsPlus1PresentFlag(uiCode ? true : false);
     955  if (vps->getMaxTidIlRefPicsPlus1PresentFlag())
     956  {
     957    for(i = 0; i < vps->getMaxLayers() - 1; i++)
     958    {
     959      READ_CODE( 3, uiCode, "max_sublayer_for_ilp_plus1[i]" ); vps->setMaxSublayerForIlpPlus1(i, uiCode);
     960      assert( uiCode <= vps->getMaxTLayers() );
     961    }
     962  }
     963  else
     964  {
     965    for(i = 0; i < vps->getMaxLayers() - 1; i++)
     966    {
     967      vps->setMaxSublayerForIlpPlus1(i, 7);
     968    }
     969  }
     970#else
    953971  for(i = 0; i < vps->getMaxLayers() - 1; i++)
    954972  {
     
    956974    assert( uiCode <= vps->getMaxTLayers() );
    957975  }
     976#endif
     977#endif
     978#if ILP_SSH_SIG
     979    READ_FLAG( uiCode, "all_ref_layers_active_flag" ); vps->setIlpSshSignalingEnabledFlag(uiCode ? true : false);
    958980#endif
    959981#if VPS_EXTN_PROFILE_INFO
     
    13821404#if JCTVC_M0458_INTERLAYER_RPS_SIG
    13831405    rpcSlice->setActiveNumILRRefIdx(0);
     1406#if ILP_SSH_SIG
     1407    if((sps->getLayerId() > 0) && rpcSlice->getVPS()->getIlpSshSignalingEnabledFlag() && (rpcSlice->getNumILRRefIdx() > 0) )
     1408#else
    13841409    if((sps->getLayerId() > 0)  &&  (rpcSlice->getNumILRRefIdx() > 0) )
     1410#endif
    13851411    {
    13861412      READ_FLAG(uiCode,"inter_layer_pred_enabled_flag");
     
    14041430            rpcSlice->setActiveNumILRRefIdx(1);
    14051431          }
     1432#if ILP_NUM_REF_CHK
     1433          if( rpcSlice->getActiveNumILRRefIdx() == rpcSlice->getNumILRRefIdx() )
     1434          {
     1435            for( Int i = 0; i < rpcSlice->getActiveNumILRRefIdx(); i++ )
     1436            {
     1437              rpcSlice->setInterLayerPredLayerIdc(i,i);
     1438            }
     1439          }
     1440          else
     1441          {
     1442#endif
    14061443          for(Int i = 0; i < rpcSlice->getActiveNumILRRefIdx(); i++ )
    14071444          {
     
    14091446            rpcSlice->setInterLayerPredLayerIdc(uiCode,i);
    14101447          }
     1448#if ILP_NUM_REF_CHK
     1449          }
     1450#endif
    14111451        }
    14121452        else
     
    14171457      }
    14181458    }
     1459#if ILP_SSH_SIG
     1460    else if( rpcSlice->getVPS()->getIlpSshSignalingEnabledFlag() == false )
     1461    {
     1462      rpcSlice->setInterLayerPredEnabledFlag(true);
     1463      rpcSlice->setActiveNumILRRefIdx(rpcSlice->getNumILRRefIdx());
     1464      for( Int i = 0; i < rpcSlice->getActiveNumILRRefIdx(); i++ )
     1465      {
     1466        rpcSlice->setInterLayerPredLayerIdc(i,i);
     1467      }
     1468    }
     1469#endif
    14191470#if M0457_IL_SAMPLE_PRED_ONLY_FLAG
    14201471    rpcSlice->setInterLayerSamplePredOnlyFlag( false );
     
    15741625    {
    15751626#if REF_IDX_FRAMEWORK && M0457_COL_PICTURE_SIGNALING
     1627#if REMOVE_COL_PICTURE_SIGNALING
     1628      rpcSlice->setMFMEnabledFlag( rpcSlice->getNumMotionPredRefLayers() > 0 ? true : false );
     1629#else
    15761630      rpcSlice->setMFMEnabledFlag( false );
    15771631      rpcSlice->setColRefLayerIdx( 0 );
     
    15901644      else
    15911645      {
     1646#endif //REMOVE_COL_PICTURE_SIGNALING
    15921647#endif
    15931648      if ( rpcSlice->getSliceType() == B_SLICE )
     
    16121667        rpcSlice->setColRefIdx(0);
    16131668      }
    1614 #if REF_IDX_FRAMEWORK && M0457_COL_PICTURE_SIGNALING
     1669#if REF_IDX_FRAMEWORK && M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING
    16151670      }
    16161671#endif
     
    22152270  return (cnt>0);
    22162271}
    2217 
    2218 #if INTRA_BL
    2219 Void TDecCavlc::parseIntraBLFlag      ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth )
    2220 {
    2221   assert(0);
    2222 }
    2223 #endif
    2224 
    22252272//! \}
    22262273
  • trunk/source/Lib/TLibDecoder/TDecCAVLC.h

    r313 r345  
    118118  Void updateContextTables  ( SliceType /*eSliceType*/, Int /*iQp*/ ) { return; }
    119119
    120 #if INTRA_BL
    121   Void parseIntraBLFlag     ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth );
    122 #endif
    123 
    124120  Void xParsePredWeightTable ( TComSlice* pcSlice );
    125121  Void  parseScalingList               ( TComScalingList* scalingList );
  • trunk/source/Lib/TLibDecoder/TDecCu.cpp

    r313 r345  
    334334    return;
    335335  }
    336 #if INTRA_BL
    337   m_pcEntropyDecoder->decodeIntraBLFlag( pcCU, uiAbsPartIdx, 0, uiDepth );
    338   if ( pcCU->isIntraBL( uiAbsPartIdx ) )
    339   {
    340     pcCU->setSizeSubParts( g_uiMaxCUWidth>>uiDepth, g_uiMaxCUHeight>>uiDepth, uiAbsPartIdx, uiDepth );
    341   }
    342   else
    343   {
    344 #endif
    345336
    346337  m_pcEntropyDecoder->decodePredMode( pcCU, uiAbsPartIdx, uiDepth );
     
    357348    }
    358349  }
    359 #if INTRA_BL
     350
     351  UInt uiCurrWidth      = pcCU->getWidth ( uiAbsPartIdx );
     352  UInt uiCurrHeight     = pcCU->getHeight( uiAbsPartIdx );
     353 
    360354  // prediction mode ( Intra : direction mode, Inter : Mv, reference idx )
    361355  m_pcEntropyDecoder->decodePredInfo( pcCU, uiAbsPartIdx, uiDepth, m_ppcCU[uiDepth]);
    362   }
    363 #endif
    364 
    365   UInt uiCurrWidth      = pcCU->getWidth ( uiAbsPartIdx );
    366   UInt uiCurrHeight     = pcCU->getHeight( uiAbsPartIdx );
    367  
    368 #if !INTRA_BL
    369   // prediction mode ( Intra : direction mode, Inter : Mv, reference idx )
    370   m_pcEntropyDecoder->decodePredInfo( pcCU, uiAbsPartIdx, uiDepth, m_ppcCU[uiDepth]);
    371 #endif
    372356
    373357  // Coefficient decoding
     
    440424      xReconIntraQT( m_ppcCU[uiDepth], uiDepth );
    441425      break;
    442 #if INTRA_BL
    443     case MODE_INTRA_BL:
    444 #if NO_RESIDUAL_FLAG_FOR_BLPRED
    445       xReconIntraBL( m_ppcCU[uiDepth], uiAbsPartIdx, uiDepth );
    446 #else
    447       xReconIntraQT( m_ppcCU[uiDepth], uiAbsPartIdx, uiDepth );
    448 #endif
    449       break;
    450 #endif
    451426    default:
    452427      assert(0);
     
    516491 
    517492  //===== get prediction signal =====
    518 #if INTRA_BL && !NO_RESIDUAL_FLAG_FOR_BLPRED
    519   if(pcCU->isIntraBL ( uiAbsPartIdx ) )
    520   {
    521     pcCU->getBaseLumaBlk( uiWidth, uiHeight, uiAbsPartIdx, piPred, uiStride );
    522   }
    523   else
    524 #endif
    525493  m_pcPrediction->predIntraLumaAng( pcCU->getPattern(), uiLumaPredMode, piPred, uiStride, uiWidth, uiHeight, bAboveAvail, bLeftAvail );
    526494 
     
    607575 
    608576  //===== get prediction signal =====
    609 #if INTRA_BL && !NO_RESIDUAL_FLAG_FOR_BLPRED
    610   if(pcCU->isIntraBL ( uiAbsPartIdx ) )
    611   {
    612     pcCU->getBaseChromaBlk( uiWidth, uiHeight, uiAbsPartIdx, piPred, uiStride, uiChromaId );
    613   }
    614   else
    615 #endif
    616   {
    617     if( uiChromaPredMode == DM_CHROMA_IDX )
    618     {
    619       uiChromaPredMode = pcCU->getLumaIntraDir( 0 );
    620     }
    621     m_pcPrediction->predIntraChromaAng( pPatChroma, uiChromaPredMode, piPred, uiStride, uiWidth, uiHeight, bAboveAvail, bLeftAvail ); 
    622   }
     577  if( uiChromaPredMode == DM_CHROMA_IDX )
     578  {
     579    uiChromaPredMode = pcCU->getLumaIntraDir( 0 );
     580  }
     581  m_pcPrediction->predIntraChromaAng( pPatChroma, uiChromaPredMode, piPred, uiStride, uiWidth, uiHeight, bAboveAvail, bLeftAvail ); 
    623582
    624583  //===== inverse transform =====
     
    930889
    931890}
    932 
    933 #if NO_RESIDUAL_FLAG_FOR_BLPRED
    934 Void
    935 TDecCu::xReconIntraBL( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    936 {
    937   m_ppcYuvReco[uiDepth]->copyFromPicLuma  ( pcCU->getSlice()->getFullPelBaseRec(m_layerId - 1),  pcCU->getAddr(), pcCU->getZorderIdxInCU(), 0, pcCU->getWidth(0), pcCU->getHeight(0));
    938   m_ppcYuvReco[uiDepth]->copyFromPicChroma( pcCU->getSlice()->getFullPelBaseRec(m_layerId - 1),  pcCU->getAddr(), pcCU->getZorderIdxInCU(), 0, (pcCU->getWidth(0)>>1), (pcCU->getHeight(0)>>1), 0);
    939   m_ppcYuvReco[uiDepth]->copyFromPicChroma( pcCU->getSlice()->getFullPelBaseRec(m_layerId - 1),  pcCU->getAddr(), pcCU->getZorderIdxInCU(), 0, (pcCU->getWidth(0)>>1), (pcCU->getHeight(0)>>1), 1);
    940 
    941   // inter recon
    942   xDecodeInterTexture( pcCU, 0, uiDepth );
    943 
    944   // clip for only non-zero cbp case
    945   if  ( ( pcCU->getCbf( 0, TEXT_LUMA ) ) || ( pcCU->getCbf( 0, TEXT_CHROMA_U ) ) || ( pcCU->getCbf(0, TEXT_CHROMA_V ) ) )
    946   {
    947     m_ppcYuvReco[uiDepth]->addClip( m_ppcYuvReco[uiDepth], m_ppcYuvResi[uiDepth], 0, pcCU->getWidth( 0 ) );
    948   }
    949   else
    950   {
    951     m_ppcYuvReco[uiDepth]->copyPartToPartYuv( m_ppcYuvReco[uiDepth],0, pcCU->getWidth( 0 ),pcCU->getHeight( 0 ));
    952   }
    953 }
    954 #endif
    955 
    956891//! \}
  • trunk/source/Lib/TLibDecoder/TDecCu.h

    r313 r345  
    7777#endif
    7878 
    79 #if INTRA_BL
    80   TComPicYuv*         m_pcPicYuvRecBase;       ///< reconstructed base layer
    81 #endif
    82  
    8379public:
    8480  TDecCu();
     
    106102#if SVC_EXTENSION
    107103  TDecTop*   getLayerDec        ( UInt LayerId )  { return m_ppcTDecTop[LayerId]; }
    108 #if INTRA_BL
    109   Void  setBaseRecPic           ( TComPicYuv* p ) { m_pcPicYuvRecBase = p; }
    110 #endif
    111104#endif
    112105protected:
     
    122115  Void  xIntraRecLumaBlk        ( TComDataCU* pcCU, UInt uiTrDepth, UInt uiAbsPartIdx, TComYuv* pcRecoYuv, TComYuv* pcPredYuv, TComYuv* pcResiYuv );
    123116  Void  xIntraRecChromaBlk      ( TComDataCU* pcCU, UInt uiTrDepth, UInt uiAbsPartIdx, TComYuv* pcRecoYuv, TComYuv* pcPredYuv, TComYuv* pcResiYuv, UInt uiChromaId );
    124 #if NO_RESIDUAL_FLAG_FOR_BLPRED
    125   Void  xReconIntraBL           ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    126 #endif
    127117 
    128118  Void  xReconPCM               ( TComDataCU* pcCU, UInt uiDepth );
  • trunk/source/Lib/TLibDecoder/TDecEntropy.cpp

    r313 r345  
    5858}
    5959
    60 #if INTRA_BL
    61 Void TDecEntropy::decodeIntraBLFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth )
    62 {
    63   m_pcEntropyDecoderIf->parseIntraBLFlag( pcCU, uiAbsPartIdx, uiPartIdx, uiDepth );
    64 }
    65 #endif
    66 
    6760/** decode merge flag
    6861 * \param pcSubCU
     
    111104Void TDecEntropy::decodePredInfo    ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, TComDataCU* pcSubCU )
    112105{
    113 #if INTRA_BL
    114   if( pcCU->isIntraBL( uiAbsPartIdx ) )                                 // Do nothing for Intra BL mode.
    115   {
    116     return;
    117   }
    118 #endif
    119106  if( pcCU->isIntra( uiAbsPartIdx ) )                                 // If it is Intra mode, encode intra prediction mode.
    120107  {
     
    450437   
    451438    pcCU->setCbfSubParts ( 0, TEXT_LUMA, uiAbsPartIdx, uiDepth );
    452 #if INTRA_BL
    453 #if NO_RESIDUAL_FLAG_FOR_BLPRED
    454     if( ( !pcCU->isIntra(uiAbsPartIdx) || pcCU->isIntraBL(uiAbsPartIdx)) && uiDepth == pcCU->getDepth( uiAbsPartIdx ) && !pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, 0 ) && !pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, 0 ) )
    455 #else
    456     if( ( !pcCU->isIntra(uiAbsPartIdx) ) && uiDepth == pcCU->getDepth( uiAbsPartIdx ) && !pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, 0 ) && !pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, 0 ) )
    457 #endif
    458 #else
    459439    if( pcCU->getPredictionMode(uiAbsPartIdx) != MODE_INTRA && uiDepth == pcCU->getDepth( uiAbsPartIdx ) && !pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, 0 ) && !pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, 0 ) )
    460 #endif
    461440    {
    462441      pcCU->setCbfSubParts( 1 << uiTrDepth, TEXT_LUMA, uiAbsPartIdx, uiDepth );
     
    556535  UInt uiChromaOffset = uiLumaOffset>>2;
    557536 
    558 #if NO_RESIDUAL_FLAG_FOR_BLPRED
    559   if( pcCU->isIntra(uiAbsPartIdx) && !pcCU->isIntraBL(uiAbsPartIdx) )
    560 #else
    561537  if( pcCU->isIntra(uiAbsPartIdx) )
    562 #endif
    563538  {
    564539  }
  • trunk/source/Lib/TLibDecoder/TDecEntropy.h

    r313 r345  
    107107  virtual Void parseTransformSkipFlags ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt width, UInt height, UInt uiDepth, TextType eTType) = 0;
    108108
    109 #if INTRA_BL
    110   virtual Void parseIntraBLFlag   ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth ) = 0;
    111 #endif
    112 
    113109  virtual Void updateContextTables( SliceType eSliceType, Int iQp ) = 0;
    114110 
     
    170166  Void updateContextTables    ( SliceType eSliceType, Int iQp ) { m_pcEntropyDecoderIf->updateContextTables( eSliceType, iQp ); }
    171167 
    172 #if INTRA_BL
    173   Void decodeIntraBLFlag       ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth );
    174 #endif
    175  
    176168private:
    177169  Void xDecodeTransform        ( TComDataCU* pcCU, UInt offsetLuma, UInt offsetChroma, UInt uiAbsPartIdx, UInt uiDepth, UInt width, UInt height, UInt uiTrIdx, Bool& bCodeDQP );
  • trunk/source/Lib/TLibDecoder/TDecSbac.cpp

    r313 r345  
    7777, m_cTransformSkipSCModel     ( 1,             2,               NUM_TRANSFORMSKIP_FLAG_CTX    , m_contextModels + m_numContextModels, m_numContextModels)
    7878, m_CUTransquantBypassFlagSCModel( 1,          1,               NUM_CU_TRANSQUANT_BYPASS_FLAG_CTX, m_contextModels + m_numContextModels, m_numContextModels)
    79 #if INTRA_BL
    80 , m_cIntraBLPredFlagSCModel   (1,              1,               NUM_INTRA_BL_PRED_CTX         , m_contextModels + m_numContextModels, m_numContextModels)
    81 #endif
    8279{
    8380  assert( m_numContextModels <= MAX_NUM_CTX_MOD );
     
    138135
    139136  m_cCUTransSubdivFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_TRANS_SUBDIV_FLAG );
    140 #if INTRA_BL
    141   m_cIntraBLPredFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_INTRA_BL_PRED_FLAG );
    142 #endif
    143137  m_cTransformSkipSCModel.initBuffer     ( sliceType, qp, (UChar*)INIT_TRANSFORMSKIP_FLAG );
    144138  m_CUTransquantBypassFlagSCModel.initBuffer( sliceType, qp, (UChar*)INIT_CU_TRANSQUANT_BYPASS_FLAG );
     
    186180  m_cSaoTypeIdxSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_SAO_TYPE_IDX );
    187181  m_cCUTransSubdivFlagSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_TRANS_SUBDIV_FLAG );
    188 #if INTRA_BL
    189   m_cIntraBLPredFlagSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_INTRA_BL_PRED_FLAG );
    190 #endif
    191182  m_cTransformSkipSCModel.initBuffer     ( eSliceType, iQp, (UChar*)INIT_TRANSFORMSKIP_FLAG );
    192183  m_CUTransquantBypassFlagSCModel.initBuffer( eSliceType, iQp, (UChar*)INIT_CU_TRANSQUANT_BYPASS_FLAG );
     
    438429}
    439430
    440 #if INTRA_BL
    441 Void TDecSbac::parseIntraBLFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth )
    442 {
    443   if( pcCU->getLayerId() == 0 )
    444   {
    445     return;
    446   }
    447 
    448   UInt uiSymbol = 0;
    449 
    450   UInt uiCtxIntraBL = pcCU->getCtxIntraBLFlag( uiAbsPartIdx ) ;
    451   m_pcTDecBinIf->decodeBin( uiSymbol, m_cIntraBLPredFlagSCModel.get( 0, 0, uiCtxIntraBL ));
    452   DTRACE_CABAC_VL( g_nSymbolCounter++ );
    453   DTRACE_CABAC_T( "\tIntrBLFlag" );
    454   DTRACE_CABAC_T( "\tuiSymbol: ");
    455   DTRACE_CABAC_V( uiSymbol );
    456   DTRACE_CABAC_T( "\n");
    457 
    458   if ( uiSymbol )
    459   {
    460     pcCU->setPartSizeSubParts( SIZE_2Nx2N, uiAbsPartIdx, uiDepth );
    461     pcCU->setPredModeSubParts( MODE_INTRA_BL, uiAbsPartIdx, uiDepth );
    462     pcCU->setTrIdxSubParts( 0, uiAbsPartIdx, uiDepth );
    463     pcCU->setLumaIntraDirSubParts ( DC_IDX, uiAbsPartIdx, uiDepth );   
    464   }
    465 }
    466 #endif
    467 
    468431/** parse merge flag
    469432 * \param pcCU
     
    555518  UInt uiSymbol, uiMode = 0;
    556519  PartSize eMode;
    557  
    558 #if INTRA_BL
    559   if ( pcCU->isIntraBL( uiAbsPartIdx ) )
    560   {
    561     assert( 0 );
    562   }
    563 #endif
     520
    564521  if ( pcCU->isIntra( uiAbsPartIdx ) )
    565522  {
  • trunk/source/Lib/TLibDecoder/TDecSbac.h

    r313 r345  
    135135  Void  parseScalingList ( TComScalingList* /*scalingList*/ ) {}
    136136
    137 #if INTRA_BL
    138   Void parseIntraBLFlag    ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth );
    139 #endif
    140137private:
    141138  UInt m_uiLastDQpNonZero;
     
    174171  ContextModel3DBuffer m_cTransformSkipSCModel;
    175172  ContextModel3DBuffer m_CUTransquantBypassFlagSCModel;
    176 #if INTRA_BL
    177   ContextModel3DBuffer m_cIntraBLPredFlagSCModel;
    178 #endif
    179173};
    180174
  • trunk/source/Lib/TLibDecoder/TDecSlice.cpp

    r313 r345  
    197197  UInt uiTileLCUX;
    198198  Int iNumSubstreamsPerTile = 1; // if independent.
    199 #if INTRA_BL
    200   m_pcCuDecoder->setBaseRecPic( rpcPic->getLayerId() > 0 ? rpcPic->getFullPelBaseRec(rpcPic->getLayerId()-1) : NULL);
    201 #endif
     199
    202200  Bool depSliceSegmentsEnabled = rpcPic->getSlice(rpcPic->getCurrSliceIdx())->getPPS()->getDependentSliceSegmentsEnabledFlag();
    203201  uiTileStartLCU = rpcPic->getPicSym()->getTComTile(rpcPic->getPicSym()->getTileIdxMap(iStartCUAddr))->getFirstCUAddr();
  • trunk/source/Lib/TLibDecoder/TDecTop.cpp

    r313 r345  
    242242
    243243  m_iMaxRefPicNum = pcSlice->getSPS()->getMaxDecPicBuffering(pcSlice->getTLayer());     // m_uiMaxDecPicBuffering has the space for the picture currently being decoded
     244
     245#if SVC_EXTENSION
     246  m_iMaxRefPicNum += 1; // it should be updated if more than 1 resampling picture is used
     247#endif
     248
    244249  if (m_cListPic.size() < (UInt)m_iMaxRefPicNum)
    245250  {
     
    812817#if REF_IDX_FRAMEWORK
    813818    if (m_layerId == 0)
    814 #elif INTRA_BL
    815     if( m_layerId > 0 )
    816     {
    817       pcSlice->setRefPicList( m_cListPic );
    818     }
    819     else
    820819#endif
    821820#if FIX1071
     
    913912
    914913#if REF_IDX_FRAMEWORK
    915 #if ZERO_NUM_DIRECT_LAYERS
    916914    if( m_layerId > 0 && pcSlice->getActiveNumILRRefIdx() )
    917 #else
    918     if(m_layerId > 0)
    919 #endif
    920915    {
    921916      setILRPic(pcPic);
     
    928923      {
    929924        pcSlice->setRefPOCListILP(m_ppcTDecTop[m_layerId]->m_cIlpPic, pcSlice->getBaseColPic());
    930 #if M0457_COL_PICTURE_SIGNALING
     925#if M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING
    931926        pcSlice->setMotionPredIlp(getMotionPredIlp(pcSlice));
    932927#endif
     
    13211316  if( vps->getNumDirectRefLayers( m_layerId ) <= 0 )
    13221317  {
    1323 #if ZERO_NUM_DIRECT_LAYERS
    13241318    return (TDecTop *)getLayerDec( 0 );
    1325 #else
    1326     return NULL;
    1327 #endif
    13281319  }
    13291320 
     
    13861377#endif
    13871378
    1388 #if M0457_COL_PICTURE_SIGNALING
     1379#if M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING
    13891380TComPic* TDecTop::getMotionPredIlp(TComSlice* pcSlice)
    13901381{
  • trunk/source/Lib/TLibDecoder/TDecTop.h

    r313 r345  
    230230  Void      xDecodePPS();
    231231  Void      xDecodeSEI( TComInputBitstream* bs, const NalUnitType nalUnitType );
    232 #if M0457_COL_PICTURE_SIGNALING
     232#if M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING
    233233  TComPic*  getMotionPredIlp(TComSlice* pcSlice);
    234234#endif
Note: See TracChangeset for help on using the changeset viewer.