Changeset 478 in 3DVCSoftware for branches/HTM-DEV-0.3-dev2/source
- Timestamp:
- 18 Jun 2013, 17:25:49 (11 years ago)
- Location:
- branches/HTM-DEV-0.3-dev2/source
- Files:
-
- 24 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-DEV-0.3-dev2/source/App/TAppDecoder/TAppDecTop.cpp
r476 r478 683 683 #endif 684 684 #if H_3D_IV_MERGE 685 // GT: This function is not necessary anymore m_ivPicLists should be used instead 685 686 TComPic* TAppDecTop::xGetPicFromView( Int viewIdx, Int poc, Bool isDepth ) 686 687 { … … 701 702 } 702 703 #endif 703 704 704 //! \} -
branches/HTM-DEV-0.3-dev2/source/App/TAppDecoder/TAppDecTop.h
r476 r478 76 76 // for output control 77 77 Bool m_abDecFlag[ MAX_GOP ]; ///< decoded flag in one GOP 78 79 78 #if H_3D_IV_MERGE 80 79 Int m_fcoViewDepthId; … … 107 106 TDecTop* getTDecTop ( Int viewIdx, Bool isDepth ); 108 107 TComPic* getPicFromView ( Int viewIdx, Int poc, bool isDepth ) { return xGetPicFromView( viewIdx, poc, isDepth ); } 109 #endif110 111 #if H_3D_IV_MERGE112 108 TComVPSAccess* getVPSAccess () { return &m_cVPSAccess; } 113 109 TComSPSAccess* getSPSAccess () { return &m_cSPSAccess; } … … 124 120 TComPic* xGetPicFromView( Int viewIdx, Int poc, Bool isDepth ); 125 121 #endif 126 127 122 #if H_MV 128 123 Void xWriteOutput ( TComList<TComPic*>* pcListPic, Int layerId, Int tId ); ///< write YUV to file … … 133 128 Void xFlushOutput ( TComList<TComPic*>* pcListPic ); ///< flush all remaining decoded pictures to file 134 129 #endif 135 136 130 Bool isNaluWithinTargetDecLayerIdSet ( InputNALUnit* nalu ); ///< check whether given Nalu is within targetDecLayerIdSet 137 131 }; -
branches/HTM-DEV-0.3-dev2/source/App/TAppEncoder/TAppEncCfg.cpp
r476 r478 717 717 718 718 #endif //HHI_VSO 719 720 719 #if H_3D_IV_MERGE 721 720 ("PredDepthMapGen", m_uiPredDepthMapGeneration, (UInt)0, "generation of prediction depth maps for motion data prediction" ) -
branches/HTM-DEV-0.3-dev2/source/App/TAppEncoder/TAppEncTop.cpp
r476 r478 128 128 m_frameRcvd .push_back(0); 129 129 m_acTEncTopList .push_back(new TEncTop); 130 #if H_3D_IV_MERGE131 // m_acTEncDepthTopList .push_back(new TEncTop);132 #endif133 130 m_acTVideoIOYuvInputFileList.push_back(new TVideoIOYuv); 134 131 m_acTVideoIOYuvReconFileList.push_back(new TVideoIOYuv); 135 132 m_picYuvRec .push_back(new TComList<TComPicYuv*>) ; 136 #if H_3D_IV_MERGE 137 //m_acTEncDepthTopList[iViewIdx]->setFrameRate ( m_iFrameRate ); 138 //m_acTEncDepthTopList[iViewIdx]->setFrameSkip ( m_FrameSkip ); 139 //m_acTEncDepthTopList[iViewIdx]->setSourceWidth ( m_iSourceWidth ); 140 //m_acTEncDepthTopList[iViewIdx]->setSourceHeight ( m_iSourceHeight ); 141 //m_acTEncDepthTopList[iViewIdx]->setCroppingMode ( m_croppingMode ); 142 //m_acTEncDepthTopList[iViewIdx]->setCropLeft ( m_cropLeft ); 143 //m_acTEncDepthTopList[iViewIdx]->setCropRight ( m_cropRight ); 144 //m_acTEncDepthTopList[iViewIdx]->setCropTop ( m_cropTop ); 145 //m_acTEncDepthTopList[iViewIdx]->setCropBottom ( m_cropBottom ); 146 //m_acTEncDepthTopList[iViewIdx]->setFrameToBeEncoded ( m_iFrameToBeEncoded ); 147 //m_acTEncDepthTopList[iViewIdx]->setViewId ( iViewIdx ); 148 //m_acTEncDepthTopList[iViewIdx]->setIsDepth ( true ); 149 150 //m_acTEncDepthTopList[iViewIdx]->setViewOrderIdx ( m_cCameraData.getViewOrderIndex()[ iViewIdx ] ); 151 152 //m_acTEncDepthTopList[iViewIdx]->setLayerId ( layerId ); 153 154 #endif 133 155 134 m_ivPicLists.push_back( m_acTEncTopList[ layer ]->getListPic() ); 156 135 TEncTop& m_cTEncTop = *m_acTEncTopList[ layer ]; // It is not a member, but this name helps avoiding code duplication !!! … … 164 143 m_cTEncTop.setIsDepth ( isDepth ); 165 144 //====== Camera Parameters ========= 166 #if H_3D_IV_MERGE167 //m_acTEncDepthTopList[iViewIdx]->setCamParPrecision ( 0 );168 //m_acTEncDepthTopList[iViewIdx]->setCamParInSliceHeader ( false );169 //m_acTEncDepthTopList[iViewIdx]->setCodedScale ( 0 );170 //m_acTEncDepthTopList[iViewIdx]->setCodedOffset ( 0 );171 #endif172 145 m_cTEncTop.setCameraParameters ( &m_cCameraData ); 173 146 m_cTEncTop.setCamParPrecision ( isDepth ? false : m_cCameraData.getCamParsCodedPrecision () ); … … 220 193 221 194 //====== Coding Structure ======== 222 #if H_3D_IV_MERGE223 //m_acTEncDepthTopList[iViewIdx]->setIntraPeriod ( m_iIntraPeriod );224 //m_acTEncDepthTopList[iViewIdx]->setDecodingRefreshType ( m_iDecodingRefreshType );225 //m_acTEncDepthTopList[iViewIdx]->setGOPSize ( m_iGOPSize );226 //m_acTEncDepthTopList[iViewIdx]->setGopList ( m_GOPListsMvc[iViewIdx] );227 //m_acTEncDepthTopList[iViewIdx]->setExtraRPSs ( m_extraRPSs[iViewIdx] );228 #endif229 195 m_cTEncTop.setIntraPeriod ( m_iIntraPeriod ); 230 196 m_cTEncTop.setDecodingRefreshType ( m_iDecodingRefreshType ); … … 267 233 { 268 234 m_cTEncTop.setLambdaModifier( uiLoop, m_adLambdaModifier[ uiLoop ] ); 269 #if H_3D_IV_MERGE270 // m_acTEncDepthTopList[iViewIdx]->setLambdaModifier( uiLoop, m_adLambdaModifier[ uiLoop ] );271 #endif272 235 } 273 236 #if H_MV … … 289 252 290 253 //====== Loop/Deblock Filter ======== 291 #if H_3D_IV_MERGE292 //m_acTEncDepthTopList[iViewIdx]->setLoopFilterDisable ( m_abLoopFilterDisable[1] );293 //m_acTEncDepthTopList[iViewIdx]->setLoopFilterOffsetInAPS ( m_loopFilterOffsetInAPS );294 //m_acTEncDepthTopList[iViewIdx]->setLoopFilterBetaOffset ( m_loopFilterBetaOffsetDiv2 );295 //m_acTEncDepthTopList[iViewIdx]->setLoopFilterTcOffset ( m_loopFilterTcOffsetDiv2 );296 //m_acTEncDepthTopList[iViewIdx]->setDeblockingFilterControlPresent( m_DeblockingFilterControlPresent);297 #endif298 254 #if H_MV 299 255 m_cTEncTop.setLoopFilterDisable ( m_bLoopFilterDisable[layer]); … … 1102 1058 #endif 1103 1059 #if H_3D_IV_MERGE 1060 // GT: This function is not necessary anymore m_ivPicLists should be used instead 1104 1061 TComPic* TAppEncTop::xGetPicFromView( Int viewIdx, Int poc, Bool isDepth ) 1105 1062 { -
branches/HTM-DEV-0.3-dev2/source/App/TAppEncoder/TAppEncTop.h
r476 r478 92 92 TRenModel m_cRendererModel; 93 93 #endif 94 95 94 #if H_3D_IV_MERGE 96 95 TComVPSAccess m_cVPSAccess; … … 145 144 TEncTop& getTEncTop () { return m_cTEncTop; } ///< return encoder class pointer reference 146 145 #endif 147 148 146 #if H_3D_IV_MERGE 149 147 TComVPSAccess* getVPSAccess () { return &m_cVPSAccess; } -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/CommonDef.h
r476 r478 211 211 } 212 212 #endif 213 214 213 template <typename T> 215 214 __inline T gSign(const T& t) … … 362 361 363 362 #if H_3D_IV_MERGE 363 // GT: To be checked if all of this is still necessary. 364 364 #define PDM_USE_FOR_IVIEW 1 365 365 #define PDM_USE_FOR_INTER 2 … … 381 381 382 382 #endif 383 384 383 #endif // end of H_3D 385 384 //! \} -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComDataCU.cpp
r476 r478 2457 2457 deriveLeftRightTopIdxGeneral( uiAbsPartIdx, uiPUIdx, uiPartIdxLT, uiPartIdxRT ); 2458 2458 deriveLeftBottomIdxGeneral ( uiAbsPartIdx, uiPUIdx, uiPartIdxLB ); 2459 2460 2459 #if H_3D_IV_MERGE 2461 2460 Bool bNoPdmMerge = ( m_pcSlice->getSPS()->getViewIndex() == 0 || ( m_pcSlice->getSPS()->getMultiviewMvPredMode() & PDM_USE_FOR_MERGE ) != PDM_USE_FOR_MERGE ); … … 2603 2602 #endif 2604 2603 #endif 2605 2606 2604 //left 2607 2605 UInt uiLeftPartIdx = 0; … … 2623 2621 pcCULeft->getMvField( pcCULeft, uiLeftPartIdx, REF_PIC_LIST_1, pcMvFieldNeighbours[(iCount<<1)+1] ); 2624 2622 } 2625 2626 2623 #if H_3D_IV_MERGE 2627 2624 Bool bRemoveSpa = false; //pruning to inter-view candidates … … 4502 4499 } 4503 4500 #endif 4504 4505 4501 #if H_3D_IV_MERGE 4506 4502 Bool TComDataCU::getUnifiedMvPredCan(UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDInfo, Int* iPdm, Bool bMerge ) -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComDataCU.h
r476 r478 434 434 435 435 #endif 436 437 436 #if H_3D_IV_MERGE 438 437 Bool getUnifiedMvPredCan ( UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDInfo, Int* iPdm, Bool bMerge ); -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComDepthMapGenerator.cpp
r476 r478 43 43 #include "TComDepthMapGenerator.h" 44 44 45 45 #if H_3D_IV_MERGE 46 46 47 47 TComDepthMapGenerator::TComDepthMapGenerator() … … 136 136 } 137 137 138 139 #if H_3D_IV_MERGE140 138 Bool 141 139 TComDepthMapGenerator::getPdmCandidate(TComDataCU* pcCU, UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDInfo, Int* iPdm, Bool bMerge ) -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComDepthMapGenerator.h
r476 r478 48 48 #include "TComSlice.h" 49 49 50 50 #if H_3D_IV_MERGE 51 51 52 52 class TComVPSAccess // would be better to have a real VPS buffer … … 156 156 157 157 158 158 #endif 159 159 #endif // __TCOM_DEPTH_MAP_GENERATOR__ 160 160 -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComMotionInfo.h
r476 r478 105 105 Int getHor () const { return m_acMv.getHor(); } 106 106 Int getVer () const { return m_acMv.getVer(); } 107 108 107 #if H_3D_IV_MERGE 109 108 Bool operator== ( const TComMvField& rcMv ) const -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComPicYuv.cpp
r476 r478 84 84 m_iBaseUnitHeight = uiMaxCUHeight >> uiMaxCUDepth; 85 85 #endif 86 87 86 Int numCuInWidth = m_iPicWidth / m_iCuWidth + (m_iPicWidth % m_iCuWidth != 0); 88 87 Int numCuInHeight = m_iPicHeight / m_iCuHeight + (m_iPicHeight % m_iCuHeight != 0); -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComSlice.cpp
r476 r478 1857 1857 } 1858 1858 } 1859 1860 1859 #if H_3D_IV_MERGE 1861 1860 Void … … 1871 1870 } 1872 1871 #endif 1873 1874 1872 const Int TComSPS::m_winUnitX[]={1,2,2,1}; 1875 1873 const Int TComSPS::m_winUnitY[]={1,2,1,1}; … … 1942 1940 m_bDepth = false; 1943 1941 #endif 1944 1945 1942 if( !m_bCamParInSliceHeader ) 1946 1943 { … … 1954 1951 } 1955 1952 } 1956 1957 1953 #if H_3D_IV_MERGE 1958 1954 Void -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComSlice.h
r476 r478 54 54 class TComPicLists; 55 55 #endif 56 57 56 #if H_3D_IV_MERGE 58 57 class TComDepthMapGenerator; -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibDecoder/TDecCAVLC.cpp
r476 r478 759 759 } 760 760 #endif // !H_MV 761 762 761 #if H_3D_IV_MERGE 763 762 READ_FLAG( uiCode, "base_view_flag" ); -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibDecoder/TDecCu.cpp
r476 r478 320 320 m_ppcCU[uiDepth]->copyInterPredInfoFrom( pcCU, uiAbsPartIdx, REF_PIC_LIST_0 ); 321 321 m_ppcCU[uiDepth]->copyInterPredInfoFrom( pcCU, uiAbsPartIdx, REF_PIC_LIST_1 ); 322 #if H_3D_IV_MERGE 322 323 m_ppcCU[uiDepth]->copyDVInfoFrom(pcCU, uiAbsPartIdx); 323 #if H_3D_IV_MERGE324 324 TComMvField cMvFieldNeighbours[MRG_MAX_NUM_CANDS_MEM << 1]; // double length for mv of both lists 325 325 UChar uhInterDirNeighbours[MRG_MAX_NUM_CANDS_MEM]; -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibDecoder/TDecGop.cpp
r476 r478 158 158 m_LFCrossSliceBoundaryFlag.push_back( pcSlice->getLFCrossSliceBoundaryFlag()); 159 159 } 160 161 160 #if H_3D_IV_MERGE 162 161 if( uiStartCUAddr == 0 ) … … 165 164 } 166 165 #endif 167 168 166 #if H_3D_NBDV 169 167 if(pcSlice->getViewIndex() && !pcSlice->getIsDepth()) //Notes from QC: this condition shall be changed once the configuration is completed, e.g. in pcSlice->getSPS()->getMultiviewMvPredMode() || ARP in prev. HTM. Remove this comment once it is done. -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibDecoder/TDecGop.h
r476 r478 54 54 #include "TLibCommon/TComDepthMapGenerator.h" 55 55 #endif 56 57 56 #include "TDecEntropy.h" 58 57 #include "TDecSlice.h" … … 86 85 TComDepthMapGenerator* m_pcDepthMapGenerator; 87 86 #endif 88 89 87 TComSampleAdaptiveOffset* m_pcSAO; 90 88 Double m_dDecTime; -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibDecoder/TDecTop.cpp
r476 r478 409 409 m_cSliceDecoder.init( &m_cEntropyDecoder, &m_cCuDecoder ); 410 410 m_cEntropyDecoder.init(&m_cPrediction); 411 412 411 #if H_3D_IV_MERGE 413 412 m_tAppDecTop = pcTAppDecTop; … … 919 918 920 919 #endif 921 922 920 #if H_3D_IV_MERGE 923 921 TComPic * const pcTexturePic = m_isDepth ? m_tAppDecTop->getPicFromView( m_viewIndex, pcSlice->getPOC(), false ) : NULL; -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncCavlc.cpp
r476 r478 581 581 WRITE_FLAG( 0, "sps_extension_flag" ); 582 582 #endif 583 584 583 #if H_3D_IV_MERGE 585 584 if( pcSPS->getViewIndex() || pcSPS->isDepth() ) -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncGOP.cpp
r476 r478 682 682 #endif 683 683 684 #if H_3D_IV_MERGE 684 #if H_3D_IV_MERGE 685 685 TAppEncTop* tAppEncTop = m_pcEncTop->getEncTop(); 686 686 TComPic * const pcTexturePic = m_pcEncTop->getIsDepth() ? tAppEncTop->getPicFromView( getViewIndex(), pcSlice->getPOC(), false ) : NULL; … … 1042 1042 m_storedStartCUAddrForEncodingSliceSegment.push_back(nextCUAddr); 1043 1043 startCUAddrSliceSegmentIdx++; 1044 1045 1044 #if H_3D_IV_MERGE 1046 1045 m_pcDepthMapGenerator->initViewComponent( pcPic ); 1047 1046 #endif 1048 1049 1047 #if H_3D_NBDV 1050 1048 if(pcSlice->getViewIndex() && !pcSlice->getIsDepth()) //Notes from QC: this condition shall be changed once the configuration is completed, e.g. in pcSlice->getSPS()->getMultiviewMvPredMode() || ARP in prev. HTM. Remove this comment once it is done. -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncGOP.h
r476 r478 110 110 Int m_viewIndex; 111 111 Bool m_isDepth; 112 113 112 #if H_3D_IV_MERGE 114 113 TComDepthMapGenerator* m_pcDepthMapGenerator; 115 114 #endif 116 117 115 #endif 118 116 #endif -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncTop.cpp
r476 r478 123 123 m_cDepthMapGenerator. create( false, getSourceWidth(), getSourceHeight(), g_uiMaxCUDepth, g_uiMaxCUWidth, g_uiMaxCUHeight, g_bitDepthY, PDM_SUB_SAMP_EXP_X(m_uiPredDepthMapGeneration), PDM_SUB_SAMP_EXP_Y(m_uiPredDepthMapGeneration) ); 124 124 #endif 125 126 125 #if RATE_CONTROL_LAMBDA_DOMAIN 127 126 if ( m_RCEnableRateControl ) … … 229 228 m_cLoopFilter. destroy(); 230 229 m_cRateCtrl. destroy(); 231 232 230 #if H_3D_IV_MERGE 233 231 m_cDepthMapGenerator. destroy(); … … 322 320 m_cDepthMapGenerator.init( (TComPrediction*)this->getPredSearch(), m_pcTAppEncTop->getVPSAccess(), m_pcTAppEncTop->getSPSAccess(), m_pcTAppEncTop->getAUPicAccess() ); 323 321 #endif 324 325 322 // initialize transform & quantization class 326 323 m_pcCavlcCoder = getCavlcCoder(); … … 1334 1331 } 1335 1332 #endif 1336 1337 1338 1333 //! \} -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncTop.h
r476 r478 57 57 #include "TEncPreanalyzer.h" 58 58 #include "TEncRateCtrl.h" 59 60 59 #if H_3D_IV_MERGE 61 60 #include "TLibCommon/TComDepthMapGenerator.h" … … 71 70 class TAppEncTop; 72 71 #endif 73 74 72 /// encoder class 75 73 class TEncTop : public TEncCfg … … 104 102 TEncSlice m_cSliceEncoder; ///< slice encoder 105 103 TEncCu m_cCuEncoder; ///< CU encoder 106 107 104 #if H_3D_IV_MERGE 108 105 TComDepthMapGenerator m_cDepthMapGenerator; ///< depth map generator 109 106 #endif 110 111 107 // SPS 112 108 TComSPS m_cSPS; ///< SPS
Note: See TracChangeset for help on using the changeset viewer.