Changeset 71 in 3DVCSoftware for branches/HTM-3.0-Vidyo/source/App/TAppDecoder


Ignore:
Timestamp:
5 Jun 2012, 04:47:14 (13 years ago)
Author:
vidyo
Message:

additional changes to make decoder use VPS parameters

Location:
branches/HTM-3.0-Vidyo/source/App/TAppDecoder
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-3.0-Vidyo/source/App/TAppDecoder/TAppDecTop.cpp

    r70 r71  
    8282Void TAppDecTop::decode()
    8383{
     84#if VIDYO_VPS_INTEGRATION
     85  increaseNumberOfViews( 0, 0, 0 );
     86#else
    8487  increaseNumberOfViews( 1 );
     88#endif
     89 
    8590#if SONY_COLPIC_AVAILABILITY
    8691  m_tDecTop[0]->setViewOrderIdx(0);
     
    141146      read(nalu, nalUnit);
    142147#if VIDYO_VPS_INTEGRATION
     148      Int viewId = 0;
     149      Int depth = 0;
     150     
     151      if(nalu.m_nalUnitType != NAL_UNIT_VPS || nalu.m_layerId)
     152      {
     153        // code assumes that the first nal unit is VPS
     154        // currently, this is a hack that requires non-first VPSs have non-zero layer_id
     155        viewId = getVPSAccess()->getActiveVPS()->getViewId(nalu.m_layerId);
     156        depth = getVPSAccess()->getActiveVPS()->getDepthFlag(nalu.m_layerId);
     157      }
    143158      viewDepthId = nalu.m_layerId;   // coding order T0D0T1D1T2D2
    144159#else
     
    151166      if( viewDepthId >= m_tDecTop.size() )     
    152167      {
     168#if VIDYO_VPS_INTEGRATION
     169        increaseNumberOfViews( viewDepthId, viewId, depth );
     170#else
    153171        increaseNumberOfViews( viewDepthId +1 );
     172#endif   
    154173      }
    155174      if(m_iMaxTemporalLayer >= 0 && nalu.m_temporalId > m_iMaxTemporalLayer)
     
    397416  m_pocLastDisplay[viewDepthId] = -MAX_INT;
    398417}
    399 
     418#if VIDYO_VPS_INTEGRATION
     419Void  TAppDecTop::increaseNumberOfViews  ( UInt layerId, UInt viewId, UInt isDepth )
     420#else
    400421Void  TAppDecTop::increaseNumberOfViews  ( Int newNumberOfViewDepth )
    401 {
     422#endif
     423{
     424#if VIDYO_VPS_INTEGRATION
     425  Int newNumberOfViewDepth = layerId + 1;
     426#endif
    402427  if ( m_outputBitDepth == 0 )
    403428  {
    404429    m_outputBitDepth = g_uiBitDepth + g_uiBitIncrement;
    405430  }
     431#if !VIDYO_VPS_INTEGRATION
    406432  Int viewId = (newNumberOfViewDepth-1)>>1;   // coding order T0D0T1D1T2D2
    407433  Bool isDepth = ((newNumberOfViewDepth % 2) == 0);  // coding order T0D0T1D1T2D2
     434#endif
    408435  if( isDepth )
    409436    m_useDepth = true;
  • branches/HTM-3.0-Vidyo/source/App/TAppDecoder/TAppDecTop.h

    r56 r71  
    7474  CamParsCollector                m_cCamParsCollector;
    7575#if DEPTH_MAP_GENERATION
     76#if VIDYO_VPS_INTEGRATION
     77  TComVPSAccess                   m_cVPSAccess;
     78#endif
    7679  TComSPSAccess                   m_cSPSAccess;
    7780  TComAUPicAccess                 m_cAUPicAccess;
     
    8588  Void  destroy           (); ///< destroy internal members
    8689  Void  decode            (); ///< main decoding function
     90#if VIDYO_VPS_INTEGRATION
     91  Void  increaseNumberOfViews   (UInt layerId, UInt viewId, UInt isDepth);
     92#else
    8793  Void  increaseNumberOfViews   (Int newNumberOfViewDepth);
     94#endif
    8895  TDecTop* getTDecTop     ( Int viewId, Bool isDepth );
    8996
     
    9299
    93100#if DEPTH_MAP_GENERATION
     101#if VIDYO_VPS_INTEGRATION
     102  TComVPSAccess*    getVPSAccess  () { return &m_cVPSAccess;   }
     103#endif
    94104  TComSPSAccess*    getSPSAccess  () { return &m_cSPSAccess;   }
    95105  TComAUPicAccess*  getAUPicAccess() { return &m_cAUPicAccess; }
Note: See TracChangeset for help on using the changeset viewer.