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


Ignore:
Timestamp:
14 Jun 2012, 16:38:29 (12 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/TAppEncoder
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/App/TAppEncoder/TAppEncTop.cpp

    r56 r77  
    6767Void TAppEncTop::xInitLibCfg()
    6868{
     69#if VIDYO_VPS_INTEGRATION
     70  UInt layerId = 0;
     71  // TODO: fix the assumption here that the temporal structures are all equal across all layers???
     72  m_cVPS.setMaxTLayers( m_maxTempLayer[0] );
     73  m_cVPS.setMaxLayers( m_iNumberOfViews * (m_bUsingDepthMaps ? 2:1) );
     74  for(Int i = 0; i < MAX_TLAYER; i++)
     75  {
     76    m_cVPS.setNumReorderPics( m_numReorderPics[0][i], i );
     77    m_cVPS.setMaxDecPicBuffering( m_maxDecPicBuffering[0][i], i );
     78  }
     79#endif
     80 
    6981  for(Int iViewIdx=0; iViewIdx<m_iNumberOfViews; iViewIdx++)
    7082  {
     
    90102    m_acTEncTopList[iViewIdx]->setIsDepth                      ( false );
    91103    m_acTEncTopList[iViewIdx]->setViewOrderIdx                 ( m_cCameraData.getViewOrderIndex()[ iViewIdx ] );
     104#if VIDYO_VPS_INTEGRATION
     105    layerId = iViewIdx * (m_bUsingDepthMaps ? 2:1);
     106    m_acTEncTopList[iViewIdx]->setLayerId                      ( layerId );
     107    m_cVPS.setDepthFlag                                        ( false, layerId );
     108    m_cVPS.setViewId                                           ( iViewIdx, layerId );
     109    m_cVPS.setViewOrderIdx                                     ( m_cCameraData.getViewOrderIndex()[ iViewIdx ], layerId );
     110    // TODO: set correct dependentFlag and dependentLayer
     111    m_cVPS.setDependentFlag                                    ( iViewIdx ? true:false, layerId );
     112    m_cVPS.setDependentLayer                                   ( layerId - (m_bUsingDepthMaps ? 2:1), layerId );
     113#endif
     114   
    92115    m_acTEncTopList[iViewIdx]->setCamParPrecision              ( m_cCameraData.getCamParsCodedPrecision  () );
    93116    m_acTEncTopList[iViewIdx]->setCamParInSliceHeader          ( m_cCameraData.getVaryingCameraParameters() );
     
    364387      m_acTEncDepthTopList[iViewIdx]->setIsDepth                      ( true );
    365388      m_acTEncDepthTopList[iViewIdx]->setViewOrderIdx                 ( m_cCameraData.getViewOrderIndex()[ iViewIdx ] );
     389#if VIDYO_VPS_INTEGRATION
     390      layerId = iViewIdx * 2 + 1;
     391      m_acTEncDepthTopList[iViewIdx]->setLayerId                      ( layerId );
     392      m_cVPS.setDepthFlag                                             ( true, layerId );
     393      m_cVPS.setViewId                                                ( iViewIdx, layerId );
     394      m_cVPS.setViewOrderIdx                                          ( m_cCameraData.getViewOrderIndex()[ iViewIdx ], layerId );
     395      m_cVPS.setDependentFlag                                         ( true, layerId );
     396      m_cVPS.setDependentLayer                                        ( layerId-1, layerId);
     397#endif
    366398      m_acTEncDepthTopList[iViewIdx]->setCamParPrecision              ( 0 );
    367399      m_acTEncDepthTopList[iViewIdx]->setCamParInSliceHeader          ( false );
     
    11341166    case NAL_UNIT_SPS:
    11351167    case NAL_UNIT_PPS:
     1168#if VIDYO_VPS_INTEGRATION
     1169    case NAL_UNIT_VPS:
     1170#endif
    11361171      m_essentialBytes += *it_stats;
    11371172      break;
  • trunk/source/App/TAppEncoder/TAppEncTop.h

    r56 r77  
    8080
    8181#if DEPTH_MAP_GENERATION
     82#if VIDYO_VPS_INTEGRATION
     83  TComVPSAccess               m_cVPSAccess;
     84#endif
    8285  TComSPSAccess               m_cSPSAccess;
    8386  TComAUPicAccess             m_cAUPicAccess;
    8487#endif
    8588
     89#if VIDYO_VPS_INTEGRATION
     90  TComVPS                     m_cVPS;
     91#endif
     92 
    8693#if HHI_VSO
    8794  TRenTop                     m_cRendererTop;
     
    131138#endif
    132139 
     140#if VIDYO_VPS_INTEGRATION
     141  TComVPS*          getVPS()  { return &m_cVPS; }
     142  TComVPSAccess*    getVPSAccess  () { return &m_cVPSAccess;   }
     143#endif
     144 
    133145#if DEPTH_MAP_GENERATION
    134146  TComSPSAccess*    getSPSAccess  () { return &m_cSPSAccess;   }
Note: See TracChangeset for help on using the changeset viewer.