Changeset 507 in SHVCSoftware for branches/SHM-4.1-dev/source/App


Ignore:
Timestamp:
25 Nov 2013, 17:32:16 (11 years ago)
Author:
nokia
Message:

Add scaled reference layer ID (JCTVC-O0098)

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

Legend:

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

    r494 r507  
    399399  string* cfg_predLayerIdsPtr    [MAX_LAYERS];
    400400#endif
     401#if O0098_SCALED_REF_LAYER_ID
     402  string    cfg_scaledRefLayerId [MAX_LAYERS];
     403#endif
    401404  string    cfg_scaledRefLayerLeftOffset [MAX_LAYERS];
    402405  string    cfg_scaledRefLayerTopOffset [MAX_LAYERS];
     
    405408  Int*      cfg_numScaledRefLayerOffsets[MAX_LAYERS];
    406409
     410#if O0098_SCALED_REF_LAYER_ID
     411  string*    cfg_scaledRefLayerIdPtr           [MAX_LAYERS];
     412#endif
    407413  string*    cfg_scaledRefLayerLeftOffsetPtr   [MAX_LAYERS];
    408414  string*    cfg_scaledRefLayerTopOffsetPtr    [MAX_LAYERS];
     
    471477    for(Int i = 0; i < MAX_LAYERS; i++)
    472478    {
     479#if O0098_SCALED_REF_LAYER_ID
     480      cfg_scaledRefLayerIdPtr          [layer] = &cfg_scaledRefLayerId[layer]          ;
     481#endif
    473482      cfg_scaledRefLayerLeftOffsetPtr  [layer] = &cfg_scaledRefLayerLeftOffset[layer]  ;
    474483      cfg_scaledRefLayerTopOffsetPtr   [layer] = &cfg_scaledRefLayerTopOffset[layer]   ;
     
    582591#endif
    583592  ("NumScaledRefLayerOffsets%d",    cfg_numScaledRefLayerOffsets,     0, MAX_LAYERS,  "Number of scaled offset layer sets ")
     593#if O0098_SCALED_REF_LAYER_ID
     594  ("ScaledRefLayerId%d",           cfg_scaledRefLayerIdPtr,          string(""), MAX_LAYERS, "Layer ID of scaled base layer picture")
     595#endif
    584596  ("ScaledRefLayerLeftOffset%d",   cfg_scaledRefLayerLeftOffsetPtr,  string(""), MAX_LAYERS, "Horizontal offset of top-left luma sample of scaled base layer picture with respect to"
    585597                                                                 " top-left luma sample of the EL picture, in units of two luma samples")
     
    10861098    if(m_acLayerCfg[layer].m_numScaledRefLayerOffsets)
    10871099    {
     1100#if O0098_SCALED_REF_LAYER_ID
     1101      assert( strcmp(cfg_scaledRefLayerId[layer].c_str(),  ""));
     1102#endif
    10881103      assert( strcmp(cfg_scaledRefLayerLeftOffset[layer].c_str(),  "") ||
    10891104              strcmp(cfg_scaledRefLayerRightOffset[layer].c_str(), "") ||
     
    10941109
    10951110    Int *tempArray = NULL;   // Contain the value
     1111
     1112#if O0098_SCALED_REF_LAYER_ID
     1113    // ID //
     1114    if(strcmp(cfg_scaledRefLayerId[layer].c_str(),  ""))
     1115    {
     1116      cfgStringToArray( &tempArray, cfg_scaledRefLayerId[layer], m_acLayerCfg[layer].m_numScaledRefLayerOffsets, "ScaledRefLayerId");
     1117      if(tempArray)
     1118      {
     1119        for(Int i = 0; i < m_acLayerCfg[layer].m_numScaledRefLayerOffsets; i++)
     1120        {
     1121          m_acLayerCfg[layer].m_scaledRefLayerId[i] = tempArray[i];
     1122        }
     1123        delete [] tempArray; tempArray = NULL;
     1124      }
     1125    }
     1126#endif
     1127
    10961128    // Left offset //
    10971129    if(strcmp(cfg_scaledRefLayerLeftOffset[layer].c_str(),  ""))
  • branches/SHM-4.1-dev/source/App/TAppEncoder/TAppEncLayerCfg.cpp

    r494 r507  
    5353  m_aiPad[1] = m_aiPad[0] = 0;
    5454  m_numScaledRefLayerOffsets = 0;
     55#if O0098_SCALED_REF_LAYER_ID
     56  ::memset(m_scaledRefLayerId,           0, sizeof(m_scaledRefLayerId));
     57#endif
    5558  ::memset(m_scaledRefLayerLeftOffset,   0, sizeof(m_scaledRefLayerLeftOffset));
    5659  ::memset(m_scaledRefLayerTopOffset,    0, sizeof(m_scaledRefLayerTopOffset));
  • branches/SHM-4.1-dev/source/App/TAppEncoder/TAppEncLayerCfg.h

    r494 r507  
    9595  TAppEncCfg* m_cAppEncCfg;                                   ///< pointer to app encoder config
    9696  Int       m_numScaledRefLayerOffsets  ;
     97#if O0098_SCALED_REF_LAYER_ID
     98  Int       m_scaledRefLayerId          [MAX_LAYERS];
     99#endif
    97100  Int       m_scaledRefLayerLeftOffset  [MAX_LAYERS];
    98101  Int       m_scaledRefLayerTopOffset   [MAX_LAYERS];
  • branches/SHM-4.1-dev/source/App/TAppEncoder/TAppEncTop.cpp

    r503 r507  
    605605      for(Int i = 0; i < m_acLayerCfg[layer].m_numScaledRefLayerOffsets; i++)
    606606      {
     607#if O0098_SCALED_REF_LAYER_ID
     608        m_acTEncTop[layer].setScaledRefLayerId(i, m_acLayerCfg[layer].m_scaledRefLayerId[i]);
     609#endif
    607610        m_acTEncTop[layer].getScaledRefLayerWindow(i).setWindow( 2*m_acLayerCfg[layer].m_scaledRefLayerLeftOffset[i], 2*m_acLayerCfg[layer].m_scaledRefLayerRightOffset[i],
    608611                                                  2*m_acLayerCfg[layer].m_scaledRefLayerTopOffset[i], 2*m_acLayerCfg[layer].m_scaledRefLayerBottomOffset[i]);
Note: See TracChangeset for help on using the changeset viewer.