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


Ignore:
Timestamp:
20 Sep 2013, 23:03:54 (11 years ago)
Author:
seregin
Message:

auto RepFormatIdx

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

Legend:

Unmodified
Added
Removed
  • branches/SHM-3.1-dev/source/App/TAppEncoder/TAppEncLayerCfg.h

    r397 r403  
    154154#endif
    155155#if REPN_FORMAT_IN_VPS
    156   Int     getRepFormatIdx()           { return m_repFormatIdx; }
    157   Void    setSourceWidth(Int x)            {m_iSourceWidth = x;     }
    158   Void    setSourceHeight(Int x)           {m_iSourceHeight = x;    }
     156  Int     getRepFormatIdx()           { return m_repFormatIdx;  }
     157  Void    setRepFormatIdx(Int x)      { m_repFormatIdx = x;     }
     158  Void    setSourceWidth(Int x)       { m_iSourceWidth = x;     }
     159  Void    setSourceHeight(Int x)      { m_iSourceHeight = x;    }
    159160#endif
    160161#if N0120_MAX_TID_REF_CFG
  • branches/SHM-3.1-dev/source/App/TAppEncoder/TAppEncTop.cpp

    r400 r403  
    9393  vps->setRepFormatIdxPresentFlag( true );   // Could be disabled to optimize in some cases.
    9494  Int maxRepFormatIdx = -1;
     95  Int formatIdx = -1;
    9596  for(UInt layer=0; layer < m_numLayers; layer++)
    9697  {
     98    // Auto generation of the format index
     99    if( m_acLayerCfg[layer].getRepFormatIdx() == -1 )
     100    {
     101      // Currently only picture width and height are considred. It has to be updated if different chroma format and bit-depth will are used.
     102      Bool found = false;
     103      for( UInt idx = 0; idx < layer; idx++ )
     104      {
     105        if( m_acLayerCfg[layer].getSourceWidth() == m_acLayerCfg[idx].getSourceWidth() && m_acLayerCfg[layer].getSourceHeight() == m_acLayerCfg[idx].getSourceHeight() )
     106        {
     107          found = true;
     108          break;
     109        }
     110      }
     111      if( !found )
     112      {
     113        formatIdx++;
     114      }
     115
     116      m_acLayerCfg[layer].setRepFormatIdx( formatIdx );
     117    }
     118
    97119    assert( m_acLayerCfg[layer].getRepFormatIdx() != -1 && "RepFormatIdx not assigned for a layer" );   
    98120    vps->setVpsRepFormatIdx( layer, m_acLayerCfg[layer].getRepFormatIdx() );
Note: See TracChangeset for help on using the changeset viewer.