﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
1480	Data Overflow at Adaptive Color Transform HM Implementation	swong10		"There is not enough precision in the internal stages of the Adaptive Color Transform.
Solution : The intermediate ACT stages must use more than 16b to avoid overflow, when not using HIGH_BIT_DEPTH_SUPPORT.

Section 8.6.8.2 (H.265 12/2016 spec)
– Residual samples rY[ x ][ y ], rCb[ x ][ y ] and rCr[ x ][ y ] are modified as follows:
tmp = rY[ x ][ y ] − ( rCb[ x ][ y ] >> 1 )  (8-338)
rY[ x ][ y ] = tmp + rCb[ x ][ y ]           (8-339)
rCb[ x ][ y ] = tmp − ( rCr[ x ][ y ] >> 1 ) (8-340)
rCr[ x ][ y ] += rCb[ x ][ y ]               (8-341)


When without HIGH_BIT_DEPTH_SUPPORT, HM C-model using only Short (16b; typedef Short Pel) to store pDst0/1/2.

HM-16.15+SCM-8.5
File : TComYuv.cpp, function Void TComYuv::convert()
Pel* pDst0

Int  t = yo - (cg>>1);
pDst0[x] = cg + t;
pDst1[x] = t - (co>>1);
pDst2[x] = co + pDst1[x];



Thanks
Sam.
"	defect	closed	major		HM SCC		fixed	Adaptive Color Transform	ksuehring davidf karlsharman jct-vc@…
