Custom query (1557 matches)

Filters
 
or
 
  
 
Columns

Show under each result:


Results (7 - 9 of 1557)

1 2 3 4 5 6 7 8 9 10 11 12 13
Ticket Resolution Summary Owner Reporter
#42 fixed CTU bits/distortion calculation mistake for I slice when QTBT is enabled FangliangSong
Description

Because of separated luma CTB and chroma CTB for I Slice, TEncCu::xCompressCU is invoked twice in TEncCu::compressCtu, the first time for the luma CTB encoding and the second time for the chroma CTB encoding. On the second invocation, four bits/distortion related values of CTU in pCtu (function parameter of TEncCu::compressCtu): m_dTotalCost, m_uiTotalDistortion, m_uiTotalBits, and m_uiNumPartition, are overwritten. It leads to the four values of a CTU are that of chroma CTB in the CTU, and that of luma CTB in the CTU are excluded since JEM-3.0. The mistake has two influences:

  1. R-D related values of I slice are that of chroma components, and the slice level delta QP RDO process does wrong QP selection when DeltaQpRD is on.
  2. The remaining bit number of current I frame is updated incorrectly when CTU level rate control is on. More specially, the remaining bit number of current I frame is only subtracted by chroma CTB bits.

The original code of encoding chroma CTB is as below: #if JVET_C0024_QTBT if (pCtu->getSlice()->isIntra()) {

… xCompressCU(/*long arguments*/);

} #endif A simple solution to this bug is as below: #if JVET_C0024_QTBT if (pCtu->getSlice()->isIntra()) {

… Double dLumaTotalCost = pCtu->getTotalCost(); Distortion dLumaTotalDistortion = pCtu->getTotalDistortion(); UInt uiLumaTotalBits = pCtu->getTotalBits(); UInt uiLumaTotalBins = pCtu->getTotalBins(); xCompressCU(/*long arguments*/); pCtu->getTotalCost() += dLumaTotalCost; pCtu->getTotalDistortion() += dLumaTotalDistortion; pCtu->getTotalBits() += uiLumaTotalBits; pCtu->getTotalBins() += uiLumaTotalBins;

} #endif The bug still exit in latest software version (JEM-4.1), and has no impact under CTC.

#45 fixed Console output error of nQP when LCU level rate control is enabled FangliangSong
Description

When encoding, nQP and QP is outputed in the console. nQP means the nearest QP to the step size (JCTVC-G382), and have different value with QP only when the option AdaptiveQpSelection(-aqps) is enabled. However, when LCU level rate control is enabled, nQP is different from QP for every frame, including I frames.

For current HM software, when LCU level rate control is enabled, the output value of nQP is the QP of last LCU in current frame. The QP of last LCU in current frame should not be assigned to TComSlice::m_iSliceQpBase.

The following code in the function body of TEncSlice::compressSlice should be removed:

#if ADAPTIVE_QP_SELECTION
      pCtu->getSlice()->setSliceQpBase( estQP );
#endif

After removing these code, all of output information in console remain the same except nQP value in RA and LD cases.

#1603 fixed The array mvFieldNeighbours of the class MergeCtx has overflowed. Haruhiko
Description

In the function MergeItem::importMergeInfo, the variable mergeIdx becomes larger than MRG_MAX_NUM_CANDS and overflows the array mergeCtx.mvFieldNeighbours. This seems to occur when the function importMergeInfo is called from EncCu::addMmvdCandsToPruningList, so the value of mmvdIdx.val in the argument of mmvdMerge->importMergeInfo appears to be incorrect.

1 2 3 4 5 6 7 8 9 10 11 12 13
Note: See TracQuery for help on using queries.