Ignore:
Timestamp:
11 Dec 2015, 00:05:48 (8 years ago)
Author:
seregin
Message:

infer parameters in SPS after activation, fixing chroma scaling for non 4:2:0

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-dev/source/Lib/TLibDecoder/TDecCu.cpp

    r1483 r1502  
    219219  UInt uiBPelY   = uiTPelY + (maxCuHeight>>uiDepth) - 1;
    220220
    221 #if SVC_EXTENSION
    222   TComSlice * pcSlice = pcPic->getSlice(pcPic->getCurrSliceIdx());
    223 
    224   if( ( uiRPelX < pcSlice->getPicWidthInLumaSamples() ) && ( uiBPelY < pcSlice->getPicHeightInLumaSamples() ) )
    225 #else
    226221  if( ( uiRPelX < sps.getPicWidthInLumaSamples() ) && ( uiBPelY < sps.getPicHeightInLumaSamples() ) )
    227 #endif
    228222  {
    229223    m_pcEntropyDecoder->decodeSplitFlag( pcCU, uiAbsPartIdx, uiDepth );
     
    252246      uiTPelY   = pcCU->getCUPelY() + g_auiRasterToPelY[ g_auiZscanToRaster[uiIdx] ];
    253247
    254 #if SVC_EXTENSION
    255       if ( !isLastCtuOfSliceSegment && ( uiLPelX < pcCU->getSlice()->getPicWidthInLumaSamples() ) && ( uiTPelY < pcCU->getSlice()->getPicHeightInLumaSamples() ) )
    256 #else
    257248      if ( !isLastCtuOfSliceSegment && ( uiLPelX < sps.getPicWidthInLumaSamples() ) && ( uiTPelY < sps.getPicHeightInLumaSamples() ) )
    258 #endif
    259249      {
    260250        xDecodeCU( pcCU, uiIdx, uiDepth+1, isLastCtuOfSliceSegment );
     
    404394  UInt uiBPelY   = uiTPelY + (sps.getMaxCUHeight()>>uiDepth) - 1;
    405395
    406 #if SVC_EXTENSION
    407   if( ( uiRPelX >= pcSlice->getPicWidthInLumaSamples() ) || ( uiBPelY >= pcSlice->getPicHeightInLumaSamples() ) )
    408 #else
    409396  if( ( uiRPelX >= sps.getPicWidthInLumaSamples() ) || ( uiBPelY >= sps.getPicHeightInLumaSamples() ) )
    410 #endif
    411397  {
    412398    bBoundary = true;
     
    423409      uiTPelY = pCtu->getCUPelY() + g_auiRasterToPelY[ g_auiZscanToRaster[uiIdx] ];
    424410
    425 #if SVC_EXTENSION
    426       if( ( uiLPelX < pcSlice->getPicWidthInLumaSamples() ) && ( uiTPelY < pcSlice->getPicHeightInLumaSamples() ) )
    427 #else
    428411      if( ( uiLPelX < sps.getPicWidthInLumaSamples() ) && ( uiTPelY < sps.getPicHeightInLumaSamples() ) )
    429 #endif
    430412      {
    431413        xDecompressCU(pCtu, uiIdx, uiNextDepth );
     
    501483  if  ( pcCU->getQtRootCbf( 0) )
    502484  {
    503 #if SVC_EXTENSION
    504     m_ppcYuvReco[uiDepth]->addClip( m_ppcYuvReco[uiDepth], m_ppcYuvResi[uiDepth], 0, pcCU->getWidth( 0 ), pcCU->getSlice()->getBitDepths() );
    505 #else
    506485    m_ppcYuvReco[uiDepth]->addClip( m_ppcYuvReco[uiDepth], m_ppcYuvResi[uiDepth], 0, pcCU->getWidth( 0 ), pcCU->getSlice()->getSPS()->getBitDepths() );
    507 #endif
    508486  }
    509487  else
     
    647625#endif
    648626
    649 #if SVC_EXTENSION
    650   const Int clipbd = pcCU->getSlice()->getBitDepth(toChannelType(compID));
    651 #else
    652627  const Int clipbd = sps.getBitDepth(toChannelType(compID));
    653 #endif
    654628#if O0043_BEST_EFFORT_DECODING
    655629  const Int bitDepthDelta = sps.getStreamBitDepth(toChannelType(compID)) - clipbd;
     
    834808        Pel* piPicReco         = pcCU->getPic()->getPicYuvRec()->getAddr(compID, pcCU->getCtuRsAddr(), pcCU->getZorderIdxInCtu()+uiPartIdx);
    835809  const UInt uiPicStride       = pcCU->getPic()->getPicYuvRec()->getStride(compID);
    836 #if SVC_EXTENSION
    837   const UInt uiPcmLeftShiftBit = pcCU->getSlice()->getBitDepth(toChannelType(compID)) - pcCU->getSlice()->getSPS()->getPCMBitDepth(toChannelType(compID));
    838 #else
    839810  const TComSPS &sps           = *(pcCU->getSlice()->getSPS());
    840811  const UInt uiPcmLeftShiftBit = sps.getBitDepth(toChannelType(compID)) - sps.getPCMBitDepth(toChannelType(compID));
    841 #endif
    842812
    843813  for(UInt uiY = 0; uiY < uiHeight; uiY++ )
Note: See TracChangeset for help on using the changeset viewer.