Changeset 412 in 3DVCSoftware for branches/HTM-6.2-dev2-MERL/source/Lib/TLibDecoder
- Timestamp:
- 16 May 2013, 16:05:31 (12 years ago)
- Location:
- branches/HTM-6.2-dev2-MERL/source/Lib/TLibDecoder
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-6.2-dev2-MERL/source/Lib/TLibDecoder/TDecCu.cpp
r402 r412 393 393 const UChar uhNewDepth = max<UInt>( uiDepth, pcTextureCU->getDepth( uiAbsPartIdx + ui ) ); 394 394 #if MERL_VSP_C0152 395 Int vspIdx = pcTextureCU->getVSPIndex( uiAbsPartIdx + ui); 396 pcCU->setVSPIndex( uiAbsPartIdx + ui, vspIdx); 395 Int vspIdx = pcTextureCU->getVSPIndex( uiAbsPartIdx + ui ); 396 pcCU->setVSPIndex( uiAbsPartIdx + ui, vspIdx ); 397 #endif 398 #if MERL_VSP_NBDV_RefVId_Fix_D0166 399 Int vspDir = pcTextureCU->getVSPDir( uiAbsPartIdx + ui ); 400 pcCU->setVSPDir( uiAbsPartIdx + ui, vspDir ); 397 401 #endif 398 402 pcCU->setPredictionMode( uiAbsPartIdx + ui, MODE_SKIP ); … … 412 416 #if MERL_VSP_C0152 413 417 Int iVSPIndexTrue[3] = {-1, -1, -1}; 418 #if MERL_VSP_NBDV_RefVId_Fix_D0166 419 Int iVSPDirTrue[3] = {-1, -1, -1}; 420 m_ppcCU[uiDepth]->getInterMergeCandidates( 0, 0, uiDepth, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, iVSPIndexTrue, iVSPDirTrue, uiMergeIndex ); 421 #else 414 422 m_ppcCU[uiDepth]->getInterMergeCandidates( 0, 0, uiDepth, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, iVSPIndexTrue, uiMergeIndex ); 423 #endif 415 424 { 416 425 Int iVSPIdx = 0; … … 425 434 } 426 435 } 427 pcCU->setVSPIndexSubParts( iVSPIdx, uiAbsPartIdx, 0, uiDepth ); //Initialize the VSP, may change later in get InterMergeCandidates() 436 pcCU->setVSPIndexSubParts( iVSPIdx, uiAbsPartIdx, 0, uiDepth ); // Initialize 437 #if MERL_VSP_NBDV_RefVId_Fix_D0166 438 pcCU->setVSPDirSubParts( iVSPDirTrue[iVSPIdx-1], uiAbsPartIdx, 0, uiDepth ); 439 #endif 428 440 } 429 441 #else … … 530 542 Int vspIdx = pcTextureCU->getVSPIndex( uiAbsPartIdx + ui); 531 543 pcCU->setVSPIndex( uiAbsPartIdx + ui, vspIdx); 544 #endif 545 #if MERL_VSP_NBDV_RefVId_Fix_D0166 546 if (pcCU->getSlice()->getIsDepth()) { 547 pcCU->setVSPDir( uiAbsPartIdx + ui, 0); 548 } 549 else { 550 Int vspDir = pcTextureCU->getVSPDir( uiAbsPartIdx + ui); 551 pcCU->setVSPDir( uiAbsPartIdx + ui, vspDir); 552 } 532 553 #endif 533 554 pcCU->setPredictionMode( uiAbsPartIdx + ui, MODE_INTER ); -
branches/HTM-6.2-dev2-MERL/source/Lib/TLibDecoder/TDecEntropy.cpp
r373 r412 321 321 #if MERL_VSP_C0152 322 322 Int iVSPIndexTrue[3] = {-1, -1, -1}; 323 #if MERL_VSP_NBDV_RefVId_Fix_D0166 324 Int iVSPDirTrue[3] = {-1, -1, -1}; 325 pcSubCU->getInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, uiDepth, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, iVSPIndexTrue, iVSPDirTrue, uiMergeIndex ); 326 #else 323 327 pcSubCU->getInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, uiDepth, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, iVSPIndexTrue, uiMergeIndex ); 324 328 #endif 325 329 #if HHI_MPI 326 330 if(pcCU->getTextureModeDepth( uiSubPartIdx ) == uiDepth)//MPI is used … … 330 334 for( UInt ui = 0; ui < uiCurrPartNumb; ui++ ) 331 335 { 332 Int vspIdx = pcTextureCU->getVSPIndex( uiAbsPartIdx + ui );336 Int vspIdx = pcTextureCU->getVSPIndex( uiAbsPartIdx + ui ); 333 337 pcCU->setVSPIndex( uiAbsPartIdx + ui, vspIdx); 338 #if MERL_VSP_NBDV_RefVId_Fix_D0166 339 Int vspDir = pcTextureCU->getVSPDir( uiAbsPartIdx + ui ); 340 pcCU->setVSPDir( uiAbsPartIdx + ui, vspDir); 341 #endif 334 342 } 335 343 } … … 348 356 } 349 357 } 350 pcCU->setVSPIndexSubParts( iVSPIdx, uiSubPartIdx, uiPartIdx, uiDepth ); //Initialize the VSP, may change later in get InterMergeCandidates() 358 pcCU->setVSPIndexSubParts( iVSPIdx, uiSubPartIdx, uiPartIdx, uiDepth ); // Initialize 359 #if MERL_VSP_NBDV_RefVId_Fix_D0166 360 pcCU->setVSPDirSubParts( iVSPDirTrue[iVSPIdx-1], uiSubPartIdx, uiPartIdx, uiDepth ); // Initialize 361 #endif 351 362 } 352 363 -
branches/HTM-6.2-dev2-MERL/source/Lib/TLibDecoder/TDecTop.cpp
r373 r412 1222 1222 pcSlice->setRefPicBaseDepth(pcBaseDepthPic); 1223 1223 } 1224 #if !MERL_VSP_NBDV_RefVId_Fix_D0166 1224 1225 getTAppDecTop()->setBWVSPLUT( pcSlice, pcSlice->getViewId(), pcSlice->getPOC() ); // get the LUT for backward warping 1226 #else 1227 if (pcSlice->getViewId() != 0) 1228 { 1229 Bool isDepth = true; 1230 for(Int refviewId = 0; refviewId < (pcSlice->getViewId()); refviewId++) 1231 { 1232 if (m_tAppDecTop->getTDecTop( refviewId, isDepth )) 1233 { 1234 pcSlice->setListDepthPic(m_tAppDecTop->getTDecTop( refviewId, isDepth )->getListPic(), refviewId); // The list will store only the depth pictures 1235 } 1236 getTAppDecTop()->setBWVSPLUT( refviewId, pcSlice, pcSlice->getViewId(), pcSlice->getPOC() ); // get the LUT for backward warping 1237 } 1238 } 1239 #endif 1225 1240 #endif 1226 1241
Note: See TracChangeset for help on using the changeset viewer.