Changeset 362 in SHVCSoftware for branches/SHM-3.1-dev/source


Ignore:
Timestamp:
22 Aug 2013, 03:15:29 (12 years ago)
Author:
sony
Message:

EXTERNAL_USEDBYCURR_N0082: Add functionality to set usedByCurrPic from configuration file. Accordingly, the pre-fixed setting for CTC RA is removed from the encoder code and is moved to the default configuration file for RA.

Location:
branches/SHM-3.1-dev/source
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-3.1-dev/source/App/TAppEncoder/TAppEncCfg.cpp

    r355 r362  
    217217    {
    218218      in>>entry.m_refIdc[i];
     219    }
     220  }
     221#endif
     222#if EXTERNAL_USEDBYCURR_N0082
     223  if(entry.m_numRefPics>0){
     224    in>>entry.m_UseExtusedByCurrPic;
     225    if(entry.m_UseExtusedByCurrPic)
     226    {
     227      for ( Int i = 0; i < entry.m_numRefPics; i++ )
     228      {
     229        in>>entry.m_ExtusedByCurrPic[i];
     230      }
    219231    }
    220232  }
     
    14671479#endif
    14681480 
    1469 #if !FINAL_RPL_CHANGE_N0082
     1481#if EXTERNAL_USEDBYCURR_N0082|| !FINAL_RPL_CHANGE_N0082
    14701482  Bool verifiedGOP=false;
    14711483#endif
    14721484  Bool errorGOP=false;
    1473 #if !FINAL_RPL_CHANGE_N0082
     1485#if  EXTERNAL_USEDBYCURR_N0082|| !FINAL_RPL_CHANGE_N0082
    14741486  Int checkGOP=1;
    14751487  Int numRefs = 1;
     
    14821494    isOK[i]=false;
    14831495  }
    1484 #if !FINAL_RPL_CHANGE_N0082
     1496#if  EXTERNAL_USEDBYCURR_N0082|| !FINAL_RPL_CHANGE_N0082
    14851497  Int numOK=0;
    14861498#endif
     
    15471559    m_acLayerCfg[1].m_GOPListLayer[7].m_refIdc[2] = 0;
    15481560  }
    1549 #else
     1561#endif
     1562#if  EXTERNAL_USEDBYCURR_N0082|| !FINAL_RPL_CHANGE_N0082
    15501563  m_extraRPSs=0;
    15511564  //start looping through frames in coding order until we can verify that the GOP structure is correct.
     
    17441757  xConfirmPara(errorGOP,"Invalid GOP structure given");
    17451758#endif
     1759#if EXTERNAL_USEDBYCURR_N0082
     1760  for(UInt layer=0; layer<m_numLayers; layer++)
     1761  {
     1762    for (Int i=0; i< m_iGOPSize; i++){
     1763      if (m_acLayerCfg[layer].m_GOPListLayer[i].m_UseExtusedByCurrPic == 1 )
     1764      {
     1765        for(Int j=0; j<m_acLayerCfg[layer].m_GOPListLayer[i].m_numRefPics; j++ )
     1766        {
     1767          m_acLayerCfg[layer].m_GOPListLayer[i].m_usedByCurrPic[j] = m_acLayerCfg[layer].m_GOPListLayer[i].m_ExtusedByCurrPic[j];
     1768          m_acLayerCfg[layer].m_GOPListLayer[i].m_refIdc[j] = m_acLayerCfg[layer].m_GOPListLayer[i].m_ExtusedByCurrPic[j];
     1769        }
     1770      }
     1771    }
     1772  }
     1773#endif
    17461774  m_maxTempLayer = 1;
    17471775  for(Int i=0; i<m_iGOPSize; i++)
  • branches/SHM-3.1-dev/source/Lib/TLibCommon/TypeDef.h

    r345 r362  
    4949#define RPL_INIT_N0316_N0082             1      ///< N0316, N0082: initial reference picture list construction
    5050#define FINAL_RPL_CHANGE_N0082           1      ///< N0082: final ref picture list change (encoder)
     51#define EXTERNAL_USEDBYCURR_N0082        1      ///< N0082: final ref picture list change (encoder)
    5152#define M0464_TILE_BOUNDARY_ALIGNED_FLAG 1      ///< VUI flag to indicate tile boundary alignment
    5253#define M0463_VUI_EXT_ILP_REF            1      ///< VUI extension inter-layer dependency offset signalling
  • branches/SHM-3.1-dev/source/Lib/TLibEncoder/TEncCfg.h

    r313 r362  
    6969  Int m_numRefIdc;
    7070  Int m_refIdc[MAX_NUM_REF_PICS+1];
     71#if EXTERNAL_USEDBYCURR_N0082
     72  Int m_UseExtusedByCurrPic;
     73  Int m_ExtusedByCurrPic[MAX_NUM_REF_PICS];
     74#endif
    7175  GOPEntry()
    7276  : m_POC(-1)
     
    8387  , m_deltaRPS(0)
    8488  , m_numRefIdc(0)
     89#if EXTERNAL_USEDBYCURR_N0082
     90  , m_UseExtusedByCurrPic(0)
     91#endif
    8592  {
    8693    ::memset( m_referencePics, 0, sizeof(m_referencePics) );
    8794    ::memset( m_usedByCurrPic, 0, sizeof(m_usedByCurrPic) );
    8895    ::memset( m_refIdc,        0, sizeof(m_refIdc) );
     96#if EXTERNAL_USEDBYCURR_N0082
     97    ::memset( m_usedByCurrPic, 0, sizeof(m_ExtusedByCurrPic) );
     98#endif
    8999  }
    90100};
Note: See TracChangeset for help on using the changeset viewer.