﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
1519	Mismatch VTM/spec in DMVR process for bitdepth > 10	forayr		"In VTM, before applying the bilinear interpolation filter for the DMVR, the mv are clipped to the picture size + 8 border pixel (InterPrediction::xinitMC()). Doing this, the fractional part of the MV become 0 when the mv is clipped.

In the specification (8.5.3.2.2), this clip is not present, only the position of the pixel is clipped to the picture when fetching its value. The fractional part of the MV is therefore not modified.

So we can have a case where no filtering is applied in a direction in the VTM, but this filtering is done in the spec.
The issue is only present when xFrac != 0 and yFrac != 0.

For example: if we consider a case where the mv target an area outside the picture and the margin horizontally, with xFrac = 8 and yFrac = 8, with the pixel value at the picture border: 
75
56

In VTM, no filtering is applied horizontally, vertically we obtains 
    (75 * 8 + 56 * 8 + 1<<(Bitdepth - 7)) >> (Bidepth - 6) = 16 (if Bitdepth = 12)
In spec, the filtering is applied both horizontally and vertically:
 horizontally:
    (75 * 8 + 75 * 8 + 1<<(Bitdepth - 7)) >> (Bidepth - 6) = 19 (if Bitdepth = 12)
    (56 * 8 + 56 * 8 + 1<<(Bitdepth - 7)) >> (Bidepth - 6) = 14 (if Bitdepth = 12)
 vertically: 
    (19 * 8 + 14 * 8 + 8) >> 4 = 17 
So we don't have the same result after interpolation. This issue is present only when Bitdepth > 10."	defect	closed	minor	VTM-16.0	VTM	VTM-15.0	fixed		ksuehring XiangLi fbossen jvet@…
