Custom query (96 matches)


Show under each result:

Results (52 - 54 of 96)

Ticket Resolution Summary Owner Reporter
#54 fixed Timing on clipping vectors tech shimizu.shinya

In the current HTM, motion/disparity vectors are clipped before storing them in some cases although they should be clipped before generating prediction signals. In other words, motion/disparity vectors in the motion storage should not be clipped.

At least, I found such wrong clippings in TComDataCU::xAddVspCand, TComDataCU::xAddIvMRGCand, TComDataCU::xGetInterMergeCandidates (6 places), TComDataCU::getDisMvpCandNBDV (2 places), TComDataCU::estimateDVFromDM, TComDataCU::xCheckSpatialNBDV, TComDataCU::getInterViewMergeCands (3 places). After removing these clipping, it becomes necessary to add clipping in TComPrediction::xPredInterUniARP since NBDV becomes a non-clipped vector.

#55 fixed Pruning process for DV candidate in HTM 9.3 tech parkmw

In HTM 9.3, the wrong motion information is used for pruning of DV candidate.

Line 4497 in TComDataCU.cpp is if(puhInterDirNeighbours[iCount] == puhInterDirNeighbours[iCnloop] && pcMvFieldNeighbours[iCnloop<<1]==pcMvFieldNeighbours[(iCount<<1)] && pcMvFieldNeighbours[(iCnloop<<1)+1]==pcMvFieldNeighbours[(iCount<<1)+1])

It should be fixed to if(ivCandDir[1] == puhInterDirNeighbours[iCnloop] && pcMvFieldNeighbours[iCnloop<<1]==tmpMV[0] && pcMvFieldNeighbours[(iCnloop<<1)+1]==tmpMV[1])

#56 fixed A bug caused by uncompressed InterDir in HTM10.0rc1 tech kaizhang

A bug is found in HTM10.0rc1. Generally speaking, the original code tries to use InterDir to determine the prediction direction. However, InterDir is not compressed as MV and RefIdx. Thus a misalignment may occur. In some worse case, the codec may crash, although that does not happen in CTC. Attached please find a possible fix with macro HTM10RC1_FIX and the simulation results under CTC. There is a very minor difference (<0.001%) in the last column.

At line 4746 in TComDataCU.cpp, it should be #if !HTM10RC1_FIX

if( ucInterDir & 1 ) {


pcTextureCU->getMvField( pcTextureCU, uiPartIdx, REF_PIC_LIST_0, cMVField );

#if HTM10RC1_FIX

if( cMVField.getRefIdx() >= 0 ) {

#endif ...

At line 4775 in TComDataCU.cpp, it should be

#if !HTM10RC1_FIX

if( !tmpDir && ( ucInterDir & 2 )) {


pcTextureCU->getMvField( pcTextureCU, uiPartIdx, REF_PIC_LIST_1, cMVField );

#if HTM10RC1_FIX

if( !tmpDir && cMVField.getRefIdx() >= 0 ) {


Thank you!

Note: See TracQuery for help on using queries.