Changeset 21 in 3DVCSoftware for trunk/source/Lib/TLibDecoder
- Timestamp:
- 15 Feb 2012, 19:05:04 (13 years ago)
- Location:
- trunk/source/Lib/TLibDecoder
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/Lib/TLibDecoder/TDecTop.cpp
r5 r21 250 250 m_bIsDepth = false ; 251 251 m_iViewIdx = 0 ; 252 #if SONY_COLPIC_AVAILABILITY 253 m_iViewOrderIdx = 0; 254 #endif 252 255 #if ENC_DEC_TRACE 253 256 g_hTrace = fopen( "TraceDec.txt", "wb" ); … … 382 385 383 386 #if DEPTH_MAP_GENERATION 384 Bool bNeedPrdDepthMapBuffer = ( !pcSlice->getSPS()->isDepth() && ( pcSlice->getSPS()->getViewId() == 0 || pcSlice->getSPS()->getPredDepthMapGeneration() > 0 ) ); 387 UInt uiPdm = ( pcSlice->getSPS()->getViewId() ? pcSlice->getSPS()->getPredDepthMapGeneration() : m_pcTAppDecTop->getSPSAccess()->getPdm() ); 388 Bool bNeedPrdDepthMapBuffer = ( !pcSlice->getSPS()->isDepth() && uiPdm > 0 ); 385 389 #endif 386 390 … … 392 396 if( bNeedPrdDepthMapBuffer ) 393 397 { 394 rpcPic->addPrdDepthMapBuffer( );398 rpcPic->addPrdDepthMapBuffer( PDM_SUB_SAMP_EXP_X(uiPdm), PDM_SUB_SAMP_EXP_Y(uiPdm) ); 395 399 } 396 400 #endif … … 426 430 if( bNeedPrdDepthMapBuffer && !rpcPic->getPredDepthMap() ) 427 431 { 428 rpcPic->addPrdDepthMapBuffer( );432 rpcPic->addPrdDepthMapBuffer( PDM_SUB_SAMP_EXP_X(uiPdm), PDM_SUB_SAMP_EXP_Y(uiPdm) ); 429 433 } 430 434 #endif … … 593 597 m_apcSlicePilot->setSliceIdx(m_uiSliceIdx); 594 598 m_apcSlicePilot->setViewIdx( m_cSPS.getViewId() ); 599 #if SONY_COLPIC_AVAILABILITY 600 m_apcSlicePilot->setViewOrderIdx( m_cSPS.getViewOrderIdx()); 601 #endif 595 602 if (!m_bFirstSliceInPicture) 596 603 { … … 633 640 pcPic->setViewIdx( m_cSPS.getViewId() ); 634 641 642 #if SONY_COLPIC_AVAILABILITY 643 pcPic->setViewOrderIdx( m_cSPS.getViewOrderIdx() ); 644 #endif 645 635 646 /* transfer any SEI messages that have been received to the picture */ 636 647 pcPic->setSEIs(m_SEIs); … … 645 656 646 657 #if DEPTH_MAP_GENERATION 647 m_cDepthMapGenerator.create( true, m_apcSlicePilot->getSPS()->getWidth(), m_apcSlicePilot->getSPS()->getHeight(), g_uiMaxCUDepth, g_uiMaxCUWidth, g_uiMaxCUHeight, g_uiBitDepth + g_uiBitIncrement ); 658 UInt uiPdm = ( m_cSPS.getViewId() ? m_cSPS.getPredDepthMapGeneration() : getDecTop()->getSPSAccess()->getPdm() ); 659 m_cDepthMapGenerator.create( true, m_apcSlicePilot->getSPS()->getWidth(), m_apcSlicePilot->getSPS()->getHeight(), g_uiMaxCUDepth, g_uiMaxCUWidth, g_uiMaxCUHeight, g_uiBitDepth + g_uiBitIncrement, PDM_SUB_SAMP_EXP_X(uiPdm), PDM_SUB_SAMP_EXP_Y(uiPdm) ); 660 TComDepthMapGenerator* pcDMG0 = getDecTop()->getDecTop0()->getDepthMapGenerator(); 661 if( m_cSPS.getViewId() == 1 && ( pcDMG0->getSubSampExpX() != PDM_SUB_SAMP_EXP_X(uiPdm) || pcDMG0->getSubSampExpY() != PDM_SUB_SAMP_EXP_Y(uiPdm) ) ) 662 { 663 pcDMG0->create( true, m_apcSlicePilot->getSPS()->getWidth(), m_apcSlicePilot->getSPS()->getHeight(), g_uiMaxCUDepth, g_uiMaxCUWidth, g_uiMaxCUHeight, g_uiBitDepth + g_uiBitIncrement, PDM_SUB_SAMP_EXP_X(uiPdm), PDM_SUB_SAMP_EXP_Y(uiPdm) ); 664 } 648 665 #endif 649 666 #if HHI_INTER_VIEW_RESIDUAL_PRED … … 683 700 pcSlice->setTexturePic( pcTexturePic ); 684 701 pcSlice->setViewIdx( pcPic->getViewIdx() ); 702 #if SONY_COLPIC_AVAILABILITY 703 pcSlice->setViewOrderIdx( pcPic->getViewOrderIdx() ); 704 #endif 685 705 pcSlice->setRefPicListExplicitlyDecoderSided(m_cListPic, apcSpatRefPics) ;// temporary solution 686 706 -
trunk/source/Lib/TLibDecoder/TDecTop.h
r5 r21 140 140 Bool m_bIsDepth; 141 141 Int m_iViewIdx; 142 #if SONY_COLPIC_AVAILABILITY 143 Int m_iViewOrderIdx; 144 #endif 142 145 TAppDecTop* m_pcTAppDecTop; 143 146 CamParsCollector* m_pcCamParsCollector; … … 180 183 Void setViewIdx(Int i) { m_iViewIdx = i ;} 181 184 Int getViewIdx() { return m_iViewIdx ; } 185 #if SONY_COLPIC_AVAILABILITY 186 Void setViewOrderIdx(Int i) { m_iViewOrderIdx = i ;} 187 Int getViewOrderIdx() { return m_iViewOrderIdx ; } 188 #endif 182 189 183 190 Void setToDepth(Bool b) { m_bIsDepth = b ;} … … 187 194 188 195 TComList<TComPic*>* getListPic () { return &m_cListPic; } 189 TAppDecTop* getDecTop ( ){ return m_pcTAppDecTop ;}; 196 TAppDecTop* getDecTop ( ){ return m_pcTAppDecTop ;} 197 #if DEPTH_MAP_GENERATION 198 TComDepthMapGenerator* getDepthMapGenerator () { return &m_cDepthMapGenerator; } 199 #endif 190 200 191 201 Void setSPS (TComSPS cSPS );
Note: See TracChangeset for help on using the changeset viewer.