Ticket #603: Bugfix_Ticket603.patch

File Bugfix_Ticket603.patch, 2.4 KB (added by Tanizawa, 12 years ago)
  • source/Lib/TLibCommon/TypeDef.h

     
    4040
    4141//! \ingroup TLibCommon
    4242//! \{
     43
     44#define BUGFIX_TICKET603             1  ///< bugfix for #603
     45
    4346#define  TEMPORAL_ID_RESTRICTION         1  ///< I0600: Semantics of temporal_id changed
    4447#define PREVREFPIC_DEFN                    1   ///< I0345: prevRefPic defined as previous reference picture that is at same or lower
    4548                                            ///< temporal layer.
  • source/Lib/TLibDecoder/TDecCAVLC.cpp

     
    26912691
    26922692              Int iDeltaChroma;
    26932693              READ_SVLC( iDeltaChroma, "delta_chroma_offset_lX" );  // se(v): delta_chroma_offset_l0[i][j]
     2694#if BUGFIX_TICKET603
     2695              Int Shift = ((1<<(g_uiBitDepth+g_uiBitIncrement-1)));
     2696              Int Pred = ( Shift - ( ( Shift*wp[j].iWeight)>>(wp[j].uiLog2WeightDenom) ) );
     2697              wp[j].iOffset = iDeltaChroma + Pred;
     2698#else
    26942699              wp[j].iOffset = iDeltaChroma - ( ( (g_uiIBDI_MAX>>1)*wp[j].iWeight)>>(wp[j].uiLog2WeightDenom) ) + (g_uiIBDI_MAX>>1);
     2700#endif
    26952701            }
    26962702          }
    26972703          else
  • source/Lib/TLibEncoder/TEncCavlc.cpp

     
    17191719              Int iDeltaWeight = (wp[j].iWeight - (1<<wp[1].uiLog2WeightDenom));
    17201720              WRITE_SVLC( iDeltaWeight, "delta_chroma_weight_lX" );            // se(v): delta_chroma_weight_lX
    17211721
     1722#if BUGFIX_TICKET603
     1723              Int Shift = ((1<<(g_uiBitDepth+g_uiBitIncrement-1)));
     1724              Int Pred = ( Shift - ( ( Shift*wp[j].iWeight)>>(wp[j].uiLog2WeightDenom) ) );
     1725              Int iDeltaChroma = (wp[j].iOffset - Pred);
     1726#else
    17221727              Int iDeltaChroma = (wp[j].iOffset + ( ( (g_uiIBDI_MAX>>1)*wp[j].iWeight)>>(wp[j].uiLog2WeightDenom) ) - (g_uiIBDI_MAX>>1));
     1728#endif
    17231729              WRITE_SVLC( iDeltaChroma, "delta_chroma_offset_lX" );            // se(v): delta_chroma_offset_lX
    17241730            }
    17251731          }