Changeset 1322 in SHVCSoftware for branches/SHM-dev/source/Lib


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

port rev 4399

Location:
branches/SHM-dev/source/Lib/TLibEncoder
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • 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.