Ignore:
Timestamp:
3 Jun 2013, 20:08:00 (12 years ago)
Author:
seregin
Message:

initial multilayer reference implementation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-2.1-multilayers-dev/source/Lib/TLibCommon/TComPic.cpp

    r191 r253  
    6767, m_pNDBFilterYuvTmp                      (NULL)
    6868, m_bCheckLTMSB                           (false)
     69{
    6970#if SVC_EXTENSION
    70 , m_bSpatialEnhLayer( false )
    71 , m_pcFullPelBaseRec( NULL )
    72 #endif
    73 {
     71  memset( m_pcFullPelBaseRec, NULL, sizeof( m_pcFullPelBaseRec ) );
     72  memset( m_bSpatialEnhLayer, false, sizeof( m_bSpatialEnhLayer ) );
     73#endif
    7474  m_apcPicYuv[0]      = NULL;
    7575  m_apcPicYuv[1]      = NULL;
     
    9191  m_apcPicYuv[1]  = new TComPicYuv;  m_apcPicYuv[1]->create( iWidth, iHeight, uiMaxWidth, uiMaxHeight, uiMaxDepth, pcSps );
    9292
    93   if (m_bSpatialEnhLayer)
    94   {
    95     m_pcFullPelBaseRec = new TComPicYuv;  m_pcFullPelBaseRec->create( iWidth, iHeight, uiMaxWidth, uiMaxHeight, uiMaxDepth, pcSps );
     93  for( Int i = 0; i < MAX_LAYERS; i++ )
     94  {
     95    if( m_bSpatialEnhLayer[i] )
     96    {
     97      m_pcFullPelBaseRec[i] = new TComPicYuv;  m_pcFullPelBaseRec[i]->create( iWidth, iHeight, uiMaxWidth, uiMaxHeight, uiMaxDepth, pcSps );
     98    }
    9699  }
    97100
     
    173176  deleteSEIs(m_SEIs);
    174177#if SVC_EXTENSION && SVC_UPSAMPLING
    175   if (m_bSpatialEnhLayer)
    176   {
    177     m_pcFullPelBaseRec->destroy();
    178     delete m_pcFullPelBaseRec;
    179     m_pcFullPelBaseRec  = NULL;
     178  for( Int i = 0; i < MAX_LAYERS; i++ )
     179  {
     180    if( m_bSpatialEnhLayer[i] )
     181    {
     182      m_pcFullPelBaseRec[i]->destroy();
     183      delete m_pcFullPelBaseRec[i];
     184      m_pcFullPelBaseRec[i]  = NULL;
     185    }
    180186  }
    181187#endif
     
    564570Void TComPic::copyUpsampledMvField(TComPic* pcPicBase)
    565571{
     572  UInt refLayerIdc = pcPicBase->getLayerId();
    566573#if AVC_SYNTAX && !ILP_DECODED_PICTURE
    567574  const Window &confBL = pcPicBase->getConformanceWindow();
     
    592599
    593600      TComDataCU *pcColCU = 0;
    594       pcColCU = pcCUDes->getBaseColCU(pelX + 8, pelY + 8, baseCUAddr, baseAbsPartIdx);
     601      pcColCU = pcCUDes->getBaseColCU(refLayerIdc, pelX + 8, pelY + 8, baseCUAddr, baseAbsPartIdx);
    595602
    596603#if AVC_SYNTAX && !ILP_DECODED_PICTURE
Note: See TracChangeset for help on using the changeset viewer.