Custom query (1557 matches)
Results (37 - 39 of 1557)
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:
The original code of encoding chroma CTB is as below: #if JVET_C0024_QTBT if (pCtu->getSlice()->isIntra()) {
} #endif A simple solution to this bug is as below: #if JVET_C0024_QTBT if (pCtu->getSlice()->isIntra()) {
} #endif The bug still exit in latest software version (JEM-4.1), and has no impact under CTC. |
||||
#43 | fixed | Different coding performance when D0127 is on/off | pohanlin | ||
Description |
In JEM4 software, the following code in TEncSearch.cpp causes different coding performance in some particular sequences/QP when D0127 is on/off. #if JVET_D0127_REDUNDANCY_REMOVAL
We found that the intra mode candidate lists in the uiHadModeList array could be diffrent from the original order if the HAD cost of two intra modes are the same. In the situation, the coding performance may be different when the NSST index is equal to 3. The situation will cause the syntax change. Suggest to correct it. |
||||
#44 | fixed | Inconsistent implementation of zero-out for large transforms | XiangLi | ||
Description |
The implementations of zero-out for large transforms are not consistent in JEM-5 and earlier versions. In one place, the non-zero-out region is checked to be the top-left quarter of a block, #if JVET_C0046_ZO_ASSERT && JVET_C0046_ZO_ASSERT_CODED_SBK_FLAG
#endif While in another place, the non-zero-out region is checked to be no larger than 32x32 block, as below assert((posLastX < JVET_C0024_ZERO_OUT_TH) && (posLastY < JVET_C0024_ZERO_OUT_TH)); Moreover, duplicated variables are declared for the thresholds, i.e., JVET_C0046_ZERO_OUT_TH and JVET_C0024_ZERO_OUT_TH. It is proposed to make consistent implementation (always use threshold so that the max non-zero-out region is 32x32) to avoid confusion and clean redundant macros and code. A patch is attached for the proposed changes. |