- Timestamp:
- 30 Aug 2013, 03:29:41 (11 years ago)
- Location:
- branches/SHM-3.1-dev/source
- Files:
-
- 21 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-3.1-dev/source/App/TAppEncoder/TAppEncCfg.cpp
r362 r377 72 72 , m_pRowHeight() 73 73 , m_scalingListFile() 74 #if REF_IDX_FRAMEWORK75 74 , m_elRapSliceBEnabled(0) 76 #endif77 75 { 78 76 for(UInt layer=0; layer<MAX_LAYERS; layer++) … … 514 512 #endif 515 513 #endif 516 #if REF_IDX_FRAMEWORK517 514 ("EnableElRapB,-use-rap-b", m_elRapSliceBEnabled, 0, "Set ILP over base-layer I picture to B picture (default is P picture)") 518 #endif519 515 #if M0457_IL_SAMPLE_PRED_ONLY_FLAG 520 516 ("IlSampleOnlyPred%d", m_ilSampleOnlyPred, 0, MAX_LAYERS, "Set inter_layer_sample_pred_only_flag for all slices") 521 517 #endif 522 #else 518 #else 523 519 ("InputFile,i", cfg_InputFile, string(""), "Original YUV input file name") 524 520 ("BitstreamFile,b", cfg_BitstreamFile, string(""), "Bitstream output file name") … … 2239 2235 printf("AvcBase:%d ", 0); 2240 2236 #endif 2241 #if REF_IDX_FRAMEWORK2242 printf("REF_IDX_FRAMEWORK:%d ", REF_IDX_FRAMEWORK);2243 2237 printf("EL_RAP_SliceType: %d ", m_elRapSliceBEnabled); 2244 2238 printf("REF_IDX_ME_ZEROMV: %d ", REF_IDX_ME_ZEROMV); 2245 2239 printf("ENCODER_FAST_MODE: %d ", ENCODER_FAST_MODE); 2246 2240 printf("REF_IDX_MFM: %d ", REF_IDX_MFM); 2247 #endif2248 2241 #else 2249 2242 printf("RecalQP:%d", m_recalculateQPAccordingToLambda ? 1 : 0 ); -
branches/SHM-3.1-dev/source/App/TAppEncoder/TAppEncCfg.h
r345 r377 59 59 // file I/O 60 60 #if SVC_EXTENSION 61 TAppEncLayerCfg m_acLayerCfg [MAX_LAYERS]; 61 TAppEncLayerCfg m_acLayerCfg [MAX_LAYERS]; 62 62 Int m_numLayers; ///< number of layers 63 63 Int m_scalabilityMask[MAX_VPS_NUM_SCALABILITY_TYPES]; ///< scalability_mask … … 340 340 Int m_log2MaxMvLengthVertical; ///< Indicate the maximum absolute value of a decoded vertical MV component in quarter-pel luma units 341 341 342 #if REF_IDX_FRAMEWORK342 #if SVC_EXTENSION 343 343 Int m_elRapSliceBEnabled; 344 344 #endif -
branches/SHM-3.1-dev/source/App/TAppEncoder/TAppEncTop.cpp
r372 r377 475 475 m_acTEncTop[layer].setLog2MaxMvLengthHorizontal( m_log2MaxMvLengthHorizontal ); 476 476 m_acTEncTop[layer].setLog2MaxMvLengthVertical( m_log2MaxMvLengthVertical ); 477 #if REF_IDX_FRAMEWORK478 477 m_acTEncTop[layer].setElRapSliceTypeB(layer == 0? 0 : m_elRapSliceBEnabled); 479 #endif480 478 #if SCALED_REF_LAYER_OFFSETS 481 479 if( layer > 0 ) -
branches/SHM-3.1-dev/source/Lib/TLibCommon/TComDataCU.h
r375 r377 516 516 UInt& getTotalBins () { return m_uiTotalBins; } 517 517 518 #if REF_IDX_FRAMEWORK518 #if SVC_EXTENSION 519 519 #if FAST_INTRA_SHVC 520 520 Int reduceSetOfIntraModes ( UInt uiAbsPartIdx, Int* uiIntraDirPred, Int &fullSetOfModes ); … … 538 538 UInt getCoefScanIdx(UInt uiAbsPartIdx, UInt uiWidth, Bool bIsLuma, Bool bIsIntra); 539 539 540 #if REF_IDX_FRAMEWORK540 #if SVC_EXTENSION 541 541 #if SVC_COL_BLK 542 542 TComDataCU* getBaseColCU( UInt refLayerIdc, UInt uiCuAbsPartIdx, UInt &uiCUAddrBase, UInt &uiAbsPartIdxBase, Int iMotionMapping = 0 ); -
branches/SHM-3.1-dev/source/Lib/TLibCommon/TComPic.cpp
r375 r377 524 524 } 525 525 526 #if REF_IDX_FRAMEWORK526 #if SVC_EXTENSION 527 527 Void copyOnetoOnePicture( // SVC_NONCOLL 528 528 Pel *in, -
branches/SHM-3.1-dev/source/Lib/TLibCommon/TComPic.h
r313 r377 207 207 const SEIMessages& getSEIs() const { return m_SEIs; } 208 208 209 #if REF_IDX_FRAMEWORK209 #if SVC_EXTENSION 210 210 Void copyUpsampledPictureYuv(TComPicYuv* pcPicYuvIn, TComPicYuv* pcPicYuvOut); 211 #endif212 211 #if AVC_SYNTAX 213 212 Void readBLSyntax( fstream* filestream, UInt numBytes ); 214 213 #endif 214 #endif 215 215 #if SYNTAX_OUTPUT 216 216 Void wrireBLSyntax( fstream* filestream, UInt numBytes ); -
branches/SHM-3.1-dev/source/Lib/TLibCommon/TComPicSym.cpp
r313 r377 147 147 m_apcTComDataCU = NULL; 148 148 149 #if AVC_BASE || REF_IDX_FRAMEWORK149 #if SVC_EXTENSION 150 150 if( m_apcTComTile ) 151 151 { … … 156 156 } 157 157 delete [] m_apcTComTile; 158 #if AVC_BASE || REF_IDX_FRAMEWORK158 #if SVC_EXTENSION 159 159 } 160 160 #endif -
branches/SHM-3.1-dev/source/Lib/TLibCommon/TComPrediction.h
r345 r377 118 118 Int getPredicBufHeight() { return m_iYuvExtHeight; } 119 119 120 #if REF_IDX_FRAMEWORK120 #if SVC_EXTENSION 121 121 #if SVC_UPSAMPLING 122 122 #if SCALED_REF_LAYER_OFFSETS -
branches/SHM-3.1-dev/source/Lib/TLibCommon/TComSlice.cpp
r376 r377 116 116 #if SVC_EXTENSION 117 117 memset( m_pcBaseColPic, 0, sizeof( m_pcBaseColPic ) ); 118 #if REF_IDX_FRAMEWORK119 118 #if JCTVC_M0458_INTERLAYER_RPS_SIG 120 119 m_activeNumILRRefIdx = 0; … … 133 132 #endif 134 133 #endif 135 #endif136 134 137 135 initEqualRef(); … … 168 166 #if SVC_EXTENSION 169 167 m_layerId = layerId; 170 #endif171 m_aiNumRefIdx[0] = 0;172 m_aiNumRefIdx[1] = 0;173 #if REF_IDX_FRAMEWORK174 168 #if JCTVC_M0458_INTERLAYER_RPS_SIG 175 169 m_activeNumILRRefIdx = 0; … … 177 171 #else 178 172 m_numILRRefIdx = 0; 179 #endif 173 #endif 180 174 #if M0457_IL_SAMPLE_PRED_ONLY_FLAG 181 175 m_numSamplePredRefLayers = 0; … … 183 177 #endif 184 178 #endif 179 m_aiNumRefIdx[0] = 0; 180 m_aiNumRefIdx[1] = 0; 185 181 m_colFromL0Flag = 1; 186 182 … … 384 380 Int i; 385 381 386 #if REF_IDX_FRAMEWORK382 #if SVC_EXTENSION 387 383 if( m_layerId == 0 || ( m_layerId > 0 && ( m_activeNumILRRefIdx == 0 || !((getNalUnitType() >= NAL_UNIT_CODED_SLICE_BLA_W_LP) && (getNalUnitType() <= NAL_UNIT_CODED_SLICE_CRA)) ) ) ) 388 384 { … … 439 435 pcRefPic->setCheckLTMSBPresent(m_pcRPS->getCheckLTMSBPresent(i)); 440 436 } 441 #if REF_IDX_FRAMEWORK442 } 443 #endif 444 445 #if REF_IDX_FRAMEWORK437 #if SVC_EXTENSION 438 } 439 #endif 440 441 #if SVC_EXTENSION 446 442 for( i = 0; i < m_activeNumILRRefIdx; i++ ) 447 443 { … … 477 473 TComPic* rpsCurrList0[MAX_NUM_REF+1]; 478 474 TComPic* rpsCurrList1[MAX_NUM_REF+1]; 479 #if REF_IDX_FRAMEWORK475 #if SVC_EXTENSION 480 476 #if ILR_RESTR 481 477 Int numInterLayerRPSPics = 0; … … 584 580 rpsCurrList0[cIdx] = RefPicSetStCurr0[i]; 585 581 } 582 #if SVC_EXTENSION 586 583 #if RPL_INIT_N0316_N0082 587 #if REF_IDX_FRAMEWORK588 584 if( m_layerId > 0 ) 589 585 { … … 613 609 } 614 610 #if !RPL_INIT_N0316_N0082 615 #if REF_IDX_FRAMEWORK611 #if SVC_EXTENSION 616 612 if( m_layerId > 0 ) 617 613 { … … 650 646 } 651 647 652 #if REF_IDX_FRAMEWORK648 #if SVC_EXTENSION 653 649 if( m_layerId > 0 ) 654 650 { … … 702 698 } 703 699 704 #if REF_IDX_FRAMEWORK700 #if SVC_EXTENSION 705 701 Void TComSlice::setRefPicListModificationSvc() 706 702 { … … 832 828 Int numRpsCurrTempList = 0; 833 829 834 #if REF_IDX_FRAMEWORK830 #if SVC_EXTENSION 835 831 if( m_eSliceType == I_SLICE || ( m_pcSPS->getLayerId() && 836 832 (m_eNalUnitType >= NAL_UNIT_CODED_SLICE_BLA_W_LP) && … … 840 836 #endif 841 837 { 842 #if REF_IDX_FRAMEWORK838 #if SVC_EXTENSION 843 839 #if JCTVC_M0458_INTERLAYER_RPS_SIG 844 840 return m_activeNumILRRefIdx; … … 857 853 } 858 854 } 859 #if REF_IDX_FRAMEWORK855 #if SVC_EXTENSION 860 856 if( m_layerId > 0 ) 861 857 { … … 1080 1076 m_interLayerPredEnabledFlag = pSrc->m_interLayerPredEnabledFlag; 1081 1077 memcpy( m_interLayerPredLayerIdc, pSrc->m_interLayerPredLayerIdc, sizeof( m_interLayerPredLayerIdc ) ); 1082 #elif REF_IDX_FRAMEWORK1083 m_numILRRefIdx = pSrc->m_numILRRefIdx;1084 1078 #endif 1085 1079 #endif -
branches/SHM-3.1-dev/source/Lib/TLibCommon/TComSlice.h
r345 r377 1404 1404 Int m_interLayerPredLayerIdc [MAX_VPS_LAYER_ID_PLUS1]; 1405 1405 #else 1406 #if REF_IDX_FRAMEWORK1406 #if SVC_EXTENSION 1407 1407 Int m_numILRRefIdx; //< for inter-layer reference picture ser 1408 1408 #endif … … 1460 1460 TComPic* m_pcBaseColPic[MAX_LAYERS]; 1461 1461 TComPicYuv* m_pcFullPelBaseRec[MAX_LAYERS]; 1462 #if REF_IDX_FRAMEWORK &&M0457_COL_PICTURE_SIGNALING1462 #if M0457_COL_PICTURE_SIGNALING 1463 1463 Int m_numMotionPredRefLayers; 1464 1464 #if REF_IDX_MFM … … 1761 1761 #endif 1762 1762 1763 #if REF_IDX_FRAMEWORK1764 1763 Void setRefPicListModificationSvc(); 1765 1764 Int getNumILRRefIdx ( ) { return m_pcVPS->getNumDirectRefLayers( m_layerId ); } … … 1789 1788 #endif 1790 1789 1791 #if REF_IDX_FRAMEWORK &&M0457_COL_PICTURE_SIGNALING1790 #if M0457_COL_PICTURE_SIGNALING 1792 1791 Void setNumMotionPredRefLayers(int i) { m_numMotionPredRefLayers = i; } 1793 1792 Int getNumMotionPredRefLayers() { return m_numMotionPredRefLayers; } … … 1806 1805 #endif 1807 1806 1808 #else1809 // temporal solution for IntraBL. Only one reference layer is supported.1810 Int getActiveNumILRRefIdx ( ) { return 1; }1811 Int getInterLayerPredLayerIdc (UInt layerIdx) { return m_layerId - 1;}1812 Void setActiveNumILRRefIdx ( Int i ) {}1813 Void setInterLayerPredEnabledFlag( Bool val ) {}1814 #endif1815 1816 1807 TComPic* getRefPic(TComList<TComPic*>& rcListPic, Int poc) { return xGetRefPic( rcListPic, poc ); } 1817 1808 -
branches/SHM-3.1-dev/source/Lib/TLibCommon/TypeDef.h
r376 r377 93 93 #define ILP_RAP 1 ///< JCTVC-M0208 proposal 3 94 94 95 #define REF_IDX_FRAMEWORK 1 ///< inter-layer reference framework96 97 95 #define IDR_ALIGNMENT 1 ///< align IDR picures across layers 98 96 … … 102 100 #endif 103 101 104 #if REF_IDX_FRAMEWORK105 102 #define REF_IDX_ME_ZEROMV 1 ///< L0051: use zero motion for inter-layer reference picture (without fractional ME) 106 103 #define ENCODER_FAST_MODE 1 ///< L0174: enable encoder fast mode. TestMethod 1 is enabled by setting to 1 and TestMethod 2 is enable by setting to 2. By default it is set to 1. … … 127 124 #else 128 125 #define M0457_IL_SAMPLE_PRED_ONLY_FLAG 0 ///< shall be 0, JCTVC-N0107 129 #endif130 126 #endif 131 127 -
branches/SHM-3.1-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
r376 r377 1414 1414 } 1415 1415 1416 #if REF_IDX_FRAMEWORK1416 #if SVC_EXTENSION 1417 1417 #if JCTVC_M0458_INTERLAYER_RPS_SIG 1418 1418 rpcSlice->setActiveNumILRRefIdx(0); … … 1637 1637 if ( rpcSlice->getEnableTMVPFlag() ) 1638 1638 { 1639 #if REF_IDX_FRAMEWORK &&M0457_COL_PICTURE_SIGNALING1639 #if M0457_COL_PICTURE_SIGNALING 1640 1640 #if REMOVE_COL_PICTURE_SIGNALING 1641 1641 rpcSlice->setMFMEnabledFlag( rpcSlice->getNumMotionPredRefLayers() > 0 ? true : false ); … … 1680 1680 rpcSlice->setColRefIdx(0); 1681 1681 } 1682 #if REF_IDX_FRAMEWORK &&M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING1682 #if M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING 1683 1683 } 1684 1684 #endif -
branches/SHM-3.1-dev/source/Lib/TLibDecoder/TDecGop.cpp
r356 r377 247 247 for (Int iRefIndex = 0; iRefIndex < pcSlice->getNumRefIdx(RefPicList(iRefList)); iRefIndex++) 248 248 { 249 #if REF_IDX_FRAMEWORK249 #if SVC_EXTENSION 250 250 #if VPS_EXTN_DIRECT_REF_LAYERS 251 251 if( pcSlice->getRefPic(RefPicList(iRefList), iRefIndex)->isILR( m_layerId ) ) -
branches/SHM-3.1-dev/source/Lib/TLibDecoder/TDecTop.cpp
r374 r377 72 72 m_pBLReconFile = NULL; 73 73 #endif 74 #endif75 #if REF_IDX_FRAMEWORK76 74 memset(m_cIlpPic, 0, sizeof(m_cIlpPic)); 77 75 #endif … … 108 106 109 107 m_cSliceDecoder.destroy(); 110 #if REF_IDX_FRAMEWORK108 #if SVC_EXTENSION 111 109 for(Int i=0; i<MAX_NUM_REF; i++) 112 110 { … … 137 135 } 138 136 139 #if REF_IDX_FRAMEWORK137 #if SVC_EXTENSION 140 138 Void TDecTop::xInitILRP(TComSPS *pcSPS) 141 139 { … … 607 605 m_apcSlicePilot->setTLayerInfo(nalu.m_temporalId); 608 606 607 #if SVC_EXTENSION 609 608 #if VPS_EXTN_DIRECT_REF_LAYERS && M0457_PREDICTION_INDICATIONS 610 609 setRefLayerParams(m_apcSlicePilot->getVPS()); 611 610 #endif 612 #if REF_IDX_FRAMEWORK &&M0457_COL_PICTURE_SIGNALING611 #if M0457_COL_PICTURE_SIGNALING 613 612 m_apcSlicePilot->setNumMotionPredRefLayers(m_numMotionPredRefLayers); 614 613 #endif 615 616 #if SVC_EXTENSION617 614 #if M0457_IL_SAMPLE_PRED_ONLY_FLAG 618 615 m_apcSlicePilot->setNumSamplePredRefLayers( getNumSamplePredRefLayers() ); … … 878 875 pcSlice->checkCRA(pcSlice->getRPS(), m_pocCRA, m_prevRAPisBLA, m_cListPic ); 879 876 // Set reference list 880 #if REF_IDX_FRAMEWORK877 #if SVC_EXTENSION 881 878 if (m_layerId == 0) 882 879 #endif … … 972 969 } 973 970 974 #if REF_IDX_FRAMEWORK975 971 if( m_layerId > 0 && pcSlice->getActiveNumILRRefIdx() ) 976 972 { … … 988 984 #endif 989 985 } 990 #endif991 986 pcSlice->setRefPicList( m_cListPic, false, m_cIlpPic); 992 987 } … … 1103 1098 m_parameterSetManagerDecoder.storePrefetchedSPS(sps); 1104 1099 #endif 1105 #if REF_IDX_FRAMEWORK1100 #if SVC_EXTENSION 1106 1101 if(m_numLayer>0) 1107 1102 { -
branches/SHM-3.1-dev/source/Lib/TLibDecoder/TDecTop.h
r374 r377 130 130 Bool m_motionPredEnabledFlag[MAX_VPS_LAYER_ID_PLUS1]; 131 131 #endif 132 TComPic* m_cIlpPic[MAX_NUM_REF]; ///< Inter layer Prediction picture = upsampled picture 132 133 #endif 133 134 #if AVC_SYNTAX || SYNTAX_OUTPUT 134 135 fstream* m_pBLSyntaxFile; 135 #endif136 #if REF_IDX_FRAMEWORK137 TComPic* m_cIlpPic[MAX_NUM_REF]; ///< Inter layer Prediction picture = upsampled picture138 136 #endif 139 137 … … 209 207 Int getBLHeight() { return m_iBLSourceHeight; } 210 208 #endif 209 Void xInitILRP(TComSPS *pcSPS); 210 Void setILRPic(TComPic *pcPic); 211 211 #endif 212 212 #if AVC_SYNTAX || SYNTAX_OUTPUT 213 213 Void setBLSyntaxFile( fstream* pFile ) { m_pBLSyntaxFile = pFile; } 214 214 fstream* getBLSyntaxFile() { return m_pBLSyntaxFile; } 215 #endif216 #if REF_IDX_FRAMEWORK217 Void xInitILRP(TComSPS *pcSPS);218 Void setILRPic(TComPic *pcPic);219 215 #endif 220 216 -
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.