Changeset 464 in 3DVCSoftware for branches/HTM-DEV-0.3-dev2a/source/App


Ignore:
Timestamp:
11 Jun 2013, 20:35:00 (12 years ago)
Author:
zhang
Message:

Implementation of ARP from QC

Location:
branches/HTM-DEV-0.3-dev2a/source/App
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-DEV-0.3-dev2a/source/App/TAppDecoder/TAppDecTop.cpp

    r456 r464  
    647647#if H_3D
    648648   m_tDecTop[ decIdx ]->setCamParsCollector( &m_cCamParsCollector );
     649#if H_3D_ARP
     650    m_tDecTop[ decIdx ]->setTAppDecTop(this);
     651#endif
    649652#endif
    650653
  • branches/HTM-DEV-0.3-dev2a/source/App/TAppDecoder/TAppDecTop.h

    r446 r464  
    9191  Void  decode            (); ///< main decoding function
    9292 
     93#if H_3D_ARP
     94  TDecTop* getTDecTop     ( Int layerId )          { return m_tDecTop[layerId]; }
     95#endif
     96
    9397protected:
    9498  Void  xCreateDecLib     (); ///< create internal classes
  • branches/HTM-DEV-0.3-dev2a/source/App/TAppEncoder/TAppEncCfg.cpp

    r446 r464  
    503503#if L0386_DB_METRIC
    504504  ("DeblockingFilterMetric",         m_DeblockingFilterMetric,         false )
     505#endif
     506
     507#if H_3D_ARP
     508  ("AdvMultiviewResPred",      m_uiUseAdvResPred,           (UInt)1, "Usage of Advanced Residual Prediction" )
    505509#endif
    506510
     
    13871391  xConfirmPara(  m_maxNumMergeCand < 1,  "MaxNumMergeCand must be 1 or greater.");
    13881392  xConfirmPara(  m_maxNumMergeCand > 5,  "MaxNumMergeCand must be 5 or smaller.");
     1393
     1394#if H_3D_ARP
     1395  xConfirmPara( ( 0 != m_uiUseAdvResPred ) &&  ( 1 != m_uiUseAdvResPred ), "UseAdvResPred must be 0 or 1." );
     1396#endif
    13891397
    13901398#if ADAPTIVE_QP_SELECTION
     
    22782286  printf("WVSO:%d ", m_bUseWVSO ); 
    22792287#endif
     2288#if H_3D_ARP
     2289  printf(" ARP:%d  ", m_uiUseAdvResPred  );
     2290#endif
    22802291  printf("\n\n"); 
    22812292
  • branches/HTM-DEV-0.3-dev2a/source/App/TAppEncoder/TAppEncCfg.h

    r446 r464  
    238238  Bool      m_bUseFastEnc;                                    ///< flag for using fast encoder setting
    239239  Bool      m_bUseEarlyCU;                                    ///< flag for using Early CU setting
     240
     241#if H_3D_ARP
     242  UInt      m_uiUseAdvResPred;
     243  UInt      m_uiARPStepNum;
     244#endif
     245
    240246  Bool      m_useFastDecisionForMerge;                        ///< flag for using Fast Decision Merge RD-Cost
    241247  Bool      m_bUseCbfFastMode;                              ///< flag for using Cbf Fast PU Mode Decision
  • branches/HTM-DEV-0.3-dev2a/source/App/TAppEncoder/TAppEncTop.cpp

    r446 r464  
    122122  vps.initViewIndex();
    123123  m_ivPicLists.setVPS      ( &vps );
     124#if H_3D_ARP
     125  for(Int i = 0; i < m_numberOfLayers; i++)
     126  {
     127    Bool isDepth = vps.getDepthId( i );
     128    vps.setUseAdvRP        ( i, ( isDepth || 0==i ) ? 0 : m_uiUseAdvResPred );
     129    vps.setARPStepNum      ( i, ( isDepth || 0==i ) ? 1 : H_3D_ARP_WFNR     );
     130  }
     131#endif
    124132#endif
    125133
     
    166174    m_cTEncTop.setDWeight                      ( isDepth ? m_iDWeight             : 0     );
    167175#endif // H_3D_VSO
     176#if H_3D_ARP
     177    //====== Advanced Inter-view Residual Prediction =========
     178    m_cTEncTop.setUseAdvRP                     ( ( isDepth || 0==layer ) ? 0 : m_uiUseAdvResPred );
     179    m_cTEncTop.setARPStepNum                   ( ( isDepth || 0==layer ) ? 1 : H_3D_ARP_WFNR     );
     180#endif
    168181#endif // H_3D
    169182
     
    605618  {
    606619    m_acTEncTopList[layer]->init( );
     620#if H_3D_ARP
     621    m_acTEncTopList[layer]->setTAppEncTop( this );
     622#endif
    607623  }
    608624#else
Note: See TracChangeset for help on using the changeset viewer.