Changeset 494 in SHVCSoftware for trunk/source/App/TAppDecoder


Ignore:
Timestamp:
16 Nov 2013, 22:09:25 (11 years ago)
Author:
seregin
Message:

reintegrate branch SHM-4.0-dev

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/source

  • trunk/source/App/TAppDecoder/TAppDecTop.cpp

    r442 r494  
    22 * License, included below. This software may be subject to other third party
    33 * and contributor rights, including patent rights, and no such rights are
    4  * granted under this license. 
     4 * granted under this license.
    55 *
    66 * Copyright (c) 2010-2013, ITU/ISO/IEC
     
    8080    m_pchBitstreamFile = NULL;
    8181  }
    82 #if SVC_EXTENSION   
     82#if SVC_EXTENSION
    8383  for( Int i = 0; i < m_tgtLayerId; i++ )
    8484  {
     
    8888      m_pchReconFile[i] = NULL;
    8989    }
    90   } 
     90  }
    9191#if AVC_BASE
    9292  if( m_pchBLReconFile )
     
    225225    if (bNewPicture || !bitstreamFile)
    226226    {
     227#if O0194_DIFFERENT_BITDEPTH_EL_BL
     228      //Bug fix: The bit depth was not set correctly for each layer when doing DBF
     229      g_bitDepthY = g_bitDepthYLayer[curLayerId];
     230      g_bitDepthC = g_bitDepthCLayer[curLayerId];
     231#endif
    227232      m_acTDecTop[curLayerId].executeLoopFilters(poc, pcListPic);
    228233#if EARLY_REF_PIC_MARKING
     
    235240      if ( m_pchReconFile[curLayerId] && !openedReconFile[curLayerId] )
    236241      {
    237         if (!m_outputBitDepthY) { m_outputBitDepthY = g_bitDepthY; }       
     242        if (!m_outputBitDepthY) { m_outputBitDepthY = g_bitDepthY; }
    238243        if (!m_outputBitDepthC) { m_outputBitDepthC = g_bitDepthC; }
    239244
     
    242247        openedReconFile[curLayerId] = true;
    243248      }
    244       if ( bNewPicture && bNewPOC && 
     249      if ( bNewPicture && bNewPOC &&
    245250           (   nalu.m_nalUnitType == NAL_UNIT_CODED_SLICE_IDR_W_RADL
    246251            || nalu.m_nalUnitType == NAL_UNIT_CODED_SLICE_IDR_N_LP
     
    276281  }
    277282#endif
    278   pcBLPic.destroy(); 
     283  pcBLPic.destroy();
    279284
    280285  for(UInt layer = layerIdmin; layer <= m_tgtLayerId; layer++)
     
    285290    m_acTDecTop[layer].deletePicBuffer();
    286291  }
    287  
     292
    288293  // destroy internal classes
    289294  xDestroyDecLib();
     
    394399        openedReconFile = true;
    395400      }
    396       if ( bNewPicture && 
     401      if ( bNewPicture &&
    397402           (   nalu.m_nalUnitType == NAL_UNIT_CODED_SLICE_IDR_W_RADL
    398403            || nalu.m_nalUnitType == NAL_UNIT_CODED_SLICE_IDR_N_LP
     
    410415    }
    411416  }
    412  
     417
    413418#if SYNTAX_OUTPUT
    414419  if( streamSyntaxFile.is_open() )
     
    417422  }
    418423#endif
    419  
     424
    420425  xFlushOutput( pcListPic );
    421426  // delete buffers
    422427  m_cTDecTop.deletePicBuffer();
    423  
     428
    424429  // destroy internal classes
    425430  xDestroyDecLib();
     
    435440#if SVC_EXTENSION
    436441  // initialize global variables
    437   initROM(); 
     442  initROM();
    438443
    439444  for(UInt layer = 0; layer <= m_tgtLayerId; layer++)
     
    445450    m_acTDecTop[layer].create();
    446451
    447     m_acTDecTop[layer].setLayerDec(m_apcTDecTop);   
     452    m_acTDecTop[layer].setLayerDec(m_apcTDecTop);
    448453  }
    449454#else
     
    474479    m_cTVideoIOYuvReconFile. close();
    475480  }
    476  
     481
    477482  // destroy decoder class
    478483  m_cTDecTop.destroy();
     
    566571
    567572#else
     573#if O0194_DIFFERENT_BITDEPTH_EL_BL
     574          // Compile time bug-fix
     575          m_acTVideoIOYuvReconFile[layerId].write( pcPicTop->getPicYuvRec(), pcPicBottom->getPicYuvRec(),
     576#else
    568577          m_cTVideoIOYuvReconFile.write( pcPicTop->getPicYuvRec(), pcPicBottom->getPicYuvRec(),
     578#endif
    569579            conf.getWindowLeftOffset() + defDisp.getWindowLeftOffset(),
    570580            conf.getWindowRightOffset() + defDisp.getWindowRightOffset(),
     
    723733  {
    724734    return;
    725   } 
     735  }
    726736  TComList<TComPic*>::iterator iterPic   = pcListPic->begin();
    727737
     
    759769
    760770#else
     771#if O0194_DIFFERENT_BITDEPTH_EL_BL
     772          // Compile time bug-fix
     773          m_acTVideoIOYuvReconFile[layerId].write( pcPicTop->getPicYuvRec(), pcPicBottom->getPicYuvRec(),
     774#else
    761775          m_cTVideoIOYuvReconFile[layerId].write( pcPicTop->getPicYuvRec(), pcPicBottom->getPicYuvRec(),
     776#endif
    762777            conf.getWindowLeftOffset() + defDisp.getWindowLeftOffset(),
    763778            conf.getWindowRightOffset() + defDisp.getWindowRightOffset(),
     
    913928        pcPic = NULL;
    914929      }
    915 #endif   
     930#endif
    916931#endif
    917932      iterPic++;
Note: See TracChangeset for help on using the changeset viewer.