Changeset 377 in SHVCSoftware for branches/SHM-3.1-dev/source/Lib/TLibEncoder
- Timestamp:
- 30 Aug 2013, 03:29:41 (12 years ago)
- Location:
- branches/SHM-3.1-dev/source/Lib/TLibEncoder
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-3.1-dev/source/Lib/TLibEncoder/TEncCavlc.cpp
r363 r377 1231 1231 if ( pcSlice->getEnableTMVPFlag() ) 1232 1232 { 1233 #if REF_IDX_FRAMEWORK&& M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING1233 #if SVC_EXTENSION && M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING 1234 1234 if ( !pcSlice->getIdrPicFlag() && pcSlice->getLayerId() > 0 && pcSlice->getActiveNumILRRefIdx() > 0 && pcSlice->getNumMotionPredRefLayers() > 0 ) 1235 1235 { … … 1254 1254 WRITE_UVLC( pcSlice->getColRefIdx(), "collocated_ref_idx" ); 1255 1255 } 1256 #if REF_IDX_FRAMEWORK&& M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING1256 #if SVC_EXTENSION && M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING 1257 1257 } 1258 1258 #endif -
branches/SHM-3.1-dev/source/Lib/TLibEncoder/TEncCfg.h
r362 r377 363 363 UInt m_layerId; 364 364 UInt m_numLayer; 365 #endif 366 #if REF_IDX_FRAMEWORK 367 Int m_elRapSliceBEnabled; 368 #endif 365 Int m_elRapSliceBEnabled; 369 366 #if M0040_ADAPTIVE_RESOLUTION_CHANGE 370 Int m_adaptiveResolutionChange; 367 Int m_adaptiveResolutionChange; 368 #endif 371 369 #endif 372 370 … … 868 866 Void setConformanceMode (Int mode) { m_conformanceMode = mode; } 869 867 Void setConformanceWindow(Window& conformanceWindow ) { m_conformanceWindow = conformanceWindow; } 870 #endif871 #if REF_IDX_FRAMEWORK872 868 Void setElRapSliceTypeB(Int bEnabled) {m_elRapSliceBEnabled = bEnabled;} 873 869 Int getElRapSliceTypeB() {return m_elRapSliceBEnabled;} 874 #endif875 870 #if M0040_ADAPTIVE_RESOLUTION_CHANGE 876 871 Void setAdaptiveResolutionChange(Int x) { m_adaptiveResolutionChange = x; } 877 872 Int getAdaptiveResolutionChange() { return m_adaptiveResolutionChange; } 878 873 #endif 874 #endif 879 875 }; 880 876 -
branches/SHM-3.1-dev/source/Lib/TLibEncoder/TEncGOP.cpp
r374 r377 631 631 #if SVC_UPSAMPLING 632 632 if( pcPic->isSpatialEnhLayer(refLayerIdc)) 633 { 633 { 634 634 #if SCALED_REF_LAYER_OFFSETS 635 635 m_pcPredSearch->upsampleBasePic( refLayerIdc, pcPic->getFullPelBaseRec(refLayerIdc), pcSlice->getBaseColPic(refLayerIdc)->getPicYuvRec(), pcPic->getPicYuvRec(), pcSlice->getSPS()->getScaledRefLayerWindow(refLayerIdc) ); … … 659 659 } 660 660 #endif 661 662 } 663 #endif 664 665 #if REF_IDX_FRAMEWORK 666 if( m_layerId > 0 && (pocCurr % m_pcCfg->getIntraPeriod() == 0) ) 667 { 661 662 if( pocCurr % m_pcCfg->getIntraPeriod() == 0 ) 663 { 668 664 #if IDR_ALIGNMENT 669 TComList<TComPic*> *cListPic = m_ppcTEncTop[m_layerId]->getRefLayerEnc(0)->getListPic();670 TComPic* picLayer0 = pcSlice->getRefPic(*cListPic, pcSlice->getPOC() );671 if( picLayer0->getSlice(0)->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_W_RADL || picLayer0->getSlice(0)->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_N_LP )672 {673 pcSlice->setNalUnitType(picLayer0->getSlice(0)->getNalUnitType());674 }675 else676 #endif 677 pcSlice->setNalUnitType(NAL_UNIT_CODED_SLICE_CRA);678 }679 680 if( m_layerId > 0 &&pcSlice->getActiveNumILRRefIdx() == 0 && pcSlice->getNalUnitType() >= NAL_UNIT_CODED_SLICE_BLA_W_LP && pcSlice->getNalUnitType() <= NAL_UNIT_CODED_SLICE_CRA )681 {682 pcSlice->setSliceType(I_SLICE);683 }684 else if( m_layerId > 0 &&!m_pcEncTop->getElRapSliceTypeB() )685 {686 if( (pcSlice->getNalUnitType() >= NAL_UNIT_CODED_SLICE_BLA_W_LP) &&687 (pcSlice->getNalUnitType() <= NAL_UNIT_CODED_SLICE_CRA) &&665 TComList<TComPic*> *cListPic = m_ppcTEncTop[m_layerId]->getRefLayerEnc(0)->getListPic(); 666 TComPic* picLayer0 = pcSlice->getRefPic(*cListPic, pcSlice->getPOC() ); 667 if( picLayer0->getSlice(0)->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_W_RADL || picLayer0->getSlice(0)->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_N_LP ) 668 { 669 pcSlice->setNalUnitType(picLayer0->getSlice(0)->getNalUnitType()); 670 } 671 else 672 #endif 673 pcSlice->setNalUnitType(NAL_UNIT_CODED_SLICE_CRA); 674 } 675 676 if( pcSlice->getActiveNumILRRefIdx() == 0 && pcSlice->getNalUnitType() >= NAL_UNIT_CODED_SLICE_BLA_W_LP && pcSlice->getNalUnitType() <= NAL_UNIT_CODED_SLICE_CRA ) 677 { 678 pcSlice->setSliceType(I_SLICE); 679 } 680 else if( !m_pcEncTop->getElRapSliceTypeB() ) 681 { 682 if( (pcSlice->getNalUnitType() >= NAL_UNIT_CODED_SLICE_BLA_W_LP) && 683 (pcSlice->getNalUnitType() <= NAL_UNIT_CODED_SLICE_CRA) && 688 684 pcSlice->getSliceType() == B_SLICE ) 689 { 690 pcSlice->setSliceType(P_SLICE); 691 } 692 } 693 #endif 685 { 686 pcSlice->setSliceType(P_SLICE); 687 } 688 } 689 } 690 #endif //SVC_EXTENSION 694 691 if(pcSlice->getTemporalLayerNonReferenceFlag()) 695 692 { … … 789 786 pcSlice->setNumRefIdx(REF_PIC_LIST_1,min(m_pcCfg->getGOPEntry(iGOPid).m_numRefPicsActive,pcSlice->getRPS()->getNumberOfPictures())); 790 787 791 #if REF_IDX_FRAMEWORK788 #if SVC_EXTENSION 792 789 if( m_layerId > 0 && pcSlice->getActiveNumILRRefIdx() ) 793 790 { … … 827 824 #endif 828 825 } 829 #endif 826 #endif //SVC_EXTENSION 830 827 831 828 #if ADAPTIVE_QP_SELECTION … … 833 830 #endif 834 831 835 #if REF_IDX_FRAMEWORK832 #if SVC_EXTENSION 836 833 #if M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING 837 834 if ( pcSlice->getSliceType() == B_SLICE && !(pcSlice->getActiveNumILRRefIdx() > 0 && m_pcEncTop->getNumMotionPredRefLayers() > 0) ) … … 842 839 pcSlice->setColFromL0Flag(1-uiColDir); 843 840 } 844 #endif845 841 846 842 // Set reference list 847 #if REF_IDX_FRAMEWORK848 843 if(m_layerId == 0 || ( m_layerId > 0 && pcSlice->getActiveNumILRRefIdx() == 0 ) ) 849 844 { 850 845 pcSlice->setRefPicList( rcListPic); 851 846 } 852 #else 853 pcSlice->setRefPicList ( rcListPic ); 854 #endif 855 #if REF_IDX_FRAMEWORK 847 856 848 if( m_layerId > 0 && pcSlice->getActiveNumILRRefIdx() ) 857 849 { 858 850 m_pcEncTop->setILRPic(pcPic); 859 860 851 #if REF_IDX_MFM 861 852 #if M0457_COL_PICTURE_SIGNALING 862 853 if( pcSlice->getMFMEnabledFlag() ) 863 854 #else 864 if( pcSlice->getSPS()->getMFMEnabledFlag() )865 #endif 866 {867 pcSlice->setRefPOCListILP(m_pcEncTop->getIlpList(), pcSlice->getBaseColPic());855 if( pcSlice->getSPS()->getMFMEnabledFlag() ) 856 #endif 857 { 858 pcSlice->setRefPOCListILP(m_pcEncTop->getIlpList(), pcSlice->getBaseColPic()); 868 859 #if M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING 869 pcSlice->setMotionPredIlp(getMotionPredIlp(pcSlice)); 870 #endif 871 } 872 #endif 860 pcSlice->setMotionPredIlp(getMotionPredIlp(pcSlice)); 861 #endif 862 } 863 #else 864 // Set reference list 865 pcSlice->setRefPicList ( rcListPic ); 866 #endif //SVC_EXTENSION 873 867 pcSlice->setRefPicListModificationSvc(); 874 868 pcSlice->setRefPicList( rcListPic, false, m_pcEncTop->getIlpList()); … … 934 928 #endif 935 929 { 936 #if ! REF_IDX_FRAMEWORK930 #if !SVC_EXTENSION 937 931 pcSlice->setColFromL0Flag(1-uiColDir); 938 932 #endif … … 1649 1643 startCUAddrSliceSegmentIdx++; 1650 1644 } 1651 #if REF_IDX_FRAMEWORK&& M0457_COL_PICTURE_SIGNALING1645 #if SVC_EXTENSION && M0457_COL_PICTURE_SIGNALING 1652 1646 pcSlice->setNumMotionPredRefLayers(m_pcEncTop->getNumMotionPredRefLayers()); 1653 1647 #endif … … 2655 2649 for (Int iRefIndex = 0; iRefIndex < pcSlice->getNumRefIdx(RefPicList(iRefList)); iRefIndex++) 2656 2650 { 2657 #if REF_IDX_FRAMEWORK2651 #if SVC_EXTENSION 2658 2652 #if VPS_EXTN_DIRECT_REF_LAYERS 2659 2653 if( pcSlice->getRefPic(RefPicList(iRefList), iRefIndex)->isILR(m_layerId) ) -
branches/SHM-3.1-dev/source/Lib/TLibEncoder/TEncSlice.cpp
r345 r377 400 400 eSliceType = (pocLast == 0 || pocCurr % m_pcCfg->getIntraPeriod() == 0 || m_pcGOPEncoder->getGOPSize() == 0) ? I_SLICE : eSliceType; 401 401 402 #if REF_IDX_FRAMEWORK402 #if SVC_EXTENSION 403 403 if(m_pcCfg->getLayerId() > 0) 404 404 { … … 485 485 xStoreWPparam( pPPS->getUseWP(), pPPS->getWPBiPred() ); 486 486 487 #if SVC_EXTENSION && REF_IDX_FRAMEWORK487 #if SVC_EXTENSION 488 488 if( layerId > 0 ) 489 489 { -
branches/SHM-3.1-dev/source/Lib/TLibEncoder/TEncTop.cpp
r367 r377 83 83 m_pcBitCounters = NULL; 84 84 m_pcRdCosts = NULL; 85 #if REF_IDX_FRAMEWORK85 #if SVC_EXTENSION 86 86 memset(m_cIlpPic, 0, sizeof(m_cIlpPic)); 87 #endif88 87 #if REF_IDX_MFM 89 88 m_bMFMEnabledFlag = false; … … 91 90 #if SCALED_REF_LAYER_OFFSETS 92 91 m_numScaledRefLayerOffsets = 0; 92 #endif 93 93 #endif 94 94 } … … 288 288 delete[] m_pcRdCosts; 289 289 290 #if !SVC_EXTENSION 291 // destroy ROM 292 destroyROM(); 293 #endif 294 #if REF_IDX_FRAMEWORK 290 #if SVC_EXTENSION 295 291 for(Int i=0; i<MAX_NUM_REF; i++) 296 292 { … … 301 297 m_cIlpPic[i] = NULL; 302 298 } 303 } 299 } 300 #else 301 // destroy ROM 302 destroyROM(); 304 303 #endif 305 304 return; … … 346 345 m_iSPSIdCnt ++; 347 346 m_iPPSIdCnt ++; 348 #endif349 #if REF_IDX_FRAMEWORK350 347 xInitILRP(); 351 348 #endif … … 860 857 } 861 858 } 862 #if REF_IDX_FRAMEWORK859 #if SVC_EXTENSION 863 860 if (!m_layerId) 864 861 { … … 869 866 m_cPPS.setListsModificationPresentFlag(true); 870 867 } 871 #endif 872 #if SVC_EXTENSION 868 873 869 m_cPPS.setPPSId ( m_iPPSIdCnt ); 874 870 m_cPPS.setSPSId ( m_iSPSIdCnt ); … … 1215 1211 #endif 1216 1212 1217 #if REF_IDX_FRAMEWORK1213 #if SVC_EXTENSION 1218 1214 Void TEncTop::xInitILRP() 1219 1215 { -
branches/SHM-3.1-dev/source/Lib/TLibEncoder/TEncTop.h
r313 r377 132 132 TEncTop** m_ppcTEncTop; 133 133 TEncTop* getLayerEnc(UInt layer) { return m_ppcTEncTop[layer]; } 134 #endif135 #if REF_IDX_FRAMEWORK136 134 TComPic* m_cIlpPic[MAX_NUM_REF]; ///< Inter layer Prediction picture = upsampled picture 137 #endif138 135 #if REF_IDX_MFM 139 136 Bool m_bMFMEnabledFlag; … … 145 142 UInt m_numScaledRefLayerOffsets; 146 143 Window m_scaledRefLayerWindow[MAX_LAYERS]; 144 #endif 147 145 #endif 148 146 protected: … … 153 151 Void xInitPPSforTiles (); 154 152 Void xInitRPS (); ///< initialize PPS from encoder options 155 #if REF_IDX_FRAMEWORK153 #if SVC_EXTENSION 156 154 Void xInitILRP(); 157 155 #endif … … 220 218 /// encode several number of pictures until end-of-sequence 221 219 #if SVC_EXTENSION 222 #if REF_IDX_FRAMEWORK223 220 TComPic** getIlpList() { return m_cIlpPic; } 224 221 Void setILRPic(TComPic *pcPic); 225 #endif226 222 #if REF_IDX_MFM 227 223 Void setMFMEnabledFlag (Bool flag) {m_bMFMEnabledFlag = flag;}
Note: See TracChangeset for help on using the changeset viewer.