Changeset 533 in SHVCSoftware for branches/SHM-4.1-dev/source


Ignore:
Timestamp:
2 Jan 2014, 07:28:26 (11 years ago)
Author:
seregin
Message:

fix xGetRefPic in case there is no picture with requested POC in the list

Location:
branches/SHM-4.1-dev/source/Lib
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-4.1-dev/source/Lib/TLibCommon/TComSlice.cpp

    r532 r533  
    277277    }
    278278    iterPic++;
     279#if SVC_EXTENSION
     280    // return NULL, if picture with requested POC is not in the list, otherwise iterator goes outside of the list
     281    if( iterPic == rcListPic.end() )
     282    {
     283      return NULL;
     284    }
     285#endif
    279286    pcPic = *(iterPic);
    280287  }
     
    32373244  {
    32383245    memset( m_pcBaseColPic, 0, sizeof( m_pcBaseColPic ) );
    3239     return;
     3246    return false;
    32403247  }       
    32413248#if POC_RESET_FLAG
  • branches/SHM-4.1-dev/source/Lib/TLibCommon/TComSlice.h

    r532 r533  
    21132113
    21142114#if SVC_EXTENSION
    2115   Void      setBaseColPic       ( TComList<TComPic*>& rcListPic , UInt refLayerIdc );
     2115  Bool      setBaseColPic       ( TComList<TComPic*>& rcListPic , UInt refLayerIdc );
    21162116  Void      setBaseColPic       (UInt refLayerIdc, TComPic* p)     { m_pcBaseColPic[refLayerIdc] = p; }
    21172117  TComPic*  getBaseColPic       (UInt refLayerIdc)                { return m_pcBaseColPic[refLayerIdc]; }
  • branches/SHM-4.1-dev/source/Lib/TLibDecoder/TDecTop.cpp

    r532 r533  
    13091309#if AVC_BASE
    13101310        if( pcSlice->getVPS()->getRefLayerId( m_layerId, refLayerIdc ) == 0 && m_parameterSetManagerDecoder.getActiveVPS()->getAvcBaseLayerFlag() )
    1311         {
    1312           pcSlice->setBaseColPic ( refLayerIdc, *m_ppcTDecTop[0]->getListPic()->begin() );
     1311        {         
     1312          TComPic* pic = *m_ppcTDecTop[0]->getListPic()->begin();
     1313
     1314          if( pic )
     1315          {
     1316            pcSlice->setBaseColPic ( refLayerIdc, pic );
     1317          }
     1318          else
     1319          {
     1320            continue;
     1321          }
    13131322#if AVC_SYNTAX
    13141323          TComPic* pBLPic = pcSlice->getBaseColPic(refLayerIdc);
     
    13321341#endif
    13331342          TComList<TComPic*> *cListPic = pcTDecTop->getListPic();
    1334           pcSlice->setBaseColPic ( *cListPic, refLayerIdc );
     1343          if( !pcSlice->setBaseColPic ( *cListPic, refLayerIdc ) )
     1344          {
     1345            continue;
     1346          }
    13351347        }
    13361348#else
Note: See TracChangeset for help on using the changeset viewer.