Changeset 42 in SHVCSoftware
- Timestamp:
- 21 Feb 2013, 00:01:40 (12 years ago)
- Location:
- branches/SHM-1.1-dev/source/Lib
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-1.1-dev/source/Lib/TLibCommon/TComSlice.cpp
r33 r42 2191 2191 } 2192 2192 #endif 2193 2194 #if SVC_EXTENSION && AVC_SYNTAX 2195 Void TComSlice::initBaseLayerRPL( TComSlice *pcSlice ) 2196 { 2197 // Assumed that RPL of the base layer is same to the EL, otherwise this information should be also dumped and read from the metadata file 2198 setPOC( pcSlice->getPOC() ); 2199 if( pcSlice->getNalUnitType() == NAL_UNIT_CODED_SLICE_CRA ) 2200 { 2201 setSliceType( I_SLICE ); 2202 } 2203 else 2204 { 2205 setSliceType( pcSlice->getSliceType() ); 2206 } 2207 2208 if( this->isIntra() ) 2209 { 2210 return; 2211 } 2212 2213 //initialize reference POC of BL 2214 for( Int iRefPicList = 0; iRefPicList < 2; iRefPicList++ ) 2215 { 2216 RefPicList eRefPicList = RefPicList( iRefPicList ); 2217 2218 assert( pcSlice->getNumRefIdx( eRefPicList) > 0 ); 2219 setNumRefIdx( eRefPicList, pcSlice->getNumRefIdx( eRefPicList ) - 1 ); 2220 assert( getNumRefIdx( eRefPicList) <= MAX_NUM_REF); 2221 2222 for(Int refIdx = 0; refIdx < getNumRefIdx( eRefPicList ); refIdx++) 2223 { 2224 setRefPOC( pcSlice->getRefPic( eRefPicList, refIdx )->getPOC(), eRefPicList, refIdx ); 2225 setRefPic( pcSlice->getRefPic( eRefPicList, refIdx ), eRefPicList, refIdx ); 2226 getRefPic( eRefPicList, refIdx )->setLayerId( 0 ); 2227 getRefPic( eRefPicList, refIdx )->setIsLongTerm( pcSlice->getRefPic( eRefPicList, refIdx )->getIsLongTerm() ); 2228 getRefPic( eRefPicList, refIdx )->setIsUsedAsLongTerm( pcSlice->getRefPic( eRefPicList, refIdx )->getIsUsedAsLongTerm() ); 2229 2230 } 2231 } 2232 return; 2233 } 2234 #endif 2235 2193 2236 //! \} -
branches/SHM-1.1-dev/source/Lib/TLibCommon/TComSlice.h
r28 r42 1454 1454 Void setFullPelBaseRec ( TComPicYuv* p) { m_pcFullPelBaseRec = p; } 1455 1455 TComPicYuv* getFullPelBaseRec () { return m_pcFullPelBaseRec; } 1456 1457 #if AVC_SYNTAX 1458 Void initBaseLayerRPL( TComSlice *pcSlice ); 1459 #endif 1456 1460 #endif 1457 1461 -
branches/SHM-1.1-dev/source/Lib/TLibCommon/TComUpsampleFilter.cpp
r28 r42 227 227 #endif 228 228 229 230 231 229 assert ( iEWidth == 2*iBWidth || 2*iEWidth == 3*iBWidth ); 232 230 assert ( iEHeight == 2*iBHeight || 2*iEHeight == 3*iBHeight ); -
branches/SHM-1.1-dev/source/Lib/TLibDecoder/TDecTop.cpp
r38 r42 561 561 if (m_bFirstSliceInPicture) 562 562 { 563 564 563 #if AVC_BASE 565 564 if( m_layerId == 1 ) … … 609 608 } 610 609 } 611 #if AVC_SYNTAX612 if( m_apcSlicePilot->getPOC() == 0 )613 {614 // initialize partition order.615 UInt* piTmp = &g_auiZscanToRaster[0];616 initZscanToRaster( pBLPic->getPicSym()->getMaxDepth() + 1, 1, 0, piTmp );617 initRasterToZscan( pBLPic->getPicSym()->getMaxCUWidth(), pBLPic->getPicSym()->getMaxCUHeight(), pBLPic->getPicSym()->getMaxDepth() + 1 );618 }619 pBLPic->getSlice( 0 )->setPOC( m_apcSlicePilot->getPOC() );620 pBLPic->getSlice( 0 )->setSliceType( m_apcSlicePilot->getSliceType() );621 pBLPic->readBLSyntax( m_ppcTDecTop[0]->getBLSyntaxFile(), SYNTAX_BYTES );622 #endif623 610 } 624 611 #endif … … 758 745 { 759 746 pcSlice->checkCRA(pcSlice->getRPS(), m_pocCRA, m_prevRAPisBLA, m_cListPic); 760 #if !REF_IDX_FRAMEWORK 747 #if !REF_IDX_FRAMEWORK || AVC_SYNTAX 761 748 // Set reference list 762 749 pcSlice->setRefPicList( m_cListPic ); … … 768 755 #if AVC_BASE 769 756 pcSlice->setBaseColPic ( *m_ppcTDecTop[0]->getListPic()->begin() ); 757 #if AVC_SYNTAX 758 TComPic* pBLPic = pcSlice->getBaseColPic(); 759 if( pcSlice->getPOC() == 0 ) 760 { 761 // initialize partition order. 762 UInt* piTmp = &g_auiZscanToRaster[0]; 763 initZscanToRaster( pBLPic->getPicSym()->getMaxDepth() + 1, 1, 0, piTmp ); 764 initRasterToZscan( pBLPic->getPicSym()->getMaxCUWidth(), pBLPic->getPicSym()->getMaxCUHeight(), pBLPic->getPicSym()->getMaxDepth() + 1 ); 765 } 766 pBLPic->getSlice( 0 )->initBaseLayerRPL( pcSlice ); 767 pBLPic->readBLSyntax( m_ppcTDecTop[0]->getBLSyntaxFile(), SYNTAX_BYTES ); 768 #endif 769 770 770 #else 771 771 TDecTop *pcTDecTop = (TDecTop *)getLayerDec( m_layerId-1 ); … … 788 788 789 789 #if REF_IDX_FRAMEWORK 790 #if !AVC_SYNTAX 790 791 // Set reference list 791 792 pcSlice->setRefPicList( m_cListPic ); 793 #endif 792 794 if(m_layerId > 0) 793 795 {
Note: See TracChangeset for help on using the changeset viewer.