Opened 11 years ago Closed 11 years ago #1210 closed defect (invalid)Mismatch between HM and Spec on clipping interpolated BiDir samples
Description
In TComInterpolationFilter::filter(), when isLast is true, the interpolated samples are clipped with the following code:
This clipping operation is not in "8.5.3.3.3 Fractional sample interpolation process". In rare cases, an interpolated sample can be negative prior to the above clipping, due to negative filter coefficients.
In the case of uni-directional prediction, the above clipping is innocuous, because there is equivalent clipping specified during uni-directional weighting.
In the case of bi-directional prediction, 2 interpolated samples are added and the result is clipped; see "8.5.3.3.4 Weighted sample prediction process", expressions 8-239 and 8-252. If either interpolated sample is negative, there can be a different result depending on if the interpolated sample was clipped in filter() or not. If an encoder "pre-clips" and a decoder does not, there can be drift. Change History (2)comment:1 Changed 11 years ago by DefaultCC Plugin
comment:2 Changed 11 years ago by fbossen
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
|
In the bi-directional case isLast is always be false (no clipping).