Changeset 1217 in 3DVCSoftware
- Timestamp:
- 20 May 2015, 07:55:46 (10 years ago)
- Location:
- branches/HTM-14.1-update-dev3-MediaTek
- Files:
-
- 2 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-14.1-update-dev3-MediaTek/source/Lib/TLibCommon/TComDataCU.cpp
r1210 r1217 2160 2160 2161 2161 Bool depthRefineFlag = false; 2162 #if H_3D_NBDV_REF2163 depthRefineFlag = m_pcSlice->getDepthRefinementFlag( 2164 #endif // H_3D_NBDV_REF2162 #if NH_3D_NBDV_REF 2163 depthRefineFlag = m_pcSlice->getDepthRefinementFlag(); 2164 #endif // NH_3D_NBDV_REF 2165 2165 2166 2166 TComMv cDv = depthRefineFlag ? DvInfo.m_acDoNBDV : DvInfo.m_acNBDV; … … 5760 5760 #if NH_3D_NBDV 5761 5761 //Notes from QC: 5762 //TBD#1: DoNBDV related contributions are just partially integrated under the marco of H_3D_NBDV_REF, remove this comment once DoNBDV and BVSP are done5762 //TBD#1: DoNBDV related contributions are just partially integrated under the marco of NH_3D_NBDV_REF, remove this comment once DoNBDV and BVSP are done 5763 5763 //TBD#2: set of DvMCP values need to be done as part of inter-view motion prediction process. Remove this comment once merge related integration is done 5764 5764 //To be checked: Parallel Merge features for NBDV, related to DV_DERIVATION_PARALLEL_B0096 and LGE_IVMP_PARALLEL_MERGE_B0136 are not integrated. The need of these features due to the adoption of CU-based NBDV is not clear. We need confirmation on this, especially by proponents 5765 5765 Void TComDataCU::getDisMvpCandNBDV( DisInfo* pDInfo 5766 #if H_3D_NBDV_REF5766 #if NH_3D_NBDV_REF 5767 5767 , Bool bDepthRefine 5768 5768 #endif … … 5787 5787 } 5788 5788 } 5789 #if H_3D_NBDV_REF5789 #if NH_3D_NBDV_REF 5790 5790 if( !m_pcSlice->getDepthRefinementFlag( ) ) 5791 5791 { … … 5837 5837 pDInfo->m_aVIdxCan = iTargetViewIdx; 5838 5838 5839 #if H_3D_NBDV_REF5839 #if NH_3D_NBDV_REF 5840 5840 TComPic* picDepth = NULL; 5841 5841 #if H_3D_FCO_VSP_DONBDV_E0163 … … 5859 5859 } 5860 5860 pDInfo->m_acDoNBDV = cColMv; 5861 #endif // H_3D_NBDV_REF5861 #endif //NH_3D_NBDV_REF 5862 5862 return; 5863 5863 } … … 5873 5873 bCheckMcpDv = true; 5874 5874 if ( xCheckSpatialNBDV( pcTmpCU, uiIdx, pDInfo, bCheckMcpDv, &cIDVInfo, DVFROM_LEFT 5875 #if H_3D_NBDV_REF5875 #if NH_3D_NBDV_REF 5876 5876 , bDepthRefine 5877 5877 #endif … … 5885 5885 bCheckMcpDv = ( ( getCtuRsAddr() - pcTmpCU->getCtuRsAddr() ) == 0); 5886 5886 if ( xCheckSpatialNBDV( pcTmpCU, uiIdx, pDInfo, bCheckMcpDv, &cIDVInfo, DVFROM_ABOVE 5887 #if H_3D_NBDV_REF5887 #if NH_3D_NBDV_REF 5888 5888 , bDepthRefine 5889 5889 #endif … … 5904 5904 pDInfo->m_acNBDV = cDispVec; 5905 5905 pDInfo->m_aVIdxCan = cIDVInfo.m_aVIdxCan[iList][ curPos ]; 5906 #if H_3D_NBDV_REF5906 #if NH_3D_NBDV_REF 5907 5907 #if H_3D_FCO_VSP_DONBDV_E0163 5908 5908 TComPic* picDepth = NULL; … … 5942 5942 pDInfo->m_aVIdxCan = getSlice()->getDefaultRefViewIdx(); 5943 5943 5944 #if H_3D_NBDV_REF5944 #if NH_3D_NBDV_REF 5945 5945 TComPic* picDepth = NULL; 5946 5946 #if H_3D_FCO_VSP_DONBDV_E0163 … … 5968 5968 } 5969 5969 5970 #if H_3D_NBDV_REF5970 #if NH_3D_NBDV_REF 5971 5971 Pel TComDataCU::getMcpFromDM(TComPicYuv* pcBaseViewDepthPicYuv, TComMv* mv, Int iBlkX, Int iBlkY, Int iBlkWidth, Int iBlkHeight, Int* aiShiftLUT ) 5972 5972 { 5973 Int iPictureWidth = pcBaseViewDepthPicYuv->getWidth( );5974 Int iPictureHeight = pcBaseViewDepthPicYuv->getHeight( );5975 5973 Int iPictureWidth = pcBaseViewDepthPicYuv->getWidth(COMPONENT_Y); 5974 Int iPictureHeight = pcBaseViewDepthPicYuv->getHeight(COMPONENT_Y); 5975 5976 5976 Int depthStartPosX = Clip3(0, iPictureWidth - 1, iBlkX + ((mv->getHor()+2)>>2)); 5977 5977 Int depthStartPosY = Clip3(0, iPictureHeight - 1, iBlkY + ((mv->getVer()+2)>>2)); … … 5979 5979 Int depthEndPosY = Clip3(0, iPictureHeight - 1, iBlkY + iBlkHeight - 1 + ((mv->getVer()+2)>>2)); 5980 5980 5981 Pel* depthTL = pcBaseViewDepthPicYuv->get LumaAddr();5982 Int depStride = pcBaseViewDepthPicYuv->getStride( );5981 Pel* depthTL = pcBaseViewDepthPicYuv->getAddr(COMPONENT_Y); 5982 Int depStride = pcBaseViewDepthPicYuv->getStride(COMPONENT_Y); 5983 5983 5984 5984 Pel maxDepthVal = 0; … … 5995 5995 if (picDepth) 5996 5996 { 5997 UInt uiAbsPartAddrCurrCU = m_ uiAbsIdxInLCU+ uiPartAddr;5997 UInt uiAbsPartAddrCurrCU = m_absZIdxInCtu + uiPartAddr; 5998 5998 Int iWidth, iHeight; 5999 5999 getPartIndexAndSize( uiPartIdx, uiPartAddr, iWidth, iHeight ); // The modified value of uiPartAddr won't be used any more 6000 6000 6001 6001 TComPicYuv* pcBaseViewDepthPicYuv = picDepth->getPicYuvRec(); 6002 Int iBlkX = ( getAddr() % picDepth->getFrameWidthInCU() ) * g_uiMaxCUWidth + g_auiRasterToPelX[ g_auiZscanToRaster[ uiAbsPartAddrCurrCU ] ]; 6003 Int iBlkY = ( getAddr() / picDepth->getFrameWidthInCU() ) * g_uiMaxCUHeight + g_auiRasterToPelY[ g_auiZscanToRaster[ uiAbsPartAddrCurrCU ] ]; 6002 const TComSPS &sps =*(getSlice()->getSPS()); 6003 Int iBlkX = ( getCtuRsAddr() % picDepth->getFrameWidthInCtus() ) * sps.getMaxCUWidth() + g_auiRasterToPelX[ g_auiZscanToRaster[ uiAbsPartAddrCurrCU ] ]; 6004 Int iBlkY = ( getCtuRsAddr() / picDepth->getFrameWidthInCtus() ) * sps.getMaxCUHeight() + g_auiRasterToPelY[ g_auiZscanToRaster[ uiAbsPartAddrCurrCU ] ]; 6004 6005 6005 6006 Int* aiShiftLUT = getSlice()->getDepthToDisparityB(refViewIdx ); … … 6009 6010 } 6010 6011 } 6011 #endif // H_3D_NBDV_REF6012 #endif //NH_3D_NBDV_REF 6012 6013 6013 6014 6014 6015 Bool TComDataCU::xCheckSpatialNBDV( TComDataCU* pcTmpCU, UInt uiIdx, DisInfo* pNbDvInfo, Bool bSearchForMvpDv, IDVInfo* paIDVInfo, UInt uiMvpDvPos 6015 #if H_3D_NBDV_REF6016 #if NH_3D_NBDV_REF 6016 6017 , Bool bDepthRefine 6017 6018 #endif … … 6034 6035 pNbDvInfo->m_acNBDV = cMvPred; 6035 6036 pNbDvInfo->m_aVIdxCan = refViewIdx; 6036 #if H_3D_NBDV_REF6037 #if NH_3D_NBDV_REF 6037 6038 TComPic* picDepth = NULL; 6038 6039 assert(getSlice()->getRefPic(eRefPicList, refId)->getPOC() == getSlice()->getPOC()); … … 6209 6210 6210 6211 Bool depthRefineFlag = false; 6211 #if H_3D_NBDV_REF6212 #if NH_3D_NBDV_REF 6212 6213 depthRefineFlag = m_pcSlice->getDepthRefinementFlag( ); 6213 #endif // H_3D_NBDV_REF6214 #endif // NH_3D_NBDV_REF 6214 6215 6215 6216 TComMv cDv = depthRefineFlag ? pDInfo->m_acDoNBDV : pDInfo->m_acNBDV; … … 6346 6347 6347 6348 Bool depthRefineFlag = false; 6348 #if H_3D_NBDV_REF6349 #if NH_3D_NBDV_REF 6349 6350 depthRefineFlag = m_pcSlice->getDepthRefinementFlag( ); 6350 #endif // H_3D_NBDV_REF6351 #endif // NH_3D_NBDV_REF 6351 6352 6352 6353 TComMv cDv = depthRefineFlag ? pDInfo->m_acDoNBDV : pDInfo->m_acNBDV; … … 6645 6646 abPdmAvailable[ iRefListId + 2 + (iLoopCan<<2) ] = true; 6646 6647 paiPdmRefIdx [ iRefListId + 2 + (iLoopCan<<2) ] = iPdmRefIdx; 6647 #if H_3D_NBDV_REF6648 #if NH_3D_NBDV_REF 6648 6649 TComMv cMv = depthRefineFlag ? pDInfo->m_acDoNBDV : pDInfo->m_acNBDV; 6649 6650 #endif -
branches/HTM-14.1-update-dev3-MediaTek/source/Lib/TLibCommon/TComDataCU.h
r1210 r1217 490 490 Bool xCheckSpatialNBDV (TComDataCU* pcTmpCU, UInt uiIdx, DisInfo* pNbDvInfo, Bool bSearchForMvpDv, IDVInfo* paMvpDvInfo, 491 491 UInt uiMvpDvPos 492 #if H_3D_NBDV_REF492 #if NH_3D_NBDV_REF 493 493 , Bool bDepthRefine = false 494 494 #endif … … 496 496 Bool xGetColDisMV ( Int currCandPic, RefPicList eRefPicList, Int refidx, Int uiCUAddr, Int uiPartUnitIdx, TComMv& rcMv, Int & iTargetViewIdx, Int & iStartViewIdx ); 497 497 Void getDisMvpCandNBDV ( DisInfo* pDInfo 498 #if H_3D_NBDV_REF498 #if NH_3D_NBDV_REF 499 499 , Bool bDepthRefine = false 500 500 #endif … … 507 507 Bool getNeighDepth (UInt uiPartIdx, UInt uiPartAddr, Pel* pNeighDepth, Int index); 508 508 #endif 509 #if H_3D_NBDV_REF509 #if NH_3D_NBDV_REF 510 510 Pel getMcpFromDM(TComPicYuv* pcBaseViewDepthPicYuv, TComMv* mv, Int iBlkX, Int iBlkY, Int iWidth, Int iHeight, Int* aiShiftLUT ); 511 511 Void estimateDVFromDM(Int refViewIdx, UInt uiPartIdx, TComPic* picDepth, UInt uiPartAddr, TComMv* cMvPred ); 512 #endif // H_3D_NBDV_REF512 #endif //NH_3D_NBDV_REF 513 513 #endif 514 514 #if H_3D_FAST_TEXTURE_ENCODING -
branches/HTM-14.1-update-dev3-MediaTek/source/Lib/TLibCommon/TComMotionInfo.h
r1210 r1217 64 64 { 65 65 TComMv m_acNBDV; // DV from NBDV 66 #if H_3D_NBDV_REF66 #if NH_3D_NBDV_REF 67 67 TComMv m_acDoNBDV; // DV from DoNBDV 68 68 #endif -
branches/HTM-14.1-update-dev3-MediaTek/source/Lib/TLibCommon/TComSlice.cpp
r1210 r1217 3850 3850 setupLUT = setupLUT || getViewSynthesisPredFlag( ); 3851 3851 3852 #if H_3D_NBDV_REF3852 #if NH_3D_NBDV_REF 3853 3853 setupLUT = setupLUT || getDepthRefinementFlag( ); 3854 3854 #endif -
branches/HTM-14.1-update-dev3-MediaTek/source/Lib/TLibCommon/TypeDef.h
r1210 r1217 70 70 #define NH_3D_VSO 1 71 71 #define NH_3D_NBDV 1 72 #define NH_3D_NBDV_REF 1 72 73 #endif 73 74 -
branches/HTM-14.1-update-dev3-MediaTek/source/Lib/TLibDecoder/TDecCu.cpp
r1210 r1217 287 287 DvInfo.m_acNBDV.setZero(); 288 288 DvInfo.m_aVIdxCan = 0; 289 #if H_3D_NBDV_REF289 #if NH_3D_NBDV_REF 290 290 DvInfo.m_acDoNBDV.setZero(); 291 291 #endif … … 323 323 { 324 324 #endif 325 #if H_3D_NBDV_REF325 #if NH_3D_NBDV_REF 326 326 if( pcCU->getSlice()->getDepthBasedBlkPartFlag() ) //Notes from QC: please check the condition for DoNBDV. Remove this comment once it is done. 327 327 { -
branches/HTM-14.1-update-dev3-MediaTek/source/Lib/TLibEncoder/TEncCu.cpp
r1210 r1217 445 445 DvInfo.m_acNBDV.setZero(); 446 446 DvInfo.m_aVIdxCan = 0; 447 #if H_3D_NBDV_REF447 #if NH_3D_NBDV_REF 448 448 DvInfo.m_acDoNBDV.setZero(); 449 449 #endif … … 611 611 { 612 612 #endif 613 #if H_3D_NBDV_REF613 #if NH_3D_NBDV_REF 614 614 if( rpcTempCU->getSlice()->getDepthRefinementFlag() ) 615 615 {
Note: See TracChangeset for help on using the changeset viewer.