Changeset 166 in 3DVCSoftware for branches/HTM-4.0.1-VSP-dev0/source/Lib/TLibEncoder/TEncTop.cpp
- Timestamp:
- 1 Nov 2012, 19:22:41 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-4.0.1-VSP-dev0/source/Lib/TLibEncoder/TEncTop.cpp
r105 r166 79 79 m_pcBitCounters = NULL; 80 80 m_pcRdCosts = NULL; 81 82 #if VSP_N 83 m_pcPicVSP = NULL; 84 m_pcPicAvail = NULL; 85 #endif 86 87 #if VSP_SLICE_HEADER 88 m_bUseVSP = false; 89 #endif 90 81 91 } 82 92 … … 184 194 } 185 195 #endif 196 197 #if VSP_N 198 m_pcPicVSP = new TComPic; 199 m_pcPicVSP->create( getSourceWidth(), getSourceHeight(), g_uiMaxCUWidth, g_uiMaxCUHeight, g_uiMaxCUDepth ); 200 //m_pcPicVSP->getCurrSlice()->setViewId( this->getViewId() ); 201 m_pcPicVSP->getCurrSlice()->setViewId( NUM_VIEW_VSP ); 202 m_pcPicVSP->getCurrSlice()->setViewOrderIdx( m_iViewOrderIdx ); 203 204 m_pcPicAvail = new TComPic; 205 m_pcPicAvail->create( getSourceWidth(), getSourceHeight(), g_uiMaxCUWidth, g_uiMaxCUHeight, g_uiMaxCUDepth ); 206 m_pcPicAvail->getCurrSlice()->setViewId( 99 ); 207 m_pcPicAvail->getCurrSlice()->setViewOrderIdx( m_iViewOrderIdx ); 208 #endif 209 186 210 } 187 211 … … 325 349 } 326 350 351 #if VSP_N 352 if( m_pcPicVSP ) 353 { 354 m_pcPicVSP->destroy(); 355 delete m_pcPicVSP; 356 m_pcPicVSP = NULL; 357 } 358 if( m_pcPicAvail ) 359 { 360 m_pcPicAvail->destroy(); 361 delete m_pcPicAvail; 362 m_pcPicAvail = NULL; 363 } 364 #endif 365 327 366 return; 328 367 } … … 391 430 392 431 m_iMaxRefPicNum = 0; 432 433 #if VSP_N 434 m_pcPicVSP->setCurrSliceIdx( 0 ); 435 m_pcPicVSP->getCurrSlice()->setSPS( this->getSPS() ); 436 m_pcPicVSP->getCurrSlice()->setPPS( this->getPPS() ); 437 m_pcPicVSP->getCurrSlice()->setPPSId( this->getPPS()->getPPSId() ); 438 //initialize the motion vector field with zeros - How about the RefIdx ???? 439 //IS THIS REALLY NECESSARY ???? 440 for ( int i=0; i<m_pcPicVSP->getPicSym()->getNumberOfCUsInFrame(); i++ ) 441 { 442 m_pcPicVSP->getPicSym()->getCU(i)->getCUMvField(RefPicList(0))->clearMvField(); 443 m_pcPicVSP->getPicSym()->getCU(i)->getCUMvField(RefPicList(1))->clearMvField(); 444 } 445 #if DEPTH_MAP_GENERATION 446 #if !QC_MULTI_DIS_CAN 447 // add extra pic buffers 448 Bool bNeedPrdDepthMapBuf = ( m_uiPredDepthMapGeneration > 0 ); 449 if( bNeedPrdDepthMapBuf && !m_pcPicVSP->getPredDepthMap() ) 450 { 451 m_pcPicVSP->addPrdDepthMapBuffer( PDM_SUB_SAMP_EXP_X(m_uiPredDepthMapGeneration), PDM_SUB_SAMP_EXP_Y(m_uiPredDepthMapGeneration) ); 452 m_cDepthMapGenerator.clearDepthMap( m_pcPicVSP ); 453 } 454 #endif 455 #endif 456 m_pcPicAvail->setCurrSliceIdx( 0 ); 457 m_pcPicAvail->getCurrSlice()->setSPS( this->getSPS() ); 458 m_pcPicAvail->getCurrSlice()->setPPS( this->getPPS() ); 459 m_pcPicAvail->getCurrSlice()->setPPSId( this->getPPS()->getPPSId() ); 460 //initialize the motion vector field with zeros - How about the RefIdx ???? 461 //IS THIS REALLY NECESSARY ???? 462 for ( int i=0; i<m_pcPicAvail->getPicSym()->getNumberOfCUsInFrame(); i++ ) 463 { 464 m_pcPicAvail->getPicSym()->getCU(i)->getCUMvField(RefPicList(0))->clearMvField(); 465 m_pcPicAvail->getPicSym()->getCU(i)->getCUMvField(RefPicList(1))->clearMvField(); 466 } 467 #if DEPTH_MAP_GENERATION 468 #if !QC_MULTI_DIS_CAN 469 // add extra pic buffers 470 bNeedPrdDepthMapBuf = ( m_uiPredDepthMapGeneration > 0 ); 471 if( bNeedPrdDepthMapBuf && !m_pcPicVSP->getPredDepthMap() ) 472 { 473 m_pcPicAvail->addPrdDepthMapBuffer( PDM_SUB_SAMP_EXP_X(m_uiPredDepthMapGeneration), PDM_SUB_SAMP_EXP_Y(m_uiPredDepthMapGeneration) ); 474 m_cDepthMapGenerator.clearDepthMap( m_pcPicAvail ); 475 } 476 #endif 477 #endif 478 #endif 393 479 } 394 480
Note: See TracChangeset for help on using the changeset viewer.