Changeset 1210 in SHVCSoftware for branches/SHM-dev/source/App/TAppDecoder
- Timestamp:
- 8 Jul 2015, 22:47:39 (9 years ago)
- Location:
- branches/SHM-dev/source/App/TAppDecoder
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/App/TAppDecoder/TAppDecTop.cpp
r1203 r1210 245 245 { 246 246 bNewPicture = m_acTDecTop[nalu.m_layerId].decode(nalu, m_iSkipFrame, m_aiPOCLastDisplay[nalu.m_layerId], curLayerId, bNewPOC); 247 #if POC_RESET_IDC_DECODER 248 if ( (bNewPicture && m_acTDecTop[nalu.m_layerId].getParseIdc() == 3) || (m_acTDecTop[nalu.m_layerId].getParseIdc() == 0) ) 247 248 #if SVC_POC 249 if( (bNewPicture && m_acTDecTop[nalu.m_layerId].getParseIdc() == 3) || (m_acTDecTop[nalu.m_layerId].getParseIdc() == 0) ) 249 250 #else 250 251 if (bNewPicture) … … 265 266 #endif 266 267 } 267 #if POC_RESET_IDC_DECODER268 #if SVC_POC 268 269 else if(m_acTDecTop[nalu.m_layerId].getParseIdc() == 1) 269 270 { … … 281 282 } 282 283 283 #if POC_RESET_IDC_DECODER284 if 284 #if SVC_POC 285 if( ( (bNewPicture && m_acTDecTop[nalu.m_layerId].getParseIdc() == 3) || m_acTDecTop[nalu.m_layerId].getParseIdc() == 0 || !bitstreamFile || nalu.m_nalUnitType == NAL_UNIT_EOS ) && 285 286 !m_acTDecTop[nalu.m_layerId].getFirstSliceInSequence() ) 286 287 #else … … 310 311 } 311 312 312 #if POC_RESET_IDC_DECODER313 #if SVC_POC 313 314 if( bNewPicture && m_acTDecTop[nalu.m_layerId].getParseIdc() == 0 ) 314 315 { … … 342 343 } 343 344 344 #if POC_RESET_IDC_DECODER345 #if SVC_POC 345 346 if( bNewPicture && m_acTDecTop[nalu.m_layerId].getParseIdc() != 0 ) 346 347 // New picture, slice header parsed but picture not decoded … … 1401 1402 1402 1403 // Find the status of the DPB 1403 #if POC_RESET_IDC_DECODER1404 #if SVC_POC 1404 1405 xFindDPBStatus(listOfPocs, listOfPocsInEachLayer, listOfPocsPositionInEachLayer, dpbStatus, false); 1405 1406 #else … … 1786 1787 , std::vector<Int> *listOfPocsPositionInEachLayer 1787 1788 , DpbStatus &dpbStatus 1788 #if POC_RESET_IDC_DECODER1789 1789 , Bool notOutputCurrAu 1790 #endif1791 1790 ) 1792 1791 { … … 1817 1816 vps = pic->getSlice(0)->getVPS(); 1818 1817 } 1819 #if POC_RESET_IDC_DECODER 1818 1820 1819 if( !(pic->isCurrAu() && notOutputCurrAu ) ) 1821 1820 { 1822 #endif1823 1821 std::vector<Int>::iterator it; 1824 1822 if( pic->getOutputMark() ) // && pic->getPOC() > m_aiPOCLastDisplay[i]) 1825 1823 { 1826 1824 it = find( listOfPocs.begin(), listOfPocs.end(), pic->getPOC() ); // Check if already included 1825 1827 1826 if( it == listOfPocs.end() ) // New POC value - i.e. new AU - add to the list 1828 1827 { … … 1832 1831 listOfPocsPositionInEachLayer [i].push_back( picPositionInList ); // For ease of access 1833 1832 } 1833 1834 1834 if( pic->getSlice(0)->isReferenced() || pic->getOutputMark() ) 1835 1835 { 1836 1836 dpbStatus.m_numPicsInSubDpb[i]++; // Count pictures that are "used for reference" or "needed for output" 1837 1837 } 1838 #if POC_RESET_IDC_DECODER 1839 } 1840 #endif 1841 } 1838 } 1839 } 1840 1842 1841 iterPic++; 1843 1842 picPositionInList++; … … 1874 1873 } 1875 1874 1876 #if POC_RESET_IDC_DECODER1877 1875 Void TAppDecTop::outputAllPictures(Int layerId, Bool notOutputCurrPic) 1878 1876 { … … 1900 1898 } 1901 1899 } 1902 #endif1903 1900 #endif 1904 1901 -
branches/SHM-dev/source/App/TAppDecoder/TAppDecTop.h
r1100 r1210 111 111 112 112 Void xOutputAndMarkPic( TComPic *pic, const Char *reconFile, const Int layerId, Int &pocLastDisplay, DpbStatus &dpbStatus); 113 #if POC_RESET_IDC_DECODER114 113 Void outputAllPictures(Int layerId, Bool notOutputCurrAu); 115 #endif116 114 Void xFindDPBStatus( std::vector<Int> &listOfPocs 117 115 , std::vector<Int> *listOfPocsInEachLayer 118 116 , std::vector<Int> *listOfPocsPositionInEachLayer 119 117 , DpbStatus &dpbStatus 120 #if POC_RESET_IDC_DECODER121 118 , Bool notOutputCurrAu = true 122 #endif123 119 ); 124 120
Note: See TracChangeset for help on using the changeset viewer.