Changeset 845 in SHVCSoftware for branches/SHM-dev/source/App/TAppDecoder


Ignore:
Timestamp:
28 Jul 2014, 21:49:13 (10 years ago)
Author:
qualcomm
Message:

Bug-fix in DPB operation for decoding single layer bitstream.

From: Adarsh K. Ramasubramonian <aramasub@…>

Location:
branches/SHM-dev/source/App/TAppDecoder
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-dev/source/App/TAppDecoder/TAppDecTop.cpp

    r842 r845  
    11601160    pic->getPicYuvRec()->setBorderExtension( false );
    11611161
     1162#if RESOLUTION_BASED_DPB
    11621163    dpbStatus.m_numPicsInLayer[layerIdx]--;
     1164#endif
     1165    dpbStatus.m_numPicsInSubDpb[layerIdx]--;
    11631166  }
    11641167}
     
    13931396      maxDpbLimit.m_maxLatencyPictures = sps->getMaxLatencyIncrease( highestTId ) + sps->getNumReorderPics( highestTId ) - 1;
    13941397    }
     1398#if RESOLUTION_BASED_DPB
    13951399    maxDpbLimit.m_numPicsInLayer[0] = sps->getMaxDecPicBuffering( highestTId );
     1400#endif
    13961401    maxDpbLimit.m_numPicsInSubDpb[0] = sps->getMaxDecPicBuffering( highestTId );
    13971402  }
     
    15411546          if( pic->getSlice(0)->isReferenced() || pic->getOutputMark() )
    15421547          {
     1548#if RESOLUTION_BASED_DPB
    15431549            dpbStatus.m_numPicsInLayer[i]++;  // Count pictures that are "used for reference" or "needed for output"
     1550#else
     1551            dpbStatus.m_numPicsInSubDpb[i]++;  // Count pictures that are "used for reference" or "needed for output"
     1552#endif
    15441553          }
    15451554#if POC_RESET_IDC_DECODER
     
    15661575#if RESOLUTION_BASED_DPB
    15671576    dpbStatus.m_numPicsInSubDpb[vps->getSubDpbAssigned(targetLsIdx,i)] += dpbStatus.m_numPicsInLayer[i];
    1568 #else
    15691577    dpbStatus.m_numPicsInSubDpb[i] += dpbStatus.m_numPicsInLayer[i];
    15701578#endif
  • branches/SHM-dev/source/App/TAppDecoder/TAppDecTop.h

    r815 r845  
    135135  Int m_numAUsNotDisplayed;
    136136  Int m_numPicsNotDisplayedInLayer[MAX_LAYERS];
     137#if RESOLUTION_BASED_DPB
    137138  Int m_numPicsInLayer[MAX_LAYERS];   // Pictures marked as used_for_reference or needed for output in the layer
     139#endif
    138140  Int m_numPicsInSubDpb[MAX_LAYERS];  // Pictures marked as used_for_reference or needed for output in the sub-DPB
    139141  Bool m_maxLatencyIncrease;
     
    152154    m_maxLatencyIncrease  = false;
    153155    m_maxLatencyPictures  = 0;
     156#if RESOLUTION_BASED_DPB
    154157    ::memset( m_numPicsInLayer,  0, sizeof(m_numPicsInLayer)  );
     158#endif
    155159    ::memset( m_numPicsInSubDpb, 0, sizeof(m_numPicsInSubDpb) );
    156160    ::memset(m_numPicsNotDisplayedInLayer, 0, sizeof(m_numPicsNotDisplayedInLayer) );
Note: See TracChangeset for help on using the changeset viewer.