Changeset 345 in SHVCSoftware for trunk/source/Lib/TLibDecoder
- Timestamp:
- 17 Aug 2013, 06:27:19 (11 years ago)
- Location:
- trunk
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:mergeinfo changed
/branches/SHM-3.0-dev (added) merged: 315-344 /trunk (added) merged: 312-314
- Property svn:mergeinfo changed
-
trunk/source
- Property svn:mergeinfo changed
/branches/SHM-3.0-dev/source (added) merged: 316-340 /trunk/source (added) merged: 312-314
- Property svn:mergeinfo changed
-
trunk/source/Lib/TLibDecoder/TDecCAVLC.cpp
r313 r345 951 951 #endif 952 952 #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 953 971 for(i = 0; i < vps->getMaxLayers() - 1; i++) 954 972 { … … 956 974 assert( uiCode <= vps->getMaxTLayers() ); 957 975 } 976 #endif 977 #endif 978 #if ILP_SSH_SIG 979 READ_FLAG( uiCode, "all_ref_layers_active_flag" ); vps->setIlpSshSignalingEnabledFlag(uiCode ? true : false); 958 980 #endif 959 981 #if VPS_EXTN_PROFILE_INFO … … 1382 1404 #if JCTVC_M0458_INTERLAYER_RPS_SIG 1383 1405 rpcSlice->setActiveNumILRRefIdx(0); 1406 #if ILP_SSH_SIG 1407 if((sps->getLayerId() > 0) && rpcSlice->getVPS()->getIlpSshSignalingEnabledFlag() && (rpcSlice->getNumILRRefIdx() > 0) ) 1408 #else 1384 1409 if((sps->getLayerId() > 0) && (rpcSlice->getNumILRRefIdx() > 0) ) 1410 #endif 1385 1411 { 1386 1412 READ_FLAG(uiCode,"inter_layer_pred_enabled_flag"); … … 1404 1430 rpcSlice->setActiveNumILRRefIdx(1); 1405 1431 } 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 1406 1443 for(Int i = 0; i < rpcSlice->getActiveNumILRRefIdx(); i++ ) 1407 1444 { … … 1409 1446 rpcSlice->setInterLayerPredLayerIdc(uiCode,i); 1410 1447 } 1448 #if ILP_NUM_REF_CHK 1449 } 1450 #endif 1411 1451 } 1412 1452 else … … 1417 1457 } 1418 1458 } 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 1419 1470 #if M0457_IL_SAMPLE_PRED_ONLY_FLAG 1420 1471 rpcSlice->setInterLayerSamplePredOnlyFlag( false ); … … 1574 1625 { 1575 1626 #if REF_IDX_FRAMEWORK && M0457_COL_PICTURE_SIGNALING 1627 #if REMOVE_COL_PICTURE_SIGNALING 1628 rpcSlice->setMFMEnabledFlag( rpcSlice->getNumMotionPredRefLayers() > 0 ? true : false ); 1629 #else 1576 1630 rpcSlice->setMFMEnabledFlag( false ); 1577 1631 rpcSlice->setColRefLayerIdx( 0 ); … … 1590 1644 else 1591 1645 { 1646 #endif //REMOVE_COL_PICTURE_SIGNALING 1592 1647 #endif 1593 1648 if ( rpcSlice->getSliceType() == B_SLICE ) … … 1612 1667 rpcSlice->setColRefIdx(0); 1613 1668 } 1614 #if REF_IDX_FRAMEWORK && M0457_COL_PICTURE_SIGNALING 1669 #if REF_IDX_FRAMEWORK && M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING 1615 1670 } 1616 1671 #endif … … 2215 2270 return (cnt>0); 2216 2271 } 2217 2218 #if INTRA_BL2219 Void TDecCavlc::parseIntraBLFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth )2220 {2221 assert(0);2222 }2223 #endif2224 2225 2272 //! \} 2226 2273 -
trunk/source/Lib/TLibDecoder/TDecCAVLC.h
r313 r345 118 118 Void updateContextTables ( SliceType /*eSliceType*/, Int /*iQp*/ ) { return; } 119 119 120 #if INTRA_BL121 Void parseIntraBLFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth );122 #endif123 124 120 Void xParsePredWeightTable ( TComSlice* pcSlice ); 125 121 Void parseScalingList ( TComScalingList* scalingList ); -
trunk/source/Lib/TLibDecoder/TDecCu.cpp
r313 r345 334 334 return; 335 335 } 336 #if INTRA_BL337 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 else343 {344 #endif345 336 346 337 m_pcEntropyDecoder->decodePredMode( pcCU, uiAbsPartIdx, uiDepth ); … … 357 348 } 358 349 } 359 #if INTRA_BL 350 351 UInt uiCurrWidth = pcCU->getWidth ( uiAbsPartIdx ); 352 UInt uiCurrHeight = pcCU->getHeight( uiAbsPartIdx ); 353 360 354 // prediction mode ( Intra : direction mode, Inter : Mv, reference idx ) 361 355 m_pcEntropyDecoder->decodePredInfo( pcCU, uiAbsPartIdx, uiDepth, m_ppcCU[uiDepth]); 362 }363 #endif364 365 UInt uiCurrWidth = pcCU->getWidth ( uiAbsPartIdx );366 UInt uiCurrHeight = pcCU->getHeight( uiAbsPartIdx );367 368 #if !INTRA_BL369 // prediction mode ( Intra : direction mode, Inter : Mv, reference idx )370 m_pcEntropyDecoder->decodePredInfo( pcCU, uiAbsPartIdx, uiDepth, m_ppcCU[uiDepth]);371 #endif372 356 373 357 // Coefficient decoding … … 440 424 xReconIntraQT( m_ppcCU[uiDepth], uiDepth ); 441 425 break; 442 #if INTRA_BL443 case MODE_INTRA_BL:444 #if NO_RESIDUAL_FLAG_FOR_BLPRED445 xReconIntraBL( m_ppcCU[uiDepth], uiAbsPartIdx, uiDepth );446 #else447 xReconIntraQT( m_ppcCU[uiDepth], uiAbsPartIdx, uiDepth );448 #endif449 break;450 #endif451 426 default: 452 427 assert(0); … … 516 491 517 492 //===== get prediction signal ===== 518 #if INTRA_BL && !NO_RESIDUAL_FLAG_FOR_BLPRED519 if(pcCU->isIntraBL ( uiAbsPartIdx ) )520 {521 pcCU->getBaseLumaBlk( uiWidth, uiHeight, uiAbsPartIdx, piPred, uiStride );522 }523 else524 #endif525 493 m_pcPrediction->predIntraLumaAng( pcCU->getPattern(), uiLumaPredMode, piPred, uiStride, uiWidth, uiHeight, bAboveAvail, bLeftAvail ); 526 494 … … 607 575 608 576 //===== 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 ); 623 582 624 583 //===== inverse transform ===== … … 930 889 931 890 } 932 933 #if NO_RESIDUAL_FLAG_FOR_BLPRED934 Void935 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 recon942 xDecodeInterTexture( pcCU, 0, uiDepth );943 944 // clip for only non-zero cbp case945 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 else950 {951 m_ppcYuvReco[uiDepth]->copyPartToPartYuv( m_ppcYuvReco[uiDepth],0, pcCU->getWidth( 0 ),pcCU->getHeight( 0 ));952 }953 }954 #endif955 956 891 //! \} -
trunk/source/Lib/TLibDecoder/TDecCu.h
r313 r345 77 77 #endif 78 78 79 #if INTRA_BL80 TComPicYuv* m_pcPicYuvRecBase; ///< reconstructed base layer81 #endif82 83 79 public: 84 80 TDecCu(); … … 106 102 #if SVC_EXTENSION 107 103 TDecTop* getLayerDec ( UInt LayerId ) { return m_ppcTDecTop[LayerId]; } 108 #if INTRA_BL109 Void setBaseRecPic ( TComPicYuv* p ) { m_pcPicYuvRecBase = p; }110 #endif111 104 #endif 112 105 protected: … … 122 115 Void xIntraRecLumaBlk ( TComDataCU* pcCU, UInt uiTrDepth, UInt uiAbsPartIdx, TComYuv* pcRecoYuv, TComYuv* pcPredYuv, TComYuv* pcResiYuv ); 123 116 Void xIntraRecChromaBlk ( TComDataCU* pcCU, UInt uiTrDepth, UInt uiAbsPartIdx, TComYuv* pcRecoYuv, TComYuv* pcPredYuv, TComYuv* pcResiYuv, UInt uiChromaId ); 124 #if NO_RESIDUAL_FLAG_FOR_BLPRED125 Void xReconIntraBL ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );126 #endif127 117 128 118 Void xReconPCM ( TComDataCU* pcCU, UInt uiDepth ); -
trunk/source/Lib/TLibDecoder/TDecEntropy.cpp
r313 r345 58 58 } 59 59 60 #if INTRA_BL61 Void TDecEntropy::decodeIntraBLFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth )62 {63 m_pcEntropyDecoderIf->parseIntraBLFlag( pcCU, uiAbsPartIdx, uiPartIdx, uiDepth );64 }65 #endif66 67 60 /** decode merge flag 68 61 * \param pcSubCU … … 111 104 Void TDecEntropy::decodePredInfo ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, TComDataCU* pcSubCU ) 112 105 { 113 #if INTRA_BL114 if( pcCU->isIntraBL( uiAbsPartIdx ) ) // Do nothing for Intra BL mode.115 {116 return;117 }118 #endif119 106 if( pcCU->isIntra( uiAbsPartIdx ) ) // If it is Intra mode, encode intra prediction mode. 120 107 { … … 450 437 451 438 pcCU->setCbfSubParts ( 0, TEXT_LUMA, uiAbsPartIdx, uiDepth ); 452 #if INTRA_BL453 #if NO_RESIDUAL_FLAG_FOR_BLPRED454 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 #else456 if( ( !pcCU->isIntra(uiAbsPartIdx) ) && uiDepth == pcCU->getDepth( uiAbsPartIdx ) && !pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_U, 0 ) && !pcCU->getCbf( uiAbsPartIdx, TEXT_CHROMA_V, 0 ) )457 #endif458 #else459 439 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 #endif461 440 { 462 441 pcCU->setCbfSubParts( 1 << uiTrDepth, TEXT_LUMA, uiAbsPartIdx, uiDepth ); … … 556 535 UInt uiChromaOffset = uiLumaOffset>>2; 557 536 558 #if NO_RESIDUAL_FLAG_FOR_BLPRED559 if( pcCU->isIntra(uiAbsPartIdx) && !pcCU->isIntraBL(uiAbsPartIdx) )560 #else561 537 if( pcCU->isIntra(uiAbsPartIdx) ) 562 #endif563 538 { 564 539 } -
trunk/source/Lib/TLibDecoder/TDecEntropy.h
r313 r345 107 107 virtual Void parseTransformSkipFlags ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt width, UInt height, UInt uiDepth, TextType eTType) = 0; 108 108 109 #if INTRA_BL110 virtual Void parseIntraBLFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth ) = 0;111 #endif112 113 109 virtual Void updateContextTables( SliceType eSliceType, Int iQp ) = 0; 114 110 … … 170 166 Void updateContextTables ( SliceType eSliceType, Int iQp ) { m_pcEntropyDecoderIf->updateContextTables( eSliceType, iQp ); } 171 167 172 #if INTRA_BL173 Void decodeIntraBLFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth );174 #endif175 176 168 private: 177 169 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 77 77 , m_cTransformSkipSCModel ( 1, 2, NUM_TRANSFORMSKIP_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels) 78 78 , m_CUTransquantBypassFlagSCModel( 1, 1, NUM_CU_TRANSQUANT_BYPASS_FLAG_CTX, m_contextModels + m_numContextModels, m_numContextModels) 79 #if INTRA_BL80 , m_cIntraBLPredFlagSCModel (1, 1, NUM_INTRA_BL_PRED_CTX , m_contextModels + m_numContextModels, m_numContextModels)81 #endif82 79 { 83 80 assert( m_numContextModels <= MAX_NUM_CTX_MOD ); … … 138 135 139 136 m_cCUTransSubdivFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_TRANS_SUBDIV_FLAG ); 140 #if INTRA_BL141 m_cIntraBLPredFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_INTRA_BL_PRED_FLAG );142 #endif143 137 m_cTransformSkipSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_TRANSFORMSKIP_FLAG ); 144 138 m_CUTransquantBypassFlagSCModel.initBuffer( sliceType, qp, (UChar*)INIT_CU_TRANSQUANT_BYPASS_FLAG ); … … 186 180 m_cSaoTypeIdxSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_SAO_TYPE_IDX ); 187 181 m_cCUTransSubdivFlagSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_TRANS_SUBDIV_FLAG ); 188 #if INTRA_BL189 m_cIntraBLPredFlagSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_INTRA_BL_PRED_FLAG );190 #endif191 182 m_cTransformSkipSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_TRANSFORMSKIP_FLAG ); 192 183 m_CUTransquantBypassFlagSCModel.initBuffer( eSliceType, iQp, (UChar*)INIT_CU_TRANSQUANT_BYPASS_FLAG ); … … 438 429 } 439 430 440 #if INTRA_BL441 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 #endif467 468 431 /** parse merge flag 469 432 * \param pcCU … … 555 518 UInt uiSymbol, uiMode = 0; 556 519 PartSize eMode; 557 558 #if INTRA_BL 559 if ( pcCU->isIntraBL( uiAbsPartIdx ) ) 560 { 561 assert( 0 ); 562 } 563 #endif 520 564 521 if ( pcCU->isIntra( uiAbsPartIdx ) ) 565 522 { -
trunk/source/Lib/TLibDecoder/TDecSbac.h
r313 r345 135 135 Void parseScalingList ( TComScalingList* /*scalingList*/ ) {} 136 136 137 #if INTRA_BL138 Void parseIntraBLFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth );139 #endif140 137 private: 141 138 UInt m_uiLastDQpNonZero; … … 174 171 ContextModel3DBuffer m_cTransformSkipSCModel; 175 172 ContextModel3DBuffer m_CUTransquantBypassFlagSCModel; 176 #if INTRA_BL177 ContextModel3DBuffer m_cIntraBLPredFlagSCModel;178 #endif179 173 }; 180 174 -
trunk/source/Lib/TLibDecoder/TDecSlice.cpp
r313 r345 197 197 UInt uiTileLCUX; 198 198 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 202 200 Bool depSliceSegmentsEnabled = rpcPic->getSlice(rpcPic->getCurrSliceIdx())->getPPS()->getDependentSliceSegmentsEnabledFlag(); 203 201 uiTileStartLCU = rpcPic->getPicSym()->getTComTile(rpcPic->getPicSym()->getTileIdxMap(iStartCUAddr))->getFirstCUAddr(); -
trunk/source/Lib/TLibDecoder/TDecTop.cpp
r313 r345 242 242 243 243 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 244 249 if (m_cListPic.size() < (UInt)m_iMaxRefPicNum) 245 250 { … … 812 817 #if REF_IDX_FRAMEWORK 813 818 if (m_layerId == 0) 814 #elif INTRA_BL815 if( m_layerId > 0 )816 {817 pcSlice->setRefPicList( m_cListPic );818 }819 else820 819 #endif 821 820 #if FIX1071 … … 913 912 914 913 #if REF_IDX_FRAMEWORK 915 #if ZERO_NUM_DIRECT_LAYERS916 914 if( m_layerId > 0 && pcSlice->getActiveNumILRRefIdx() ) 917 #else918 if(m_layerId > 0)919 #endif920 915 { 921 916 setILRPic(pcPic); … … 928 923 { 929 924 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 931 926 pcSlice->setMotionPredIlp(getMotionPredIlp(pcSlice)); 932 927 #endif … … 1321 1316 if( vps->getNumDirectRefLayers( m_layerId ) <= 0 ) 1322 1317 { 1323 #if ZERO_NUM_DIRECT_LAYERS1324 1318 return (TDecTop *)getLayerDec( 0 ); 1325 #else1326 return NULL;1327 #endif1328 1319 } 1329 1320 … … 1386 1377 #endif 1387 1378 1388 #if M0457_COL_PICTURE_SIGNALING 1379 #if M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING 1389 1380 TComPic* TDecTop::getMotionPredIlp(TComSlice* pcSlice) 1390 1381 { -
trunk/source/Lib/TLibDecoder/TDecTop.h
r313 r345 230 230 Void xDecodePPS(); 231 231 Void xDecodeSEI( TComInputBitstream* bs, const NalUnitType nalUnitType ); 232 #if M0457_COL_PICTURE_SIGNALING 232 #if M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING 233 233 TComPic* getMotionPredIlp(TComSlice* pcSlice); 234 234 #endif
Note: See TracChangeset for help on using the changeset viewer.