Changeset 532 in SHVCSoftware for branches/SHM-4.1-dev/source/App/TAppDecoder/TAppDecTop.cpp
- Timestamp:
- 2 Jan 2014, 07:21:30 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-4.1-dev/source/App/TAppDecoder/TAppDecTop.cpp
r531 r532 145 145 // main decoder loop 146 146 Bool openedReconFile[MAX_LAYERS]; // reconstruction file not yet opened. (must be performed after SPS is seen) 147 Bool loopFiltered[MAX_LAYERS]; 148 memset( loopFiltered, false, sizeof( loopFiltered ) ); 149 147 150 for(UInt layer=0; layer<=m_tgtLayerId; layer++) 148 151 { … … 223 226 } 224 227 } 225 if (bNewPicture || !bitstreamFile) 228 229 if (bNewPicture || !bitstreamFile || nalu.m_nalUnitType == NAL_UNIT_EOS) 226 230 { 227 231 #if O0194_DIFFERENT_BITDEPTH_EL_BL … … 230 234 g_bitDepthC = g_bitDepthCLayer[curLayerId]; 231 235 #endif 232 m_acTDecTop[curLayerId].executeLoopFilters(poc, pcListPic); 236 if (!loopFiltered[curLayerId] || bitstreamFile) 237 { 238 m_acTDecTop[curLayerId].executeLoopFilters(poc, pcListPic); 239 } 240 loopFiltered[curLayerId] = (nalu.m_nalUnitType == NAL_UNIT_EOS); 233 241 #if EARLY_REF_PIC_MARKING 234 242 m_acTDecTop[curLayerId].earlyPicMarking(m_iMaxTemporalLayer, m_targetDecLayerIdSet); … … 256 264 xFlushOutput( pcListPic, curLayerId ); 257 265 } 266 if (nalu.m_nalUnitType == NAL_UNIT_EOS) 267 { 268 xFlushOutput( pcListPic, curLayerId ); 269 } 258 270 // write reconstruction to file 259 271 if(bNewPicture) … … 316 328 // main decoder loop 317 329 Bool openedReconFile = false; // reconstruction file not yet opened. (must be performed after SPS is seen) 330 Bool loopFiltered = false; 318 331 319 332 #if SYNTAX_OUTPUT … … 384 397 } 385 398 } 386 if (bNewPicture || !bitstreamFile) 387 { 388 m_cTDecTop.executeLoopFilters(poc, pcListPic); 399 if (bNewPicture || !bitstreamFile || nalu.m_nalUnitType == NAL_UNIT_EOS) 400 { 401 if (!loopFiltered || bitstreamFile) 402 { 403 m_cTDecTop.executeLoopFilters(poc, pcListPic); 404 } 405 loopFiltered = (nalu.m_nalUnitType == NAL_UNIT_EOS); 389 406 } 390 407 … … 408 425 xFlushOutput( pcListPic ); 409 426 } 427 if (nalu.m_nalUnitType == NAL_UNIT_EOS) 428 { 429 xFlushOutput( pcListPic ); 430 } 410 431 // write reconstruction to file 411 432 if(bNewPicture) … … 506 527 507 528 /** \param pcListPic list of pictures to be written to file 508 \todo DYN_REF_FREE should be revised509 */529 \todo DYN_REF_FREE should be revised 530 */ 510 531 #if SVC_EXTENSION 511 532 Void TAppDecTop::xWriteOutput( TComList<TComPic*>* pcListPic, UInt layerId, UInt tId )
Note: See TracChangeset for help on using the changeset viewer.