Changeset 669 in 3DVCSoftware for branches/HTM-8.2-dev2-Qualcomm
- Timestamp:
- 4 Nov 2013, 17:39:44 (11 years ago)
- Location:
- branches/HTM-8.2-dev2-Qualcomm
- Files:
-
- 2 added
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-8.2-dev2-Qualcomm/cfg/3D-HEVC/baseCfg_2view+depth.cfg
r622 r669 195 195 196 196 #========== multiview coding tools ========== 197 IvMvPred : 1 197 IvMvPred : 1 1 # Inter-view motion prediction 198 198 AdvMultiviewResPred : 1 # Advanced inter-view residual prediction (0:off, 1:on) 199 199 IlluCompEnable : 1 1 # Enable Illumination compensation ( 0: off, 1: on ) (v/d) -
branches/HTM-8.2-dev2-Qualcomm/cfg/3D-HEVC/baseCfg_3view+depth.cfg
r622 r669 225 225 226 226 #========== multiview coding tools ========== 227 IvMvPred : 1 227 IvMvPred : 1 1 # Inter-view motion prediction 228 228 AdvMultiviewResPred : 1 # Advanced inter-view residual prediction (0:off, 1:on) 229 229 IlluCompEnable : 1 1 # Enable Illumination compensation ( 0: off, 1: on ) (v/d) -
branches/HTM-8.2-dev2-Qualcomm/source/App/TAppEncoder/TAppEncCfg.cpp
r655 r669 750 750 #endif 751 751 #if H_3D_IV_MERGE 752 #if QC_DEPTH_IV_MRG_F0125 753 ("IvMvPred", m_ivMvPredFlag , std::vector<Bool>(2, true) , "inter view motion prediction " ) 754 #else 752 755 ("IvMvPred", m_ivMvPredFlag, true , "inter view motion prediction " ) 756 #endif 753 757 #endif 754 758 #if H_3D_NBDV_REF … … 2414 2418 #endif 2415 2419 #if H_3D_IV_MERGE 2420 #if QC_DEPTH_IV_MRG_F0125 2421 printf("IvMvPred:%d %d", m_ivMvPredFlag[0] ? 1 : 0, m_ivMvPredFlag[1] ? 1 : 0); 2422 #else 2416 2423 printf("IvMvPred:%d ", m_ivMvPredFlag ); 2424 #endif 2417 2425 #endif 2418 2426 #if H_3D_ARP -
branches/HTM-8.2-dev2-Qualcomm/source/App/TAppEncoder/TAppEncCfg.h
r655 r669 115 115 116 116 #if H_3D_IV_MERGE 117 #if QC_DEPTH_IV_MRG_F0125 118 vector<Bool> m_ivMvPredFlag; ///< Interview motion vector prediction 119 #else 117 120 Bool m_ivMvPredFlag; ///< Interview motion vector prediction 121 #endif 118 122 #endif 119 123 #if H_3D_ARP /// < flag and number of weighting factors in ARP -
branches/HTM-8.2-dev2-Qualcomm/source/App/TAppEncoder/TAppEncTop.cpp
r655 r669 149 149 //====== Camera Parameters ========= 150 150 m_cTEncTop.setCameraParameters ( &m_cCameraData ); 151 #if QC_DEPTH_IV_MRG_F0125 152 m_cTEncTop.setCamParPrecision ( m_cCameraData.getCamParsCodedPrecision () ); 153 m_cTEncTop.setCamParInSliceHeader ( m_cCameraData.getVaryingCameraParameters() ); 154 m_cTEncTop.setCodedScale ( m_cCameraData.getCodedScale () ); 155 m_cTEncTop.setCodedOffset ( m_cCameraData.getCodedOffset () ); 156 #else 151 157 m_cTEncTop.setCamParPrecision ( isDepth ? false : m_cCameraData.getCamParsCodedPrecision () ); 152 158 m_cTEncTop.setCamParInSliceHeader ( isDepth ? 0 : m_cCameraData.getVaryingCameraParameters() ); 153 159 m_cTEncTop.setCodedScale ( isDepth ? 0 : m_cCameraData.getCodedScale () ); 154 160 m_cTEncTop.setCodedOffset ( isDepth ? 0 : m_cCameraData.getCodedOffset () ); 161 #endif 155 162 #if H_3D_VSO 156 163 //====== VSO ========= … … 1652 1659 1653 1660 #if H_3D_IV_MERGE 1661 #if QC_DEPTH_IV_MRG_F0125 1662 if( isDepth ) 1663 { 1664 vps.setIvMvPredFlag ( layer, (layer != 1) && m_ivMvPredFlag[1] ); 1665 } 1666 else 1667 { 1668 vps.setIvMvPredFlag ( layer, !isLayerZero && m_ivMvPredFlag[0] ); 1669 } 1670 #else 1654 1671 vps.setIvMvPredFlag ( layer, !isLayerZero && !isDepth && m_ivMvPredFlag ); 1672 #endif 1655 1673 #endif 1656 1674 #if H_3D_NBDV_REF -
branches/HTM-8.2-dev2-Qualcomm/source/Lib/TLibCommon/TComDataCU.cpp
r655 r669 3522 3522 deriveLeftRightTopIdxGeneral( uiAbsPartIdx, uiPUIdx, uiPartIdxLT, uiPartIdxRT ); 3523 3523 deriveLeftBottomIdxGeneral ( uiAbsPartIdx, uiPUIdx, uiPartIdxLB ); 3524 #if QC_DEPTH_IV_MRG_F0125 3525 Bool bIsDepth = getSlice()->getIsDepth(); 3526 Bool bDepthIPMCAvai = false; 3527 #endif 3524 3528 #if H_3D_IV_MERGE 3525 3529 … … 3621 3625 if ( ivMvPredFlag ) 3622 3626 { 3623 getInterViewMergeCands(uiPUIdx, ivCandRefIdx, ivCandMv, &cDisInfo, ivCandDir ); 3627 getInterViewMergeCands(uiPUIdx, ivCandRefIdx, ivCandMv, &cDisInfo, ivCandDir 3628 #if QC_DEPTH_IV_MRG_F0125 3629 , bIsDepth 3630 #endif 3631 ); 3624 3632 } 3625 3633 … … 3642 3650 } 3643 3651 3652 #if QC_DEPTH_IV_MRG_F0125 3653 if ( bIsDepth ) 3654 { 3655 Bool bRemoveSpa = false; 3656 Int iCnloop = iCount-1; 3657 for(; iCnloop >= 0; iCnloop --) 3658 { 3659 if(puhInterDirNeighbours[iCount] == puhInterDirNeighbours[iCnloop] && pcMvFieldNeighbours[iCnloop<<1]==pcMvFieldNeighbours[(iCount<<1)] && pcMvFieldNeighbours[(iCnloop<<1)+1]==pcMvFieldNeighbours[(iCount<<1)+1]) 3660 { 3661 bRemoveSpa = true; 3662 abCandIsInter [ iCount ] = false; 3663 3664 puhInterDirNeighbours[iCount] = 0; 3665 pcMvFieldNeighbours[iCount<<1].setMvField( cZeroMv, NOT_VALID ); 3666 pcMvFieldNeighbours[(iCount<<1)+1].setMvField( cZeroMv, NOT_VALID ); 3667 break; 3668 } 3669 } 3670 if(!bRemoveSpa) 3671 { 3672 bDepthIPMCAvai = true; 3673 } 3674 } 3675 if ( bDepthIPMCAvai || !bIsDepth ) 3676 { 3677 #endif 3644 3678 if ( mrgCandIdx == iCount ) 3645 3679 { … … 3647 3681 } 3648 3682 iCount ++; 3683 #if QC_DEPTH_IV_MRG_F0125 3684 } 3685 #endif 3649 3686 } 3650 3687 … … 3682 3719 #if H_3D_IV_MERGE 3683 3720 Bool bRemoveSpa = false; //pruning to inter-view candidates 3721 #if QC_DEPTH_IV_MRG_F0125 3722 Int iCnloop = bDepthIPMCAvai ? (iCount-2): (iCount-1); 3723 #else 3684 3724 Int iCnloop = iCount - 1; 3725 #endif 3685 3726 for(; iCnloop >= 0; iCnloop --) 3686 3727 { … … 3758 3799 #if H_3D_IV_MERGE 3759 3800 Bool bRemoveSpa = false; //pruning to inter-view candidates 3801 #if QC_DEPTH_IV_MRG_F0125 3802 Int iCnloop; 3803 if( bIsDepth ) 3804 iCnloop = (bLeftAvai && bDepthIPMCAvai) ? (iCount-3) : ((bLeftAvai || bDepthIPMCAvai) ? (iCount-2): (iCount-1)); 3805 else 3806 iCnloop = bLeftAvai? (iCount-2): (iCount-1); 3807 #else 3760 3808 Int iCnloop = bLeftAvai? (iCount-2): (iCount-1); 3809 #endif 3761 3810 for(; iCnloop >= 0; iCnloop --) 3762 3811 { … … 5411 5460 riPosX = g_auiRasterToPelX[g_auiZscanToRaster[uiAbsPartIndex]] + getCUPelX(); 5412 5461 riPosY = g_auiRasterToPelY[g_auiZscanToRaster[uiAbsPartIndex]] + getCUPelY(); 5462 } 5463 #endif 5464 #if QC_DEPTH_IV_MRG_F0125 5465 Bool TComDataCU::getDispNeighBlocks (UInt uiPartIdx, UInt uiPartAddr, DisInfo* pDisp) 5466 { 5467 Pel pDepPos[3] = {0, 0, 0}; 5468 assert(getPartitionSize( uiPartAddr ) == SIZE_2Nx2N); 5469 Bool bDepAvail = false; 5470 Pel *pDepth = this->getPic()->getPicYuvRec()->getLumaAddr(); 5471 Int iDepStride = this->getPic()->getPicYuvRec()->getStride(); 5472 TComMv cMv; 5473 5474 Int xP, yP, nPSW, nPSH; 5475 this->getPartPosition(uiPartIdx, xP, yP, nPSW, nPSH); 5476 5477 if(xP != 0 && yP != 0) 5478 { 5479 pDepPos[0] = pDepth[ (yP-1) * iDepStride + (xP-1) ]; 5480 bDepAvail = true; 5481 } 5482 5483 if(xP != 0) 5484 { 5485 pDepPos[1] = pDepth[ (yP+nPSH-1) * iDepStride + (xP-1) ]; 5486 bDepAvail = true; 5487 } 5488 5489 if(yP != 0) 5490 { 5491 pDepPos[2] = pDepth[ (yP-1) * iDepStride + (xP+nPSW-1) ]; 5492 bDepAvail = true; 5493 } 5494 5495 if (bDepAvail) 5496 { 5497 Pel pAvgDepth = (xP != 0 && yP != 0) ? ((5*pDepPos[0] + 5*pDepPos[1] + 6*pDepPos[2] + 8)>>4) : (xP == 0) ? pDepPos[2] : pDepPos[1]; 5498 Int iDisp = getSlice()->getDepthToDisparityB( 0 )[ pAvgDepth ]; 5499 cMv.setHor(iDisp); 5500 cMv.setVer(0); 5501 pDisp->m_acNBDV = cMv; 5502 pDisp->m_aVIdxCan = 0; 5503 return true; 5504 } 5505 else 5506 { 5507 cMv.setZero(); 5508 pDisp->m_acNBDV = cMv; 5509 pDisp->m_aVIdxCan = 0; 5510 return false; 5511 } 5413 5512 } 5414 5513 #endif … … 5944 6043 #if H_3D_IV_MERGE 5945 6044 Bool 5946 TComDataCU::getInterViewMergeCands(UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDInfo, Int* availableMcDc ) 6045 TComDataCU::getInterViewMergeCands(UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDInfo, Int* availableMcDc 6046 #if QC_DEPTH_IV_MRG_F0125 6047 , Bool bIsDepth 6048 #endif 6049 ) 5947 6050 { 5948 6051 TComSlice* pcSlice = getSlice (); … … 5950 6053 5951 6054 //--- get base CU/PU and check prediction mode --- 6055 #if QC_DEPTH_IV_MRG_F0125 6056 TComPic* pcBasePic = pcSlice->getIvPic( bIsDepth, iViewIndex ); 6057 #else 5952 6058 TComPic* pcBasePic = pcSlice->getIvPic( false, iViewIndex ); 6059 #endif 5953 6060 TComPicYuv* pcBaseRec = pcBasePic->getPicYuvRec (); 5954 6061 … … 5961 6068 pcBaseRec->getTopLeftSamplePos( getAddr(), getZorderIdxInCU() + uiPartAddr, iCurrPosX, iCurrPosY ); 5962 6069 6070 #if QC_DEPTH_IV_MRG_F0125 6071 iCurrPosX += ( iWidth >> 1 ); 6072 iCurrPosY += ( iHeight >> 1 ); 6073 #else 5963 6074 iCurrPosX += ( ( iWidth - 1 ) >> 1 ); 5964 6075 iCurrPosY += ( ( iHeight - 1 ) >> 1 ); 6076 #endif 5965 6077 5966 6078 Bool depthRefineFlag = false; … … 6026 6138 TComMv cMv(cBaseMvField.getHor(), cBaseMvField.getVer()); 6027 6139 #if H_3D_NBDV 6028 cMv.setIDVFlag (true); 6029 cMv.setIDVHor (cDv.getHor()); 6030 cMv.setIDVVer (cDv.getVer()); 6031 cMv.setIDVVId (iViewIndex); 6140 #if QC_DEPTH_IV_MRG_F0125 6141 if( !bIsDepth ) 6142 { 6143 #endif 6144 cMv.setIDVFlag (true); 6145 cMv.setIDVHor (cDv.getHor()); 6146 cMv.setIDVVer (cDv.getVer()); 6147 cMv.setIDVVId (iViewIndex); 6148 #if QC_DEPTH_IV_MRG_F0125 6149 } 6150 #endif 6032 6151 #endif 6033 6152 clipMv( cMv ); … … 6071 6190 #endif 6072 6191 cMv.setHor( cMv.getHor() + ioffsetDV ); 6192 #if QC_DEPTH_IV_MRG_F0125 6193 if( bIsDepth ) 6194 cMv.setHor((cMv.getHor()+2)>>2); 6195 #endif 6073 6196 cMv.setVer( 0 ); 6074 6197 clipMv( cMv ); -
branches/HTM-8.2-dev2-Qualcomm/source/Lib/TLibCommon/TComDataCU.h
r655 r669 493 493 ); 494 494 495 #if QC_DEPTH_IV_MRG_F0125 496 Bool getDispNeighBlocks ( UInt uiPartIdx, UInt uiPartAddr, DisInfo* cDisp); 497 Bool getDispMvPredCan(UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDis, Int* iPdm ); 498 #endif 499 495 500 #if H_3D_NBDV_REF 496 501 Pel getMcpFromDM(TComPicYuv* pcBaseViewDepthPicYuv, TComMv* mv, Int iBlkX, Int iBlkY, Int iWidth, Int iHeight, Int* aiShiftLUT ); … … 502 507 #endif 503 508 #if H_3D_IV_MERGE 504 Bool getInterViewMergeCands ( UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDInfo, Int* availableMcDc ); 509 Bool getInterViewMergeCands ( UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDInfo, Int* availableMcDc 510 #if QC_DEPTH_IV_MRG_F0125 511 , Bool bIsDepth 512 #endif 513 ); 505 514 #endif 506 515 #if H_3D_ARP -
branches/HTM-8.2-dev2-Qualcomm/source/Lib/TLibCommon/TComSlice.cpp
r655 r669 2968 2968 #endif 2969 2969 2970 #if QC_DEPTH_IV_MRG_F0125 2971 setupLUT = setupLUT || ( getVPS()->getIvMvPredFlag(layerIdInVPS ) && getIsDepth() ); 2972 #endif 2973 2970 2974 if( !setupLUT ) 2971 2975 return; -
branches/HTM-8.2-dev2-Qualcomm/source/Lib/TLibCommon/TComSlice.h
r655 r669 1338 1338 UInt getCamParPrecision () { return m_uiCamParPrecision; } 1339 1339 Bool hasCamParInSliceHeader() { return m_bCamParInSliceHeader; } 1340 #if QC_DEPTH_IV_MRG_F0125 1341 Void setHasCamParInSliceHeader( Bool b ) { m_bCamParInSliceHeader = b; } 1342 #endif 1340 1343 Int* getCodedScale () { return m_aaiCodedScale [0]; } 1341 1344 Int* getCodedOffset () { return m_aaiCodedOffset[0]; } -
branches/HTM-8.2-dev2-Qualcomm/source/Lib/TLibCommon/TypeDef.h
r655 r669 207 207 #if H_3D_ARP 208 208 #define H_3D_ARP_WFNR 3 209 #endif 210 211 ///// ***** Inter-view motion merge candidate ********* 212 #if H_3D_IV_MERGE 213 #define QC_DEPTH_IV_MRG_F0125 1 // JCT3V-F0125: Depth oriented Inter-view MV candidate 209 214 #endif 210 215 -
branches/HTM-8.2-dev2-Qualcomm/source/Lib/TLibDecoder/TDecCAVLC.cpp
r655 r669 1265 1265 else 1266 1266 { 1267 1267 #if QC_DEPTH_IV_MRG_F0125 && H_3D_IV_MERGE 1268 if(i!=1) 1269 { 1270 READ_FLAG( uiCode, "iv_mv_pred_flag[i]"); pcVPS->setIvMvPredFlag ( i, uiCode == 1 ? true : false ); 1271 } 1272 #endif 1268 1273 READ_FLAG( uiCode, "vps_depth_modes_flag[i]" ); pcVPS->setVpsDepthModesFlag( i, uiCode == 1 ? true : false ); 1269 1274 // READ_FLAG( uiCode, "lim_qt_pred_flag[i]"); pcVPS->setLimQtPreFlag ( i, uiCode == 1 ? true : false ); -
branches/HTM-8.2-dev2-Qualcomm/source/Lib/TLibDecoder/TDecCu.cpp
r655 r669 135 135 Void TDecCu::decompressCU( TComDataCU* pcCU ) 136 136 { 137 #if !QC_DEPTH_IV_MRG_F0125 137 138 xDecompressCU( pcCU, 0, 0 ); 139 #endif 138 140 } 139 141 … … 313 315 m_ppcCU[uiDepth]->setHeight ( 0, pcCU->getSlice()->getSPS()->getMaxCUHeight()/(1<<uiDepth) ); 314 316 m_ppcCU[uiDepth]->setPartSizeSubParts( SIZE_2Nx2N, 0, uiDepth ); 317 #if QC_DEPTH_IV_MRG_F0125 318 if( pcCU->getSlice()->getIsDepth()) 319 { 320 DvInfo.bDV = m_ppcCU[uiDepth]->getDispNeighBlocks(0, 0, &DvInfo); 321 } 322 else 323 { 324 #endif 315 325 #if H_3D_NBDV_REF 316 326 if(pcCU->getSlice()->getVPS()->getDepthRefinementFlag( pcCU->getSlice()->getLayerIdInVps() )) //Notes from QC: please check the condition for DoNBDV. Remove this comment once it is done. … … 323 333 DvInfo.bDV = m_ppcCU[uiDepth]->getDisMvpCandNBDV(&DvInfo); 324 334 } 325 335 #if QC_DEPTH_IV_MRG_F0125 336 } 337 #endif 326 338 #if ENC_DEC_TRACE && H_MV_ENC_DEC_TRAC 327 339 if ( g_decTraceDispDer ) … … 430 442 #endif 431 443 xFinishDecodeCU( pcCU, uiAbsPartIdx, uiDepth, ruiIsLast ); 444 #if QC_DEPTH_IV_MRG_F0125 445 xDecompressCU(pcCU, uiAbsPartIdx, uiDepth ); 446 #endif 432 447 return; 433 448 } … … 443 458 { 444 459 xFinishDecodeCU( pcCU, uiAbsPartIdx, uiDepth, ruiIsLast ); 460 #if QC_DEPTH_IV_MRG_F0125 461 xDecompressCU(pcCU, uiAbsPartIdx, uiDepth ); 462 #endif 445 463 return; 446 464 } … … 466 484 setdQPFlag( bCodeDQP ); 467 485 xFinishDecodeCU( pcCU, uiAbsPartIdx, uiDepth, ruiIsLast ); 486 #if QC_DEPTH_IV_MRG_F0125 487 xDecompressCU(pcCU, uiAbsPartIdx, uiDepth ); 488 #endif 468 489 } 469 490 … … 481 502 { 482 503 TComPic* pcPic = pcCU->getPic(); 483 504 #if !QC_DEPTH_IV_MRG_F0125 484 505 Bool bBoundary = false; 485 506 UInt uiLPelX = pcCU->getCUPelX() + g_auiRasterToPelX[ g_auiZscanToRaster[uiAbsPartIdx] ]; … … 516 537 return; 517 538 } 518 539 #endif 519 540 // Residual reconstruction 520 541 m_ppcYuvResi[uiDepth]->clear(); -
branches/HTM-8.2-dev2-Qualcomm/source/Lib/TLibDecoder/TDecTop.cpp
r655 r669 282 282 } 283 283 284 #if QC_DEPTH_IV_MRG_F0125 285 Void 286 CamParsCollector::copyCamParamForSlice( TComSlice* pcSlice ) 287 { 288 UInt uiViewIndex = pcSlice->getViewIndex(); 289 290 pcSlice->getSPS()->initCamParaSPS( uiViewIndex, m_uiCamParsCodedPrecision, m_bCamParsVaryOverTime, m_aaiCodedScale, m_aaiCodedOffset ); 291 292 if( m_bCamParsVaryOverTime ) 293 { 294 pcSlice->setCamparaSlice( m_aaiCodedScale, m_aaiCodedOffset ); 295 } 296 } 297 #endif 298 284 299 Bool 285 300 CamParsCollector::xIsComplete() … … 1053 1068 } 1054 1069 1070 #if QC_DEPTH_IV_MRG_F0125 1071 if( pcSlice->getIsDepth() && m_pcCamParsCollector ) 1072 { 1073 m_pcCamParsCollector->copyCamParamForSlice( pcSlice ); 1074 } 1075 #endif 1076 1055 1077 // Decode a picture 1056 1078 m_cGopDecoder.decompressSlice(nalu.m_Bitstream, pcPic); … … 1060 1082 m_pcCamParsCollector->setSlice( pcSlice ); 1061 1083 } 1084 #if QC_DEPTH_IV_MRG_F0125 1085 if( pcSlice->getIsDepth() ) 1086 { 1087 pcSlice->getSPS()->setHasCamParInSliceHeader( false ); 1088 } 1089 #endif 1062 1090 #endif 1063 1091 m_bFirstSliceInPicture = false; -
branches/HTM-8.2-dev2-Qualcomm/source/Lib/TLibDecoder/TDecTop.h
r655 r669 77 77 Bool isInitialized() const { return m_bInitialized; } 78 78 Int**** getBaseViewShiftLUTI() { return m_aiBaseViewShiftLUT; } 79 80 #if QC_DEPTH_IV_MRG_F0125 81 Void copyCamParamForSlice( TComSlice* pcSlice ); 82 #endif 79 83 80 84 private: -
branches/HTM-8.2-dev2-Qualcomm/source/Lib/TLibEncoder/TEncCavlc.cpp
r655 r669 1019 1019 else 1020 1020 { 1021 #if QC_DEPTH_IV_MRG_F0125 1022 if(i!=1) 1023 { 1024 WRITE_FLAG( pcVPS->getIvMvPredFlag ( i ) ? 1 : 0 , "iv_mv_pred_flag[i]"); 1025 } 1026 #endif 1021 1027 WRITE_FLAG( pcVPS->getVpsDepthModesFlag( i ) ? 1 : 0 , "vps_depth_modes_flag[i]" ); 1022 1028 //WRITE_FLAG( pcVPS->getLimQtPredFlag ( i ) ? 1 : 0 , "lim_qt_pred_flag[i]" ); … … 1452 1458 WRITE_UVLC(0,"slice_header_extension_length"); //<- this element needs to be set to the correct value!! 1453 1459 1460 #if QC_DEPTH_IV_MRG_F0125 1461 if( pcSlice->getSPS()->hasCamParInSliceHeader() && !pcSlice->getIsDepth() ) 1462 #else 1454 1463 if( pcSlice->getSPS()->hasCamParInSliceHeader() ) 1464 #endif 1455 1465 { 1456 1466 for( UInt uiId = 0; uiId < pcSlice->getViewIndex(); uiId++ ) -
branches/HTM-8.2-dev2-Qualcomm/source/Lib/TLibEncoder/TEncCu.cpp
r655 r669 567 567 PartSize ePartTemp = rpcTempCU->getPartitionSize(0); 568 568 rpcTempCU->setPartSizeSubParts( SIZE_2Nx2N, 0, uiDepth ); 569 #if QC_DEPTH_IV_MRG_F0125 570 if (rpcTempCU->getSlice()->getIsDepth() ) 571 { 572 DvInfo.bDV = rpcTempCU->getDispNeighBlocks(0, 0, &DvInfo); 573 } 574 else 575 { 576 #endif 569 577 #if H_3D_NBDV_REF 570 578 if(rpcTempCU->getSlice()->getVPS()->getDepthRefinementFlag( rpcTempCU->getSlice()->getLayerIdInVps())) … … 574 582 DvInfo.bDV = rpcTempCU->getDisMvpCandNBDV(&DvInfo); 575 583 584 #if QC_DEPTH_IV_MRG_F0125 585 } 586 #endif 576 587 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 577 588 rpcBestCU->setDvInfoSubParts(DvInfo, 0, uiDepth); -
branches/HTM-8.2-dev2-Qualcomm/source/Lib/TLibEncoder/TEncTop.cpp
r655 r669 835 835 } 836 836 #if H_3D 837 #if !QC_DEPTH_IV_MRG_F0125 837 838 if ( !m_isDepth ) 839 #endif 838 840 { 839 841 m_cSPS.initCamParaSPS ( m_viewIndex, m_uiCamParPrecision, m_bCamParInSliceHeader, m_aaiCodedScale, m_aaiCodedOffset );
Note: See TracChangeset for help on using the changeset viewer.