Changeset 979 in SHVCSoftware for branches/SHM-upgrade/source/App/TAppEncoder


Ignore:
Timestamp:
13 Jan 2015, 17:32:39 (10 years ago)
Author:
seregin
Message:

port implementation of JCTVC-R0071 - IRAP and EOS cross-layer impacts (rev 978)

Location:
branches/SHM-upgrade/source/App/TAppEncoder
Files:
3 edited

Legend:

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

    r965 r979  
    888888  Int*    cfg_waveFrontSynchro[MAX_LAYERS];
    889889
     890#if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS
     891  Int*    cfg_layerSwitchOffBegin[MAX_LAYERS];
     892  Int*    cfg_layerSwitchOffEnd[MAX_LAYERS];
     893#endif
     894
    890895#if MULTIPLE_PTL_SUPPORT
    891896  Bool    tmpIntraConstraintFlag;
     
    989994#if AUXILIARY_PICTURES
    990995    cfg_auxId[layer]                = &m_acLayerCfg[layer].m_auxId;
     996#endif
     997#if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS
     998    cfg_layerSwitchOffBegin[layer] = &m_acLayerCfg[layer].m_layerSwitchOffBegin;
     999    cfg_layerSwitchOffEnd[layer]   = &m_acLayerCfg[layer].m_layerSwitchOffEnd;
    9911000#endif
    9921001#if MULTIPLE_PTL_SUPPORT
     
    17341743  ("AdaptiveResolutionChange",     m_adaptiveResolutionChange, 0, "Adaptive resolution change frame number. Should coincide with EL RAP picture. (0: disable)")
    17351744#endif
     1745#if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS
     1746  ("LayerSwitchOffBegin%d", cfg_layerSwitchOffBegin, 0, MAX_LAYERS, "Switch layer %d off after given poc")
     1747  ("LayerSwitchOffEnd%d", cfg_layerSwitchOffEnd, 0, MAX_LAYERS, "Switch layer %d on at given poc")
     1748#endif
    17361749#if HIGHER_LAYER_IRAP_SKIP_FLAG
    17371750  ("SkipPictureAtArcSwitch",     m_skipPictureAtArcSwitch, false, "Code the higher layer picture in ARC up-switching as a skip picture. (0: disable)")
     
    19481961  m_InputChromaFormatIDC = numberToChromaFormat(tmpInputChromaFormat);
    19491962  m_chromaFormatIDC      = ((tmpChromaFormat == 0) ? (m_InputChromaFormatIDC) : (numberToChromaFormat(tmpChromaFormat)));
     1963#endif
     1964
     1965#if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS
     1966  for (Int layer = 0; layer < MAX_LAYERS; layer++)
     1967  {
     1968    if (m_acLayerCfg[layer].m_layerSwitchOffBegin < m_acLayerCfg[layer].m_layerSwitchOffEnd)
     1969    {
     1970      if (m_iGOPSize > 0 && (m_acLayerCfg[layer].m_layerSwitchOffBegin % m_iGOPSize) != 0)
     1971      {
     1972        printf("LayerSwitchOffBegin%d: Must be multiple of GOP size.\n", layer);
     1973        exit(EXIT_FAILURE);
     1974      }
     1975      if (m_acLayerCfg[layer].m_iIntraPeriod > 0 && (m_acLayerCfg[layer].m_layerSwitchOffEnd % m_acLayerCfg[layer].m_iIntraPeriod) != 0)
     1976      {
     1977        printf("LayerSwitchOffEnd%d: Must be IRAP picture.\n", layer);
     1978        exit(EXIT_FAILURE);
     1979      }
     1980    }
     1981  }
    19501982#endif
    19511983
  • branches/SHM-upgrade/source/App/TAppEncoder/TAppEncLayerCfg.h

    r945 r979  
    154154#endif
    155155
     156#if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS
     157  Int       m_layerSwitchOffBegin;
     158  Int       m_layerSwitchOffEnd;
     159#endif
     160
    156161#if MULTIPLE_PTL_SUPPORT
    157162  // profile/level
  • branches/SHM-upgrade/source/App/TAppEncoder/TAppEncTop.cpp

    r977 r979  
    806806    m_acTEncTop[layer].setAdaptiveResolutionChange               ( m_adaptiveResolutionChange );
    807807#endif
     808#if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS
     809    m_acTEncTop[layer].setLayerSwitchOffBegin                    (m_acLayerCfg[layer].m_layerSwitchOffBegin);
     810    m_acTEncTop[layer].setLayerSwitchOffEnd                      (m_acLayerCfg[layer].m_layerSwitchOffEnd);
     811#endif
    808812#if AUXILIARY_PICTURES
    809813    m_acTEncTop[layer].setChromaFormatIDC                        ( m_acLayerCfg[layer].m_chromaFormatIDC );
Note: See TracChangeset for help on using the changeset viewer.