Changeset 1226 in SHVCSoftware
- Timestamp:
- 9 Jul 2015, 00:20:09 (9 years ago)
- Location:
- branches/SHM-dev/source
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.cpp
r1225 r1226 4497 4497 printf("REF_IDX_ME_ZEROMV: %d ", REF_IDX_ME_ZEROMV); 4498 4498 printf("ENCODER_FAST_MODE: %d ", ENCODER_FAST_MODE); 4499 printf("REF_IDX_MFM: %d ", REF_IDX_MFM);4500 4499 #else 4501 4500 printf("RecalQP:%d", m_recalculateQPAccordingToLambda ? 1 : 0 ); -
branches/SHM-dev/source/App/TAppEncoder/TAppEncTop.cpp
r1225 r1226 253 253 m_acTEncTop[layer].setFramesToBeEncoded ( m_framesToBeEncoded ); 254 254 255 #if REF_IDX_MFM256 255 #if AVC_BASE 257 256 m_acTEncTop[layer].setMFMEnabledFlag (layer == 0 ? false : ( m_nonHEVCBaseLayerFlag ? false : true ) && m_acLayerCfg[layer].getNumMotionPredRefLayers()); … … 259 258 m_acTEncTop[layer].setMFMEnabledFlag (layer == 0 ? false : ( m_acLayerCfg[layer].getNumMotionPredRefLayers() > 0 ) ); 260 259 #endif 261 #endif 260 262 261 // set layer ID 263 262 m_acTEncTop[layer].setLayerId ( m_acLayerCfg[layer].m_layerId ); -
branches/SHM-dev/source/Lib/TLibCommon/TComDataCU.cpp
r1203 r1226 3416 3416 Int iPelY = Clip3<Int>(0, m_pcPic->getPicYuvRec()->getHeight(COMPONENT_Y) - 1, pelY); 3417 3417 3418 #if REF_IDX_MFM3419 3418 // centre of the collocated 16x16 block for motion mapping 3420 3419 if( motionMapping ) … … 3423 3422 iPelY = pelY + 8; 3424 3423 } 3425 #endif3426 3424 3427 3425 #if !LAYER_CTB … … 3436 3434 Int iBY = (((iPelY - topStartL )*g_posScalingFactor[refLayerIdc][1] + (1<<15)) >> 16) + windowRL.getWindowTopOffset(); 3437 3435 3438 #if REF_IDX_MFM3439 3436 // offset for collocated block in the motion mapping 3440 3437 if( motionMapping ) … … 3453 3450 } 3454 3451 } 3455 #endif3456 3452 3457 3453 if ( iBX < 0 || iBX >= baseColPic->getPicYuvRec()->getWidth(COMPONENT_Y) || iBY < 0 || iBY >= baseColPic->getPicYuvRec()->getHeight(COMPONENT_Y) ) -
branches/SHM-dev/source/Lib/TLibCommon/TComMotionInfo.h
r1029 r1226 155 155 Void compress(Char* pePredMode, Int scale); 156 156 157 #if REF_IDX_MFM157 #if SVC_EXTENSION 158 158 Void setMvField( TComMvField const& mvField, Int iIdx ) 159 159 { -
branches/SHM-dev/source/Lib/TLibCommon/TComPic.cpp
r1208 r1226 277 277 } 278 278 279 #if REF_IDX_MFM280 279 Void TComPic::copyUpsampledMvField(UInt refLayerIdc, TComPic* pcPicBase) 281 280 { … … 351 350 return; 352 351 } 353 #endif354 352 355 353 Bool TComPic::checkSameRefInfo() -
branches/SHM-dev/source/Lib/TLibCommon/TComPic.h
r1212 r1226 92 92 Bool m_bSpatialEnhLayer[MAX_LAYERS]; // whether current layer is a spatial enhancement layer, 93 93 TComPicYuv* m_pcFullPelBaseRec[MAX_LAYERS]; // upsampled base layer recontruction for difference domain inter prediction 94 #if REF_IDX_MFM95 94 Bool m_equalPictureSizeAndOffsetFlag[MAX_LAYERS]; 96 #endif97 95 #if CGS_3D_ASYMLUT 98 96 Int m_nFrameBit; … … 203 201 Void setFullPelBaseRec (UInt refLayerIdc, TComPicYuv* p) { m_pcFullPelBaseRec[refLayerIdc] = p; } 204 202 TComPicYuv* getFullPelBaseRec (UInt refLayerIdc) { return m_pcFullPelBaseRec[refLayerIdc]; } 205 #if REF_IDX_ME_ZEROMV || ENCODER_FAST_MODE || REF_IDX_MFM206 203 Bool isILR( UInt currLayerId ) { return ( m_bIsLongTerm && m_layerId < currLayerId ); } 207 #endif208 #if REF_IDX_MFM209 204 Bool equalPictureSizeAndOffsetFlag(UInt refLayerIdc) { return m_equalPictureSizeAndOffsetFlag[refLayerIdc]; } 210 205 Void setEqualPictureSizeAndOffsetFlag(UInt refLayerIdc, Bool b) { m_equalPictureSizeAndOffsetFlag[refLayerIdc] = b; } 211 206 Void copyUpsampledMvField ( UInt refLayerIdc, TComPic* pcPicBase ); 212 207 Void initUpsampledMvField (); 213 #endif214 208 Bool checkSameRefInfo(); 215 209 Void copyUpsampledPictureYuv(TComPicYuv* pcPicYuvIn, TComPicYuv* pcPicYuvOut); -
branches/SHM-dev/source/Lib/TLibCommon/TComSlice.cpp
r1224 r1226 120 120 , m_firstSliceInPic ( false ) 121 121 , m_availableForTMVPRefFlag ( true ) 122 , m_layerId ( 0 ) 123 #if REF_IDX_MFM 122 , m_layerId ( 0 ) 124 123 , m_bMFMEnabledFlag ( false ) 125 #endif126 124 , m_bDiscardableFlag ( false ) 127 125 , m_bCrossLayerBLAFlag ( false ) … … 3729 3727 pcIlpPic[refLayerIdc]->getSlice(0)->setVPS( m_pcPic->getSlice(0)->getVPS() ); 3730 3728 3731 #if REF_IDX_MFM3732 3729 if( m_bMFMEnabledFlag && !(m_eNalUnitType >= NAL_UNIT_CODED_SLICE_BLA_W_LP && m_eNalUnitType <= NAL_UNIT_CODED_SLICE_CRA) ) 3733 3730 { … … 3776 3773 pcIlpPic[refLayerIdc]->initUpsampledMvField(); 3777 3774 } 3778 #endif3779 3775 3780 3776 Int maxTidIlRefPicsPlus1 = m_pcVPS->getMaxTidIlRefPicsPlus1( pcIlpPic[refLayerIdc]->getSlice(0)->getLayerIdx(), getLayerIdx() ); -
branches/SHM-dev/source/Lib/TLibCommon/TComSlice.h
r1224 r1226 1971 1971 TComPicYuv* m_pcFullPelBaseRec[MAX_LAYERS]; 1972 1972 Int m_numMotionPredRefLayers; 1973 #if REF_IDX_MFM1974 1973 Bool m_bMFMEnabledFlag; 1975 1974 Int m_colRefLayerIdx; 1976 1975 Bool m_altColIndicationFlag; 1977 1976 TComPic* m_pcIlpPic; 1978 #endif1979 1977 1980 1978 Bool m_interLayerPredEnabledFlag; … … 2271 2269 Void setNumMotionPredRefLayers(int i) { m_numMotionPredRefLayers = i; } 2272 2270 Int getNumMotionPredRefLayers() { return m_numMotionPredRefLayers; } 2273 #if REF_IDX_MFM 2271 2274 2272 Void setMFMEnabledFlag(Bool flag) { m_bMFMEnabledFlag = flag; } 2275 2273 Bool getMFMEnabledFlag() { return m_bMFMEnabledFlag; } 2276 #endif2277 2274 2278 2275 TComPic* getRefPic(TComList<TComPic*>& rcListPic, Int poc) { return xGetRefPic( rcListPic, poc ); } -
branches/SHM-dev/source/Lib/TLibCommon/TypeDef.h
r1225 r1226 61 61 #define ALIGNED_BUMPING 1 ///< JCTVC-P0192: Align bumping of pictures in an AU 62 62 63 #define REF_IDX_MFM 1 ///< JCTVC-L0336: motion vector mapping of inter-layer reference picture64 63 #define AUXILIARY_PICTURES 1 ///< JCTVC-O0041: auxiliary picture layers 65 64 #define NO_CLRAS_OUTPUT_FLAG 1 -
branches/SHM-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
r1224 r1226 1745 1745 if ( pcSlice->getEnableTMVPFlag() ) 1746 1746 { 1747 #if SVC_EXTENSION && REF_IDX_MFM1747 #if SVC_EXTENSION 1748 1748 // set motion mapping flag 1749 1749 pcSlice->setMFMEnabledFlag( ( pcSlice->getNumMotionPredRefLayers() > 0 && pcSlice->getActiveNumILRRefIdx() && !pcSlice->isIntra() ) ? true : false ); -
branches/SHM-dev/source/Lib/TLibDecoder/TDecTop.cpp
r1223 r1226 1692 1692 pcSlice->setILRPic( m_cIlpPic ); 1693 1693 1694 #if REF_IDX_MFM1695 1694 pcSlice->setRefPicList( m_cListPic, false, m_cIlpPic); 1696 1695 } … … 1715 1714 } 1716 1715 } 1717 #endif1718 1716 1719 1717 if( m_layerId > 0 && pcSlice->getVPS()->getCrossLayerIrapAlignFlag() && ( !pcSlice->getVPS()->getSingleLayerForNonIrapFlag() || pcSlice->isIRAP() ) ) -
branches/SHM-dev/source/Lib/TLibEncoder/TEncGOP.cpp
r1223 r1226 1782 1782 { 1783 1783 pcSlice->setILRPic( m_pcEncTop->getIlpList() ); 1784 #if !REF_IDX_MFM1785 // Set reference list1786 pcSlice->setRefPicList ( rcListPic );1787 #endif1788 1784 pcSlice->setRefPicListModificationSvc(); 1789 1785 pcSlice->setRefPicList( rcListPic, false, m_pcEncTop->getIlpList()); 1790 1786 1791 #if REF_IDX_MFM1792 1787 if( pcSlice->getMFMEnabledFlag() ) 1793 1788 { … … 1838 1833 } 1839 1834 } 1840 #endif1841 1835 } 1842 1836 #else //SVC_EXTENSION -
branches/SHM-dev/source/Lib/TLibEncoder/TEncTop.cpp
r1223 r1226 80 80 81 81 #if SVC_EXTENSION 82 memset(m_cIlpPic, 0, sizeof(m_cIlpPic)); 83 #if REF_IDX_MFM 82 memset( m_cIlpPic, 0, sizeof(m_cIlpPic) ); 84 83 m_bMFMEnabledFlag = false; 85 #endif86 84 m_numRefLayerLocationOffsets = 0; 87 85 m_pocAdjustmentValue = 0; … … 623 621 Bool sameBitDepths = ( g_bitDepthLayer[CHANNEL_TYPE_LUMA][m_layerId] == g_bitDepthLayer[CHANNEL_TYPE_LUMA][refLayerId] ) && ( g_bitDepthLayer[CHANNEL_TYPE_CHROMA][m_layerId] == g_bitDepthLayer[CHANNEL_TYPE_CHROMA][refLayerId] ); 624 622 625 #if REF_IDX_MFM626 623 if( m_iSourceWidth == pcEncTopBase->getSourceWidth() && m_iSourceHeight == pcEncTopBase->getSourceHeight() && equalOffsets && zeroPhase ) 627 624 { … … 630 627 631 628 if( !pcEPic->equalPictureSizeAndOffsetFlag(i) || !sameBitDepths 632 #else633 if( m_iSourceWidth != pcEncTopBase->getSourceWidth() || m_iSourceHeight != pcEncTopBase->getSourceHeight() || !sameBitDepths634 || !equalOffsets635 || !zeroPhase636 #endif637 629 #if CGS_3D_ASYMLUT 638 630 || m_cPPS.getCGSFlag() > 0 -
branches/SHM-dev/source/Lib/TLibEncoder/TEncTop.h
r1209 r1226 119 119 TEncTop* getLayerEnc(UInt layerIdx) { return m_ppcTEncTop[layerIdx]; } 120 120 TComPic* m_cIlpPic[MAX_NUM_REF]; ///< Inter layer Prediction picture = upsampled picture 121 #if REF_IDX_MFM122 121 Bool m_bMFMEnabledFlag; 123 #endif124 122 UInt m_numRefLayerLocationOffsets; 125 123 UInt m_refLocationOffsetLayerId[MAX_LAYERS]; … … 233 231 234 232 TComPic** getIlpList() { return m_cIlpPic; } 235 #if REF_IDX_MFM236 233 Void setMFMEnabledFlag(Bool flag) { m_bMFMEnabledFlag = flag; } 237 234 Bool getMFMEnabledFlag() { return m_bMFMEnabledFlag; } 238 #endif239 235 Void setInterLayerWeightedPredFlag(Bool flag) { m_interLayerWeightedPredFlag = flag; } 240 236 Bool getInterLayerWeightedPredFlag() { return m_interLayerWeightedPredFlag; }
Note: See TracChangeset for help on using the changeset viewer.