Changeset 1322 in SHVCSoftware


Ignore:
Timestamp:
21 Jul 2015, 23:48:01 (9 years ago)
Author:
seregin
Message:

port rev 4399

Location:
branches/SHM-dev
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-dev/cfg/encoder_intra_scalable.cfg

    r1268 r1322  
    4444
    4545#=========== Deblock Filter ============
    46 DeblockingFilterControlPresent: 0           # Dbl control params present (0=not present, 1=present)
    47 LoopFilterOffsetInPPS         : 0           # Dbl params: 0=varying params in SliceHeader, param = base_param + GOP_offset_param; 1=constant params in PPS, param = base_param)
     46LoopFilterOffsetInPPS         : 1           # Dbl params: 0=varying params in SliceHeader, param = base_param + GOP_offset_param; 1 (default) =constant params in PPS, param = base_param)
    4847LoopFilterDisable             : 0           # Disable deblocking filter (0=Filter, 1=No Filter)
    4948LoopFilterBetaOffset_div2     : 0           # base_param: -6 ~ 6
  • branches/SHM-dev/cfg/encoder_intra_scalable10.cfg

    r1268 r1322  
    4343
    4444#=========== Deblock Filter ============
    45 DeblockingFilterControlPresent: 0           # Dbl control params present (0=not present, 1=present)
    46 LoopFilterOffsetInPPS         : 0           # Dbl params: 0=varying params in SliceHeader, param = base_param + GOP_offset_param; 1=constant params in PPS, param = base_param)
     45LoopFilterOffsetInPPS         : 1           # Dbl params: 0=varying params in SliceHeader, param = base_param + GOP_offset_param; 1 (default) =constant params in PPS, param = base_param)
    4746LoopFilterDisable             : 0           # Disable deblocking filter (0=Filter, 1=No Filter)
    4847LoopFilterBetaOffset_div2     : 0           # base_param: -6 ~ 6
  • branches/SHM-dev/cfg/encoder_lowdelay_P_scalable.cfg

    r1268 r1322  
    5151
    5252#=========== Deblock Filter ============
    53 DeblockingFilterControlPresent: 0           # Dbl control params present (0=not present, 1=present)
    54 LoopFilterOffsetInPPS         : 0           # Dbl params: 0=varying params in SliceHeader, param = base_param + GOP_offset_param; 1=constant params in PPS, param = base_param)
     53LoopFilterOffsetInPPS         : 1           # Dbl params: 0=varying params in SliceHeader, param = base_param + GOP_offset_param; 1 (default) =constant params in PPS, param = base_param)
    5554LoopFilterDisable             : 0           # Disable deblocking filter (0=Filter, 1=No Filter)
    5655LoopFilterBetaOffset_div2     : 0           # base_param: -6 ~ 6
  • branches/SHM-dev/cfg/encoder_lowdelay_P_scalable10.cfg

    r1268 r1322  
    5151
    5252#=========== Deblock Filter ============
    53 DeblockingFilterControlPresent: 0           # Dbl control params present (0=not present, 1=present)
    54 LoopFilterOffsetInPPS         : 0           # Dbl params: 0=varying params in SliceHeader, param = base_param + GOP_offset_param; 1=constant params in PPS, param = base_param)
     53LoopFilterOffsetInPPS         : 1           # Dbl params: 0=varying params in SliceHeader, param = base_param + GOP_offset_param; 1 (default) =constant params in PPS, param = base_param)
    5554LoopFilterDisable             : 0           # Disable deblocking filter (0=Filter, 1=No Filter)
    5655LoopFilterBetaOffset_div2     : 0           # base_param: -6 ~ 6
  • branches/SHM-dev/cfg/encoder_lowdelay_scalable.cfg

    r1268 r1322  
    4949
    5050#=========== Deblock Filter ============
    51 DeblockingFilterControlPresent: 0           # Dbl control params present (0=not present, 1=present)
    52 LoopFilterOffsetInPPS         : 0           # Dbl params: 0=varying params in SliceHeader, param = base_param + GOP_offset_param; 1=constant params in PPS, param = base_param)
     51LoopFilterOffsetInPPS         : 1           # Dbl params: 0=varying params in SliceHeader, param = base_param + GOP_offset_param; 1 (default) =constant params in PPS, param = base_param)
    5352LoopFilterDisable             : 0           # Disable deblocking filter (0=Filter, 1=No Filter)
    5453LoopFilterBetaOffset_div2     : 0           # base_param: -6 ~ 6
  • branches/SHM-dev/cfg/encoder_lowdelay_scalable10.cfg

    r1268 r1322  
    4949
    5050#=========== Deblock Filter ============
    51 DeblockingFilterControlPresent: 0           # Dbl control params present (0=not present, 1=present)
    52 LoopFilterOffsetInPPS         : 0           # Dbl params: 0=varying params in SliceHeader, param = base_param + GOP_offset_param; 1=constant params in PPS, param = base_param)
     51LoopFilterOffsetInPPS         : 1           # Dbl params: 0=varying params in SliceHeader, param = base_param + GOP_offset_param; 1 (default) =constant params in PPS, param = base_param)
    5352LoopFilterDisable             : 0           # Disable deblocking filter (0=Filter, 1=No Filter)
    5453LoopFilterBetaOffset_div2     : 0           # base_param: -6 ~ 6
  • branches/SHM-dev/cfg/encoder_randomaccess_scalable.cfg

    r1268 r1322  
    5353
    5454#=========== Deblock Filter ============
    55 DeblockingFilterControlPresent: 0           # Dbl control params present (0=not present, 1=present)
    56 LoopFilterOffsetInPPS         : 0           # Dbl params: 0=varying params in SliceHeader, param = base_param + GOP_offset_param; 1=constant params in PPS, param = base_param)
     55LoopFilterOffsetInPPS         : 1           # Dbl params: 0=varying params in SliceHeader, param = base_param + GOP_offset_param; 1 (default) =constant params in PPS, param = base_param)
    5756LoopFilterDisable             : 0           # Disable deblocking filter (0=Filter, 1=No Filter)
    5857LoopFilterBetaOffset_div2     : 0           # base_param: -6 ~ 6
  • branches/SHM-dev/cfg/encoder_randomaccess_scalable10.cfg

    r1268 r1322  
    5353
    5454#=========== Deblock Filter ============
    55 DeblockingFilterControlPresent: 0           # Dbl control params present (0=not present, 1=present)
    56 LoopFilterOffsetInPPS         : 0           # Dbl params: 0=varying params in SliceHeader, param = base_param + GOP_offset_param; 1=constant params in PPS, param = base_param)
     55LoopFilterOffsetInPPS         : 1           # Dbl params: 0=varying params in SliceHeader, param = base_param + GOP_offset_param; 1 (default) =constant params in PPS, param = base_param)
    5756LoopFilterDisable             : 0           # Disable deblocking filter (0=Filter, 1=No Filter)
    5857LoopFilterBetaOffset_div2     : 0           # base_param: -6 ~ 6
  • branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.cpp

    r1319 r1322  
    13351335  // Deblocking filter parameters
    13361336  ("LoopFilterDisable",                               m_bLoopFilterDisable,                             false)
    1337   ("LoopFilterOffsetInPPS",                           m_loopFilterOffsetInPPS,                          false)
     1337  ("LoopFilterOffsetInPPS",                           m_loopFilterOffsetInPPS,                           true)
    13381338  ("LoopFilterBetaOffset_div2",                       m_loopFilterBetaOffsetDiv2,                           0)
    13391339  ("LoopFilterTcOffset_div2",                         m_loopFilterTcOffsetDiv2,                             0)
    1340   ("DeblockingFilterControlPresent",                  m_DeblockingFilterControlPresent,                 false)
    13411340  ("DeblockingFilterMetric",                          m_DeblockingFilterMetric,                         false)
    13421341
     
    31493148  xConfirmPara( m_iQP <  -6 * (m_internalBitDepth[CHANNEL_TYPE_LUMA] - 8) || m_iQP > 51,    "QP exceeds supported range (-QpBDOffsety to 51)" );
    31503149#endif
     3150  xConfirmPara( m_DeblockingFilterMetric && (m_bLoopFilterDisable || m_loopFilterOffsetInPPS), "If DeblockingFilterMetric is true then both LoopFilterDisable and LoopFilterOffsetInPPS must be 0");
    31513151  xConfirmPara( m_loopFilterBetaOffsetDiv2 < -6 || m_loopFilterBetaOffsetDiv2 > 6,        "Loop Filter Beta Offset div. 2 exceeds supported range (-6 to 6)");
    31523152  xConfirmPara( m_loopFilterTcOffsetDiv2 < -6 || m_loopFilterTcOffsetDiv2 > 6,            "Loop Filter Tc Offset div. 2 exceeds supported range (-6 to 6)");
     
    33663366  Int m_iIntraPeriod = m_acLayerCfg[layerIdx].m_iIntraPeriod;
    33673367#endif
    3368   if ( (m_iIntraPeriod != 1) && !m_loopFilterOffsetInPPS && m_DeblockingFilterControlPresent && (!m_bLoopFilterDisable) )
     3368  if ( (m_iIntraPeriod != 1) && !m_loopFilterOffsetInPPS && (!m_bLoopFilterDisable) )
    33693369  {
    33703370    for(Int i=0; i<m_iGOPSize; i++)
     
    36773677    for(UInt layer=0; layer<m_numLayers; layer++)
    36783678    {
    3679       if ( (m_acLayerCfg[layer].m_iIntraPeriod != 1) && !m_loopFilterOffsetInPPS && m_DeblockingFilterControlPresent && (!m_bLoopFilterDisable) )
     3679      if ( (m_acLayerCfg[layer].m_iIntraPeriod != 1) && !m_loopFilterOffsetInPPS && (!m_bLoopFilterDisable) )
    36803680      {
    36813681        for(Int i=0; i<m_iGOPSize; i++)
  • branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.h

    r1316 r1322  
    252252  Int       m_loopFilterBetaOffsetDiv2;                     ///< beta offset for deblocking filter
    253253  Int       m_loopFilterTcOffsetDiv2;                       ///< tc offset for deblocking filter
    254   Bool      m_DeblockingFilterControlPresent;                 ///< deblocking filter control present flag in PPS
    255254  Bool      m_DeblockingFilterMetric;                         ///< blockiness metric in encoder
    256255
  • branches/SHM-dev/source/App/TAppEncoder/TAppEncTop.cpp

    r1316 r1322  
    401401    m_acTEncTop[layer].setLoopFilterOffsetInPPS                            ( m_loopFilterOffsetInPPS );
    402402    m_acTEncTop[layer].setLoopFilterBetaOffset                             ( m_loopFilterBetaOffsetDiv2  );
    403     m_acTEncTop[layer].setLoopFilterTcOffset                               ( m_loopFilterTcOffsetDiv2    );
    404     m_acTEncTop[layer].setDeblockingFilterControlPresent                   ( m_DeblockingFilterControlPresent);
     403    m_acTEncTop[layer].setLoopFilterTcOffset                               ( m_loopFilterTcOffsetDiv2    );   
    405404    m_acTEncTop[layer].setDeblockingFilterMetric                           ( m_DeblockingFilterMetric );
    406405
     
    839838  m_cTEncTop.setLoopFilterBetaOffset                              ( m_loopFilterBetaOffsetDiv2  );
    840839  m_cTEncTop.setLoopFilterTcOffset                                ( m_loopFilterTcOffsetDiv2    );
    841   m_cTEncTop.setDeblockingFilterControlPresent                    ( m_DeblockingFilterControlPresent);
    842840  m_cTEncTop.setDeblockingFilterMetric                            ( m_DeblockingFilterMetric );
    843841
  • branches/SHM-dev/source/Lib/TLibEncoder/TEncCfg.h

    r1316 r1322  
    162162  Int       m_loopFilterBetaOffsetDiv2;
    163163  Int       m_loopFilterTcOffsetDiv2;
    164   Bool      m_DeblockingFilterControlPresent;
    165164  Bool      m_DeblockingFilterMetric;
    166165  Bool      m_bUseSAO;
     
    538537  Void      setLoopFilterBetaOffset         ( Int   i )      { m_loopFilterBetaOffsetDiv2  = i; }
    539538  Void      setLoopFilterTcOffset           ( Int   i )      { m_loopFilterTcOffsetDiv2    = i; }
    540   Void      setDeblockingFilterControlPresent ( Bool b ) { m_DeblockingFilterControlPresent = b; }
    541539  Void      setDeblockingFilterMetric       ( Bool  b )      { m_DeblockingFilterMetric = b; }
    542540
     
    604602  Int       getLoopFilterBetaOffset         ()      { return m_loopFilterBetaOffsetDiv2; }
    605603  Int       getLoopFilterTcOffset           ()      { return m_loopFilterTcOffsetDiv2; }
    606   Bool      getDeblockingFilterControlPresent()  { return  m_DeblockingFilterControlPresent; }
    607604  Bool      getDeblockingFilterMetric       ()      { return m_DeblockingFilterMetric; }
    608605
  • branches/SHM-dev/source/Lib/TLibEncoder/TEncTop.cpp

    r1316 r1322  
    10911091  m_cPPS.setOutputFlagPresentFlag( false );
    10921092  m_cPPS.setSignHideFlag(getSignHideFlag());
     1093
    10931094  if ( getDeblockingFilterMetric() )
    10941095  {
    1095     m_cPPS.setDeblockingFilterControlPresentFlag (true);
    10961096    m_cPPS.setDeblockingFilterOverrideEnabledFlag(true);
    10971097    m_cPPS.setPicDisableDeblockingFilterFlag(false);
     1098  }
     1099  else
     1100  {
     1101    m_cPPS.setDeblockingFilterOverrideEnabledFlag( !getLoopFilterOffsetInPPS() );
     1102    m_cPPS.setPicDisableDeblockingFilterFlag( getLoopFilterDisable() );
     1103  }
     1104
     1105  if (! m_cPPS.getPicDisableDeblockingFilterFlag())
     1106  {
     1107    m_cPPS.setDeblockingFilterBetaOffsetDiv2( getLoopFilterBetaOffset() );
     1108    m_cPPS.setDeblockingFilterTcOffsetDiv2( getLoopFilterTcOffset() );
     1109  }
     1110  else
     1111  {
    10981112    m_cPPS.setDeblockingFilterBetaOffsetDiv2(0);
    10991113    m_cPPS.setDeblockingFilterTcOffsetDiv2(0);
    11001114  }
    1101   else
    1102   {
    1103     m_cPPS.setDeblockingFilterControlPresentFlag (m_DeblockingFilterControlPresent );
    1104 
    1105     if (m_cPPS.getDeblockingFilterControlPresentFlag())
    1106     {
    1107       m_cPPS.setDeblockingFilterOverrideEnabledFlag( !getLoopFilterOffsetInPPS() );
    1108       m_cPPS.setPicDisableDeblockingFilterFlag( getLoopFilterDisable() );
    1109     }
    1110   }
    1111 
    1112   if (m_cPPS.getDeblockingFilterControlPresentFlag() && ! m_cPPS.getPicDisableDeblockingFilterFlag())
    1113   {
    1114     m_cPPS.setDeblockingFilterBetaOffsetDiv2( getLoopFilterBetaOffset() );
    1115     m_cPPS.setDeblockingFilterTcOffsetDiv2( getLoopFilterTcOffset() );
    1116   }
     1115
     1116  // deblockingFilterControlPresentFlag is true if any of the settings differ from the inferred values:
     1117  const Bool deblockingFilterControlPresentFlag = m_cPPS.getDeblockingFilterOverrideEnabledFlag() ||
     1118                                                  m_cPPS.getPicDisableDeblockingFilterFlag()      ||
     1119                                                  m_cPPS.getDeblockingFilterBetaOffsetDiv2() != 0 ||
     1120                                                  m_cPPS.getDeblockingFilterTcOffsetDiv2() != 0;
     1121
     1122  m_cPPS.setDeblockingFilterControlPresentFlag(deblockingFilterControlPresentFlag);
     1123
    11171124  m_cPPS.setLog2ParallelMergeLevelMinus2   (m_log2ParallelMergeLevelMinus2 );
    11181125  m_cPPS.setCabacInitPresentFlag(CABAC_INIT_PRESENT_FLAG);
Note: See TracChangeset for help on using the changeset viewer.