//計算失真
ruiDist = xFindDistortionFrame(pcPic->getPicYuvOrg(), pcPic->getPicYuvRec(), pcPic->getPicSym()->getSPS().getBitDepths());
UInt64 TEncGOP::xFindDistortionFrame (TComPicYuv* pcPic0, TComPicYuv* pcPic1, const BitDepths &bitDepths)
{
UInt64 uiTotalDiff = 0;
for(Int chan=0; chan<pcPic0 ->getNumberValidComponents(); chan++)
{
const ComponentID ch=ComponentID(chan);
Pel* pSrc0 = pcPic0 ->getAddr(ch);
Pel* pSrc1 = pcPic1 ->getAddr(ch);
UInt uiShift = 2 * DISTORTION_PRECISION_ADJUSTMENT(bitDepths.recon[toChannelType(ch)]-8);
const Int iStride = pcPic0->getStride(ch);
const Int iWidth = pcPic0->getWidth(ch);
const Int iHeight = pcPic0->getHeight(ch);
for(Int y = 0; y < iHeight; y++ )
{
for(Int x = 0; x < iWidth; x++ )
{
Intermediate_Int iTemp = pSrc0[x] - pSrc1[x];
uiTotalDiff += UInt64((iTemp*iTemp) >> uiShift);
}
pSrc0 += iStride;
pSrc1 += iStride;
}
}