Opened 13 years ago Closed 12 years ago #640 closed defect (fixed)Fix of deltaU calculation when ADAPTIVE_QP_SELECTION is 0
Description
When the macro ADAPTIVE_QP_SELECTION is set to 0 (default is 1), the variable 'deltaU' in function TComTrQuant::xQuant() is given by
deltaU[uiBlockPos] = (Int)( ((Int64)abs(iLevel) * piQuantCoeff[uiBlockPos] - (iLevel<<iQBits) )>> qBits8 );
The calulation is incorrect because piQuantCoeff should be multiplied with piCoef, not iLevel. The correct derivation is as follows
deltaU[uiBlockPos] = (Int)( ((Int64)abs(piCoef[uiBlockPos]) * piQuantCoeff[uiBlockPos] - (iLevel<<iQBits) )>> qBits8 );
A patch based on HM-7.1-2574 is provided to fix the problem. Attachments (1)Change History (4)comment:1 Changed 13 years ago by DefaultCC Plugin
Changed 13 years ago by wangjcomment:2 Changed 12 years ago by davidfcomment:3 Changed 12 years ago by davidf
Note: See
TracTickets for help on using
tickets. | This list contains all users that will be notified about changes made to this ticket. These roles will be notified: Reporter, Owner, Subscriber, Participant
|
Resolved in r3097