Changeset 397 in SHVCSoftware for branches/SHM-3.1-dev/source/App


Ignore:
Timestamp:
17 Sep 2013, 18:53:51 (11 years ago)
Author:
seregin
Message:

set max_tid_il_ref_pics_plus1 and max_tid_ref_present_flag in the config file (configuration setting). Patch provided by Hahyun Lee <hanilee@…>

Location:
branches/SHM-3.1-dev/source/App/TAppEncoder
Files:
4 edited

Legend:

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

    r389 r397  
    7373, m_scalingListFile()
    7474, m_elRapSliceBEnabled(0)
     75#if N0120_MAX_TID_REF_CFG
     76, m_maxTidIlRefPicsPlus1PresentFlag(1)
     77#endif
    7578{
    7679  for(UInt layer=0; layer<MAX_LAYERS; layer++)
     
    397400  Bool*   cfg_RCForceIntraQP       [MAX_LAYERS];
    398401#endif
     402#if N0120_MAX_TID_REF_CFG
     403  Int*    cfg_maxTidIlRefPicsPlus1[MAX_LAYERS];
     404#endif
    399405  for(UInt layer = 0; layer < MAX_LAYERS; layer++)
    400406  {
     
    442448    cfg_RCForceIntraQP[layer]        = &m_acLayerCfg[layer].m_RCForceIntraQP;
    443449#endif
     450#if N0120_MAX_TID_REF_CFG
     451    cfg_maxTidIlRefPicsPlus1[layer] = &m_acLayerCfg[layer].m_maxTidIlRefPicsPlus1;
     452#endif
    444453  }
    445454#if AVC_BASE
     
    514523                                                                 " bottom-right luma sample of the EL picture, in units of two luma samples")
    515524#endif
     525#if N0120_MAX_TID_REF_CFG
     526  ("MaxTidIlRefPicsPlus1Present", m_maxTidIlRefPicsPlus1PresentFlag, true, "max_tid_il_ref_pics_plus1_present_flag (0: not present, 1: present(default)) " )
     527  ("MaxTidIlRefPicsPlus1%d", cfg_maxTidIlRefPicsPlus1, 1, MAX_LAYERS, "allowed maximum temporal_id for inter-layer prediction")
     528#endif
    516529#if AVC_BASE
    517530  ("AvcBase,-avc",            m_avcBaseLayerFlag,     0, "avc_base_layer_flag")
     
    20872100  }
    20882101#endif
     2102#if N0120_MAX_TID_REF_CFG
     2103  for (UInt layer=0; layer < MAX_LAYERS-1; layer++)
     2104  {
     2105    xConfirmPara(m_acLayerCfg[layer].m_maxTidIlRefPicsPlus1 < 0 || m_acLayerCfg[layer].m_maxTidIlRefPicsPlus1 > 7, "MaxTidIlRefPicsPlus1 must be in range 0 to 7");
     2106  }
     2107#endif
    20892108#undef xConfirmPara
    20902109  if (check_failed)
  • branches/SHM-3.1-dev/source/App/TAppEncoder/TAppEncCfg.h

    r389 r397  
    7676  Int       m_ilSampleOnlyPred[ MAX_LAYERS ];
    7777#endif
     78#if N0120_MAX_TID_REF_CFG
     79  Bool      m_maxTidIlRefPicsPlus1PresentFlag;
     80#endif
    7881#else
    7982  Char*     m_pchInputFile;                                   ///< source file name
  • branches/SHM-3.1-dev/source/App/TAppEncoder/TAppEncLayerCfg.h

    r389 r397  
    6666#endif
    6767
     68#if N0120_MAX_TID_REF_CFG
     69  Int       m_maxTidIlRefPicsPlus1;
     70#endif
    6871#if SVC_EXTENSION
    6972  Int       m_iWaveFrontSubstreams; //< If iWaveFrontSynchro, this is the number of substreams per frame (dependent tiles) or per tile (independent tiles).
     
    155158  Void    setSourceHeight(Int x)           {m_iSourceHeight = x;    }
    156159#endif
     160#if N0120_MAX_TID_REF_CFG
     161  Int     getMaxTidIlRefPicsPlus1()   { return m_maxTidIlRefPicsPlus1; }
     162#endif
    157163}; // END CLASS DEFINITION TAppEncLayerCfg
    158164
  • branches/SHM-3.1-dev/source/App/TAppEncoder/TAppEncTop.cpp

    r395 r397  
    195195    m_acTEncTop[layer].setMaxTempLayer                 ( m_maxTempLayer );
    196196    m_acTEncTop[layer].setUseAMP( m_enableAMP );
     197#if N0120_MAX_TID_REF_CFG
     198    if (layer<m_numLayers-1)
     199    {
     200       m_acTEncTop[layer].setMaxTidIlRefPicsPlus1 ( m_acLayerCfg[layer].getMaxTidIlRefPicsPlus1());
     201    }
     202#endif
    197203#if VPS_EXTN_DIRECT_REF_LAYERS
    198204    if(layer)
     
    925931#endif
    926932#if N0120_MAX_TID_REF_PRESENT_FLAG
     933#if N0120_MAX_TID_REF_CFG
     934  vps->setMaxTidIlRefPicsPlus1PresentFlag(m_maxTidIlRefPicsPlus1PresentFlag);
     935#else
    927936  vps->setMaxTidIlRefPicsPlus1PresentFlag(true);
     937#endif
    928938  if (vps->getMaxTidIlRefPicsPlus1PresentFlag())
    929939  {
    930940    for( i = 0; i < MAX_VPS_LAYER_ID_PLUS1 - 1; i++ )
    931941    {
     942#if N0120_MAX_TID_REF_CFG
     943      vps->setMaxSublayerForIlpPlus1(i, m_acTEncTop[i].getMaxTidIlRefPicsPlus1());
     944#else
    932945      vps->setMaxSublayerForIlpPlus1(i, vps->getMaxTLayers()+1);
     946#endif
    933947    }
    934948  }
Note: See TracChangeset for help on using the changeset viewer.