Ticket #1421: ticket_1421.patch

File ticket_1421.patch, 4.0 KB (added by Vadim, 9 years ago)
  • Lib/TLibCommon/TypeDef.h

     
    4545#include <vector>
    4646#include <cstdlib>
    4747
     48#define FIX_DELTA_QP_SIGN       1
     49
    4850//! \ingroup TLibCommon
    4951//! \{
    5052
     
    176178#define SCM_T0056_IBC_VALIDATE_TILES                     1 ///< Print at decoder when IBC reaches outside of current tile
    177179#define SCM_GET_DERIVED_BV_BUGFIX                        1 ///< Bug fix in related to block vector derivation
    178180#define SCM_IBC_MVP_ENC_ONLY_BUGFIX                      1 ///< Encoder only bug fix for IBC block vector predictor derivation
    179 #define SCM_S0043_PLT_DELTA_QP                           0 ///< JCTVC-S0043: delta qp signalling for palette mode
     181#define SCM_S0043_PLT_DELTA_QP                           1 ///< JCTVC-S0043: delta qp signalling for palette mode
    180182#define SCM_U0090_REMOVE_LAST_RUN_TYPE_CTX               1 ///< JCTVC-U0090, last_palette_run_type_flag use the same CABAC context that is used for palette_run_type_flag
    181183#define SCM_U0104_CURR_PIC_IN_LIST1                      1 ///< JCTVC-U0104: put current picture in both L0 and L1 when IBC is enabled
    182184#define SCM_FIX_TICKET_1401                              1 ///< Fix for Ticket #1401 related to CIP process
  • Lib/TLibDecoder/TDecEntropy.cpp

     
    7474Void TDecEntropy::decodePLTModeInfo( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, Bool& bCodeDQP, Bool& isChromaQpAdjCoded )
    7575{
    7676  // Note: the condition is log2CbSize < MaxTbLog2SizeY in 7.3.8.5 of JCTVC-T1005-v2
     77#if FIX_DELTA_QP_SIGN
     78  if( pcCU->getSlice()->getSPS()->getSpsScreenExtension().getUsePLTMode() && pcCU->isIntra( uiAbsPartIdx ) && (pcCU->getSlice()->getSPS()->getMaxCUWidth() >> uiDepth) < 64 )
     79#else
    7780  if( pcCU->isIntra( uiAbsPartIdx ) && pcCU->getSlice()->getSPS()->getMaxCUWidth()>>uiDepth < 64 && !pcCU->isIntraBC( uiAbsPartIdx ) )
     81#endif
    7882  {
    7983    m_pcEntropyDecoderIf->parsePLTModeFlag( pcCU, uiAbsPartIdx, uiDepth );
    8084    if ( pcCU->getPLTModeFlag( uiAbsPartIdx ) )
  • Lib/TLibDecoder/TDecSbac.cpp

     
    892892      codeChromaQpAdj = false;
    893893    }
    894894
     895#if !FIX_DELTA_QP_SIGN
    895896    for (Int comp = compBegin; comp < compBegin + uiNumComp; comp++)
    896897    {
    897898      uiMaxVal[comp] = pcCU->xCalcMaxVals(pcCU, ComponentID(comp));
    898899    }
     900#endif
    899901  }
    900902#endif
    901903
  • Lib/TLibEncoder/TEncEntropy.cpp

     
    9999    }
    100100
    101101    // Note: the condition is log2CbSize < MaxTbLog2SizeY in 7.3.8.5 of JCTVC-T1005-v2
     102#if FIX_DELTA_QP_SIGN
     103    if( !pcCU->isIntra( uiAbsPartIdx ) || pcCU->getWidth(uiAbsPartIdx) == 64 )
     104#else
    102105    if( !pcCU->isIntra( uiAbsPartIdx ) || pcCU->getWidth(uiAbsPartIdx) == 64 || pcCU->isIntraBC( uiAbsPartIdx ) )
     106#endif
    103107    {
    104108      return;
    105109    }
     
    199203
    200204  if ( pcCU->getSlice()->isIntra() )
    201205  {
     206#if !FIX_DELTA_QP_SIGN
    202207    if ( pcCU->isIntra( uiAbsPartIdx ) )
    203208    {
    204209      encodePLTModeInfo( pcCU, uiAbsPartIdx );
     
    210215        }
    211216      }
    212217    }
     218#endif
    213219
    214220    return;
    215221  }
  • Lib/TLibEncoder/TEncSbac.cpp

     
    825825      *codeChromaQpAdj = false;
    826826    }
    827827
     828#if !FIX_DELTA_QP_SIGN
    828829    for (Int comp = compBegin; comp < compBegin + uiNumComp; comp++)
    829830    {
    830831      uiMaxVal[comp] = pcCU->xCalcMaxVals(pcCU, ComponentID(comp));
    831832    }
     833#endif
    832834  }
    833835#endif
    834836