Changeset 357 in SHVCSoftware for branches/SHM-3.0-dev/source


Ignore:
Timestamp:
21 Aug 2013, 04:59:22 (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.0-dev/source
Files:
3 edited

Legend:

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

    r334 r357  
    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
     
    15301542  for(UInt layer=0; layer<m_numLayers; layer++)
    15311543  {
    1532     if (m_acLayerCfg[layer].m_GOPListLayer[0].m_POC<0){
     1544    if (m_acLayerCfg[layer].m_GOPListLayer[0].m_POC<0)
     1545    {
    15331546      memcpy( m_acLayerCfg[layer].m_GOPListLayer, m_GOPList, sizeof(GOPEntry)*MAX_GOP );
    15341547    }
     
    15361549    xConfirmPara(errorGOP,"Invalid GOP structure given");
    15371550  }
    1538   //tentative for encoder
    1539   if( m_acLayerCfg[1].m_GOPListLayer[5].m_POC == 6  && m_acLayerCfg[1].m_GOPListLayer[7].m_POC == 7 ){
    1540     //RA, POC5
    1541     m_acLayerCfg[1].m_GOPListLayer[5].m_usedByCurrPic[2] = 0;
    1542     m_acLayerCfg[1].m_GOPListLayer[5].m_refIdc[2] = 0;
    1543     //RA, POC7
    1544     m_acLayerCfg[1].m_GOPListLayer[7].m_usedByCurrPic[2] = 0;
    1545     m_acLayerCfg[1].m_GOPListLayer[7].m_refIdc[2] = 0;
    1546   }
     1551#if !EXTERNAL_USEDBYCURR_N0082
    15471552#else
     1553#endif
    15481554  m_extraRPSs=0;
    15491555  //start looping through frames in coding order until we can verify that the GOP structure is correct.
     
    17411747  }
    17421748  xConfirmPara(errorGOP,"Invalid GOP structure given");
     1749#if !EXTERNAL_USEDBYCURR_N0082
     1750#endif
     1751#endif
     1752#if EXTERNAL_USEDBYCURR_N0082
     1753  for(UInt layer=0; layer<m_numLayers; layer++)
     1754  {
     1755    for (Int i=0; i< m_iGOPSize; i++){
     1756      if (m_acLayerCfg[layer].m_GOPListLayer[i].m_UseExtusedByCurrPic == 1 )
     1757      {
     1758        for(Int j=0; j<m_acLayerCfg[layer].m_GOPListLayer[i].m_numRefPics; j++ )
     1759        {
     1760          m_acLayerCfg[layer].m_GOPListLayer[i].m_usedByCurrPic[j] = m_acLayerCfg[layer].m_GOPListLayer[i].m_ExtusedByCurrPic[j];
     1761          m_acLayerCfg[layer].m_GOPListLayer[i].m_refIdc[j] = m_acLayerCfg[layer].m_GOPListLayer[i].m_ExtusedByCurrPic[j];
     1762        }
     1763      }
     1764    }
     1765  }
    17431766#endif
    17441767  m_maxTempLayer = 1;
  • branches/SHM-3.0-dev/source/Lib/TLibCommon/TypeDef.h

    r338 r357  
    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) //dev ver.
    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.0-dev/source/Lib/TLibEncoder/TEncCfg.h

    r313 r357  
    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.