Changeset 77 in 3DVCSoftware for trunk/source/Lib/TLibDecoder/TDecTop.cpp
- Timestamp:
- 14 Jun 2012, 16:38:29 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/Lib/TLibDecoder/TDecTop.cpp
r57 r77 319 319 m_tAppDecTop = pcTAppDecTop; 320 320 #if DEPTH_MAP_GENERATION 321 #if VIDYO_VPS_INTEGRATION 322 m_cDepthMapGenerator.init( &m_cPrediction, m_tAppDecTop->getVPSAccess(), m_tAppDecTop->getSPSAccess(), m_tAppDecTop->getAUPicAccess() ); 323 #else 321 324 m_cDepthMapGenerator.init( &m_cPrediction, m_tAppDecTop->getSPSAccess(), m_tAppDecTop->getAUPicAccess() ); 325 #endif 322 326 #endif 323 327 #if HHI_INTER_VIEW_RESIDUAL_PRED … … 571 575 TComSPS *sps = m_parameterSetManagerDecoder.getSPS(pps->getSPSId()); 572 576 assert (sps != 0); 573 577 #if VIDYO_VPS_INTEGRATION 578 TComVPS *vps = m_parameterSetManagerDecoder.getVPS(sps->getVPSId()); 579 assert (vps != 0); 580 if( m_apcSlicePilot->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR || m_apcSlicePilot->getNalUnitType() == NAL_UNIT_CODED_SLICE_CRA ) 581 // VPS can only be activated on IDR or CRA... 582 getTAppDecTop()->getVPSAccess()->setActiveVPSId( sps->getVPSId() ); 583 #endif 574 584 m_apcSlicePilot->setPPS(pps); 575 585 m_apcSlicePilot->setSPS(sps); 586 #if VIDYO_VPS_INTEGRATION 587 m_apcSlicePilot->setVPS(vps); 588 #endif 576 589 pps->setSPS(sps); 577 590 … … 613 626 m_apcSlicePilot->setPPS(m_parameterSetManagerDecoder.getPrefetchedPPS(0)); 614 627 m_apcSlicePilot->setSPS(m_parameterSetManagerDecoder.getPrefetchedSPS(0)); 628 #if VIDYO_VPS_INTEGRATION 629 m_apcSlicePilot->setVPS(m_parameterSetManagerDecoder.getPrefetchedVPS(0)); 630 #endif 615 631 m_apcSlicePilot->initTiles(); 616 632 … … 629 645 if( m_bFirstSliceInPicture ) 630 646 { 647 #if VIDYO_VPS_INTEGRATION 648 if( m_apcSlicePilot->getVPS()->getViewId(nalu.m_layerId) == 0 ) { m_nalUnitTypeBaseView = nalu.m_nalUnitType; } 649 else { m_nalUnitTypeBaseView = m_tAppDecTop->getTDecTop( 0, m_apcSlicePilot->getVPS()->getDepthFlag(nalu.m_layerId) )->getNalUnitTypeBaseView(); } 650 #else 631 651 if( nalu.m_viewId == 0 ) { m_nalUnitTypeBaseView = nalu.m_nalUnitType; } 632 652 else { m_nalUnitTypeBaseView = m_tAppDecTop->getTDecTop( 0, nalu.m_isDepth )->getNalUnitTypeBaseView(); } 653 #endif 654 633 655 m_apcSlicePilot->setNalUnitTypeBaseViewMvc( m_nalUnitTypeBaseView ); 634 656 } … … 929 951 930 952 // Set reference list 953 #if VIDYO_VPS_INTEGRATION 954 pcSlice->setViewId( pcSlice->getVPS()->getViewId(nalu.m_layerId) ); 955 pcSlice->setIsDepth( pcSlice->getVPS()->getDepthFlag(nalu.m_layerId) ); 956 #else 931 957 pcSlice->setViewId(m_viewId); 932 958 pcSlice->setIsDepth(m_isDepth); 959 #endif 933 960 934 961 #if SONY_COLPIC_AVAILABILITY 962 #if VIDYO_VPS_INTEGRATION 963 pcSlice->setViewOrderIdx( pcSlice->getVPS()->getViewOrderIdx(nalu.m_layerId) ); 964 #else 935 965 pcSlice->setViewOrderIdx( pcPic->getViewOrderIdx() ); 966 #endif 936 967 #endif 937 968 … … 1051 1082 } 1052 1083 1084 #if VIDYO_VPS_INTEGRATION 1085 Void TDecTop::xDecodeVPS() 1086 { 1087 TComVPS* vps = new TComVPS(); 1088 1089 m_cEntropyDecoder.decodeVPS( vps ); 1090 m_parameterSetManagerDecoder.storePrefetchedVPS(vps); 1091 getTAppDecTop()->getVPSAccess()->addVPS( vps ); 1092 } 1093 #endif 1053 1094 1054 1095 Void TDecTop::xDecodeSPS() … … 1114 1155 switch (nalu.m_nalUnitType) 1115 1156 { 1157 #if VIDYO_VPS_INTEGRATION 1158 case NAL_UNIT_VPS: 1159 xDecodeVPS(); 1160 return false; 1161 #endif 1116 1162 case NAL_UNIT_SPS: 1117 1163 xDecodeSPS();
Note: See TracChangeset for help on using the changeset viewer.