Changeset 77 in 3DVCSoftware for trunk/source/App/TAppDecoder


Ignore:
Timestamp:
14 Jun 2012, 16:38:29 (13 years ago)
Author:
tech
Message:

Merged with branch/HTM-3.0Samsung REV74 including:

  • restricted residual prediction m24766
  • Inter-view residual prediction m24938
  • VPS concept m24714,m24878, m24945,m24896, m2491
  • reference list modification, restriction on IDR m24876, m24874
  • depth based motion parameter prediction m24829

Fixed bugs:

  • interview prediction
  • VSO

Added:

  • xcode project
Location:
trunk/source/App/TAppDecoder
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/App/TAppDecoder/TAppDecTop.cpp

    r57 r77  
    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);
     
    140145    {
    141146      read(nalu, nalUnit);
     147#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      }
     158      viewDepthId = nalu.m_layerId;   // coding order T0D0T1D1T2D2
     159#else
    142160      Int viewId = nalu.m_viewId;
    143161      Int depth = nalu.m_isDepth ? 1 : 0;
    144162      viewDepthId = viewId * 2 + depth;   // coding order T0D0T1D1T2D2
     163#endif
     164     
    145165      newPicture[viewDepthId] = false;
    146166      if( viewDepthId >= m_tDecTop.size() )     
    147167      {
     168#if VIDYO_VPS_INTEGRATION
     169        increaseNumberOfViews( viewDepthId, viewId, depth );
     170#else
    148171        increaseNumberOfViews( viewDepthId +1 );
     172#endif   
    149173      }
    150174      if(m_iMaxTemporalLayer >= 0 && nalu.m_temporalId > m_iMaxTemporalLayer)
     
    392416  m_pocLastDisplay[viewDepthId] = -MAX_INT;
    393417}
    394 
     418#if VIDYO_VPS_INTEGRATION
     419Void  TAppDecTop::increaseNumberOfViews  ( UInt layerId, UInt viewId, UInt isDepth )
     420#else
    395421Void  TAppDecTop::increaseNumberOfViews  ( Int newNumberOfViewDepth )
    396 {
     422#endif
     423{
     424#if VIDYO_VPS_INTEGRATION
     425  Int newNumberOfViewDepth = layerId + 1;
     426#endif
    397427  if ( m_outputBitDepth == 0 )
    398428  {
    399429    m_outputBitDepth = g_uiBitDepth + g_uiBitIncrement;
    400430  }
     431#if !VIDYO_VPS_INTEGRATION
    401432  Int viewId = (newNumberOfViewDepth-1)>>1;   // coding order T0D0T1D1T2D2
    402433  Bool isDepth = ((newNumberOfViewDepth % 2) == 0);  // coding order T0D0T1D1T2D2
     434#endif
    403435  if( isDepth )
    404436    m_useDepth = true;
  • trunk/source/App/TAppDecoder/TAppDecTop.h

    r56 r77  
    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.