Changeset 583 in 3DVCSoftware for branches/HTMDEV2.0dev3SCUHisilicon/source/Lib/TLibCommon/TComRdCost.cpp
 Timestamp:
 17 Aug 2013, 15:12:24 (11 years ago)
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

branches/HTMDEV2.0dev3SCUHisilicon/source/Lib/TLibCommon/TComRdCost.cpp
r582 r583 486 486 #if SCU_HS_FAST_DEPTH_INTRA_E0238 487 487 488 UInt TComRdCost::calcVAR (Pel* pi0, Int uiWidth, Int uiHeight, Int cuDepth)488 UInt TComRdCost::calcVAR (Pel* pi0, Int width, Int height, Int stride, Int cuDepth) 489 489 { 490 Int x, y;491 490 Int temp = 0; 492 491 493 for (x = 0; x < uiHeight; x++) 494 { 495 for (y = 0; y < uiWidth; y++) 496 { 497 temp += pi0[x*uiHeight+y]; 498 } 499 } 492 for (Int y = 0; y < height; y++) 493 { 494 for (Int x = 0; x < width; x++) 495 { 496 temp += pi0[ y * stride + x ]; 497 } 498 } 499 500 500 Int cuMaxLog2Size = g_aucConvertToBit[g_uiMaxCUWidth]+2; 501 if (uiWidth == 4) 502 { 503 cuDepth = cuMaxLog2Size2; 504 } 505 506 temp = temp >> (cuMaxLog2SizecuDepth)*2; 507 508 UInt uiSum = 0; 509 for (x = 0; x < uiHeight; x++) 510 { 511 for (y = 0; y < uiWidth; y++) 512 { 513 uiSum += (pi0[x*uiHeight+y]temp)*(pi0[x*uiHeight+y]temp); 514 } 515 } 516 return (uiSum >> (cuMaxLog2SizecuDepth)*2); 501 502 if ( width == 4 ) // GT: What is the rational behind this? 503 { 504 cuDepth = cuMaxLog2Size  2; 505 } 506 507 temp = temp >> (cuMaxLog2SizecuDepth) * 2; 508 509 UInt sum = 0; 510 for (Int y = 0; y < height; y++) 511 { 512 for (Int x = 0; x < width; x++) 513 { 514 sum += (pi0[ y * stride + x ]  temp ) * (pi0[ y * stride + x ]  temp ); 515 } 516 } 517 return (sum >> (cuMaxLog2SizecuDepth)*2); 517 518 518 519 }
Note: See TracChangeset for help on using the changeset viewer.