Ticket #242: ListCOmbination_bugfix.patch

File ListCOmbination_bugfix.patch, 2.9 KB (added by tktan, 13 years ago)
  • source/App/TAppEncoder/TAppEncCfg.cpp

     
    196196  ("LowDelayCoding",         m_bUseLDC,             false, "low-delay mode")
    197197  ("GPB", m_bUseGPB, false, "generalized B instead of P in low-delay mode")
    198198#endif
     199#if LC_BUGFIX
     200  ("ListCombination,-lc", m_bUseLComb, true, "combined reference list flag for uni-prediction in B-slices")
     201#else
    199202  ("ListCombination, -lc", m_bUseLComb, true, "combined reference list for uni-prediction in B-slices")
     203#endif
    200204  ("LCModification", m_bLCMod, false, "enables signalling of combined reference list derivation")
    201205#if !G1002_RPS
    202206  ("NRF", m_bUseNRF,  true, "non-reference frame marking in last layer")
     
    786790  {
    787791    xConfirmPara(m_pcGOPList[i].m_iSliceType!='B'&&m_pcGOPList[i].m_iSliceType!='P', "Slice type must be equal to B or P");
    788792  }
     793#if LC_BUGFIX
     794  xConfirmPara( m_bUseLComb==false && m_uiMaxNumberOfReorderPictures!=0, "ListCombination can only be 0 in low delay coding (more precisely when L0 and L1 are identical)" );  // Note however this is not the full necessary condition as ref_pic_list_combination_flag can only be 0 if L0 == L1.
     795#endif
    789796#else
    790797#if REF_SETTING_FOR_LD
    791798  xConfirmPara( m_bUseNewRefSetting && m_iGOPSize>1, "New reference frame setting was only designed for LD setting" );
  • source/App/TAppEncoder/TAppEncCfg.h

     
    7676#if G1002_RPS
    7777  Int       m_iExtraRPSs;
    7878  GOPEntry  m_pcGOPList[MAX_GOP];
     79#if LC_BUGFIX
     80  UInt      m_uiMaxNumberOfReorderPictures;                   ///< total number of reorder pictures
     81  UInt      m_uiMaxNumberOfReferencePictures;                 ///< total number of reference pictures needed for decoding
     82#else
    7983  UInt      m_uiMaxNumberOfReorderPictures;                   ///< total number of reference pictures needed for decoding
    8084  UInt      m_uiMaxNumberOfReferencePictures;                 ///< total number of reorder pictures
     85#endif
    8186#else
    8287  Int       m_iRateGOPSize;                                   ///< GOP size for QP variance
    8388  Int       m_iNumOfReference;                                ///< total number of reference frames in P-slice
  • source/Lib/TLibCommon/TypeDef.h

     
    3838#ifndef _TYPEDEF__
    3939#define _TYPEDEF__
    4040
     41#define LC_BUGFIX                 1
     42
    4143//! \ingroup TLibCommon
    4244//! \{
    4345#define PADDING_INTRA             1 ///< G812: padding from bottom left, copy previous pixel instead of averaging