Changeset 291 in SHVCSoftware for branches/SHM-2.1-dev/source/Lib/TLibDecoder
- Timestamp:
- 18 Jun 2013, 14:06:13 (12 years ago)
- Location:
- branches/SHM-2.1-dev/source/Lib/TLibDecoder
- Files:
-
- 3 edited
-
TDecCAVLC.cpp (modified) (4 diffs)
-
TDecTop.cpp (modified) (3 diffs)
-
TDecTop.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-2.1-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
r290 r291 717 717 READ_FLAG( uiCode, "sps_temporal_mvp_enable_flag" ); pcSPS->setTMVPFlagsPresent(uiCode); 718 718 #if REF_IDX_MFM 719 #if !M0457_COL_PICTURE_SIGNALING 719 720 if(pcSPS->getLayerId() > 0) 720 721 { … … 722 723 pcSPS->setMFMEnabledFlag( uiCode ? true : false ); 723 724 } 725 #endif 724 726 #endif 725 727 READ_FLAG( uiCode, "sps_strong_intra_smoothing_enable_flag" ); pcSPS->setUseStrongIntraSmoothing(uiCode); … … 1613 1615 if ( rpcSlice->getEnableTMVPFlag() ) 1614 1616 { 1617 #if REF_IDX_FRAMEWORK && M0457_COL_PICTURE_SIGNALING 1618 rpcSlice->setMFMEnabledFlag( false ); 1619 rpcSlice->setColRefLayerIdx( 0 ); 1620 rpcSlice->setAltColIndicationFlag( false ); 1621 if ( sps->getLayerId() > 0 && rpcSlice->getNumMotionPredRefLayers() > 0 ) 1622 { 1623 READ_FLAG( uiCode, "alt_collocated_indication_flag" ); 1624 rpcSlice->setAltColIndicationFlag( uiCode == 1 ? true : false ); 1625 rpcSlice->setMFMEnabledFlag( uiCode == 1 ? true : false ); 1626 if ( rpcSlice->getNumMotionPredRefLayers() > 1 ) 1627 { 1628 READ_UVLC( uiCode, "collocated_ref_layer_idx" ); 1629 rpcSlice->setColRefLayerIdx( uiCode ); 1630 } 1631 } 1632 else 1633 { 1634 #endif 1615 1635 if ( rpcSlice->getSliceType() == B_SLICE ) 1616 1636 { … … 1634 1654 rpcSlice->setColRefIdx(0); 1635 1655 } 1656 #if REF_IDX_FRAMEWORK && M0457_COL_PICTURE_SIGNALING 1657 } 1658 #endif 1636 1659 } 1637 1660 if ( (pps->getUseWP() && rpcSlice->getSliceType()==P_SLICE) || (pps->getWPBiPred() && rpcSlice->getSliceType()==B_SLICE) ) -
branches/SHM-2.1-dev/source/Lib/TLibDecoder/TDecTop.cpp
r290 r291 541 541 setRefLayerParams(m_apcSlicePilot->getVPS()); 542 542 #endif 543 #if REF_IDX_FRAMEWORK && M0457_COL_PICTURE_SIGNALING 544 m_apcSlicePilot->setNumMotionPredRefLayers(m_numMotionPredRefLayers); 545 #endif 546 543 547 #if SVC_EXTENSION 544 548 m_cEntropyDecoder.decodeSliceHeader (m_apcSlicePilot, &m_parameterSetManagerDecoder[m_layerId]); … … 919 923 setILRPic(pcPic); 920 924 #if REF_IDX_MFM 925 #if M0457_COL_PICTURE_SIGNALING 926 if( pcSlice->getMFMEnabledFlag() ) 927 #else 921 928 if( pcSlice->getSPS()->getMFMEnabledFlag() ) 929 #endif 922 930 { 923 931 pcSlice->setRefPOCListILP(m_ppcTDecTop[m_layerId]->m_cIlpPic, pcSlice->getBaseColPic()); 932 #if M0457_COL_PICTURE_SIGNALING 933 pcSlice->setMotionPredIlp(getMotionPredIlp(pcSlice)); 934 #endif 924 935 } 925 936 #endif … … 1372 1383 1373 1384 #endif 1385 1386 #if M0457_COL_PICTURE_SIGNALING 1387 TComPic* TDecTop::getMotionPredIlp(TComSlice* pcSlice) 1388 { 1389 TComPic* ilpPic = NULL; 1390 Int activeMotionPredReflayerIdx = 0; 1391 1392 for( Int i = 0; i < pcSlice->getActiveNumILRRefIdx(); i++ ) 1393 { 1394 UInt refLayerIdc = pcSlice->getInterLayerPredLayerIdc(i); 1395 if (getMotionPredEnabledFlag(refLayerIdc)) 1396 { 1397 if (activeMotionPredReflayerIdx == pcSlice->getColRefLayerIdx()) 1398 { 1399 ilpPic = m_cIlpPic[i]; 1400 break; 1401 } 1402 else 1403 { 1404 activeMotionPredReflayerIdx++; 1405 } 1406 } 1407 } 1408 1409 assert(ilpPic != NULL); 1410 1411 return ilpPic; 1412 } 1413 #endif 1414 1374 1415 //! \} -
branches/SHM-2.1-dev/source/Lib/TLibDecoder/TDecTop.h
r290 r291 230 230 Void xDecodePPS(); 231 231 Void xDecodeSEI( TComInputBitstream* bs, const NalUnitType nalUnitType ); 232 #if M0457_COL_PICTURE_SIGNALING 233 TComPic* getMotionPredIlp(TComSlice* pcSlice); 234 #endif 232 235 233 236 };// END CLASS DEFINITION TDecTop
Note: See TracChangeset for help on using the changeset viewer.