Changeset 291 in SHVCSoftware for branches/SHM-2.1-dev/source/Lib/TLibEncoder
- Timestamp:
- 18 Jun 2013, 14:06:13 (12 years ago)
- Location:
- branches/SHM-2.1-dev/source/Lib/TLibEncoder
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-2.1-dev/source/Lib/TLibEncoder/TEncCavlc.cpp
r290 r291 548 548 WRITE_FLAG( pcSPS->getTMVPFlagsPresent() ? 1 : 0, "sps_temporal_mvp_enable_flag" ); 549 549 #if REF_IDX_MFM 550 #if !M0457_COL_PICTURE_SIGNALING 550 551 if( pcSPS->getLayerId() > 0 ) 551 552 { 552 553 WRITE_FLAG( pcSPS->getMFMEnabledFlag() ? 1 : 0, "sps_enh_mfm_enable_flag" ); 553 554 } 555 #endif 554 556 #endif 555 557 WRITE_FLAG( pcSPS->getUseStrongIntraSmoothing(), "sps_strong_intra_smoothing_enable_flag" ); … … 1219 1221 if ( pcSlice->getEnableTMVPFlag() ) 1220 1222 { 1223 #if REF_IDX_FRAMEWORK && M0457_COL_PICTURE_SIGNALING 1224 if ( !pcSlice->getIdrPicFlag() && pcSlice->getLayerId() > 0 && pcSlice->getNumMotionPredRefLayers() > 0 ) 1225 { 1226 WRITE_FLAG( 1, "alt_collocated_indication_flag" ); 1227 if (pcSlice->getNumMotionPredRefLayers() > 1) 1228 { 1229 WRITE_UVLC(0, "collocated_ref_layer_idx"); 1230 } 1231 } 1232 else 1233 { 1234 #endif 1221 1235 if ( pcSlice->getSliceType() == B_SLICE ) 1222 1236 { … … 1230 1244 WRITE_UVLC( pcSlice->getColRefIdx(), "collocated_ref_idx" ); 1231 1245 } 1246 #if REF_IDX_FRAMEWORK && M0457_COL_PICTURE_SIGNALING 1247 } 1248 #endif 1232 1249 } 1233 1250 if ( (pcSlice->getPPS()->getUseWP() && pcSlice->getSliceType()==P_SLICE) || (pcSlice->getPPS()->getWPBiPred() && pcSlice->getSliceType()==B_SLICE) ) -
branches/SHM-2.1-dev/source/Lib/TLibEncoder/TEncGOP.cpp
r288 r291 487 487 m_pcSliceEncoder->initEncSlice ( pcPic, iPOCLast, pocCurr, iNumPicRcvd, iGOPid, pcSlice, m_pcEncTop->getSPS(), m_pcEncTop->getPPS() ); 488 488 #endif 489 #if M0457_COL_PICTURE_SIGNALING 490 pcSlice->setMFMEnabledFlag(m_pcEncTop->getMFMEnabledFlag()); 491 pcSlice->setAltColIndicationFlag(m_pcEncTop->getNumMotionPredRefLayers() > 0 ? true : false); 492 pcSlice->setColRefLayerIdx(0); 493 #endif 489 494 pcSlice->setLastIDR(m_iLastIDR); 490 495 pcSlice->setSliceIdx(0); … … 760 765 761 766 #if REF_IDX_FRAMEWORK 767 #if M0457_COL_PICTURE_SIGNALING 768 if ( pcSlice->getSliceType() == B_SLICE && !pcSlice->getAltColIndicationFlag() ) 769 #else 762 770 if( pcSlice->getSliceType() == B_SLICE ) 771 #endif 763 772 { 764 773 pcSlice->setColFromL0Flag(1-uiColDir); … … 789 798 790 799 #if REF_IDX_MFM 800 #if M0457_COL_PICTURE_SIGNALING 801 if( pcSlice->getMFMEnabledFlag() ) 802 #else 791 803 if( pcSlice->getSPS()->getMFMEnabledFlag() ) 804 #endif 792 805 { 793 806 pcSlice->setRefPOCListILP(m_pcEncTop->getIlpList(), pcSlice->getBaseColPic()); 807 #if M0457_COL_PICTURE_SIGNALING 808 pcSlice->setMotionPredIlp(getMotionPredIlp(pcSlice)); 809 #endif 794 810 } 795 811 #endif … … 798 814 799 815 #if REF_IDX_MFM 816 #if M0457_COL_PICTURE_SIGNALING 817 if( pcSlice->getMFMEnabledFlag() && !pcSlice->getAltColIndicationFlag() ) 818 #else 800 819 if( pcSlice->getSPS()->getMFMEnabledFlag() ) 820 #endif 801 821 { 802 822 Bool found = false; … … 1608 1628 startCUAddrSliceSegmentIdx++; 1609 1629 } 1610 1630 #if REF_IDX_FRAMEWORK && M0457_COL_PICTURE_SIGNALING 1631 pcSlice->setNumMotionPredRefLayers(m_pcEncTop->getNumMotionPredRefLayers()); 1632 #endif 1611 1633 pcSlice->setRPS(pcPic->getSlice(0)->getRPS()); 1612 1634 pcSlice->setRPSidx(pcPic->getSlice(0)->getRPSidx()); … … 3001 3023 } 3002 3024 #endif 3025 3026 #if M0457_COL_PICTURE_SIGNALING 3027 TComPic* TEncGOP::getMotionPredIlp(TComSlice* pcSlice) 3028 { 3029 TComPic* ilpPic = NULL; 3030 Int activeMotionPredReflayerIdx = 0; 3031 3032 for( Int i = 0; i < pcSlice->getActiveNumILRRefIdx(); i++ ) 3033 { 3034 UInt refLayerIdc = pcSlice->getInterLayerPredLayerIdc(i); 3035 if (m_pcEncTop->getMotionPredEnabledFlag(refLayerIdc)) 3036 { 3037 if (activeMotionPredReflayerIdx == pcSlice->getColRefLayerIdx()) 3038 { 3039 ilpPic = m_pcEncTop->getIlpList()[i]; 3040 break; 3041 } 3042 else 3043 { 3044 activeMotionPredReflayerIdx++; 3045 } 3046 } 3047 } 3048 3049 assert(ilpPic != NULL); 3050 3051 return ilpPic; 3052 } 3053 #endif 3054 3003 3055 //! \} -
branches/SHM-2.1-dev/source/Lib/TLibEncoder/TEncGOP.h
r191 r291 207 207 Void dblMetric( TComPic* pcPic, UInt uiNumSlices ); 208 208 #endif 209 #if M0457_COL_PICTURE_SIGNALING 210 TComPic* getMotionPredIlp(TComSlice* pcSlice); 211 #endif 209 212 };// END CLASS DEFINITION TEncGOP 210 213 -
branches/SHM-2.1-dev/source/Lib/TLibEncoder/TEncTop.cpp
r288 r291 599 599 #endif 600 600 #if REF_IDX_MFM 601 #if !M0457_COL_PICTURE_SIGNALING 601 602 m_cSPS.setMFMEnabledFlag(m_bMFMEnabledFlag); 603 #endif 602 604 #endif 603 605 #if SCALED_REF_LAYER_OFFSETS
Note: See TracChangeset for help on using the changeset viewer.