From 507c372276a8802a76afca7c8c7b7ea90c1321ee Mon Sep 17 00:00:00 2001 From: Vincent Rabaud Date: Tue, 2 Dec 2025 17:52:43 +0100 Subject: [PATCH] Clarify dc[k]^ range Change-Id: If748958c8dd4f82bbef974aa4f40a4d0a758d10b --- src/enc/analysis_enc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/enc/analysis_enc.c b/src/enc/analysis_enc.c index 880cb39b..4c7b62c1 100644 --- a/src/enc/analysis_enc.c +++ b/src/enc/analysis_enc.c @@ -269,8 +269,12 @@ static int FastMBAnalyze(VP8EncIterator* const it) { VP8Mean16x4(it->yuv_in + Y_OFF_ENC + k * BPS, &dc[k]); } for (m = 0, m2 = 0, k = 0; k < 16; ++k) { + // dc[k] is at most 16 (for loop of 16)*(16*255) (max value in dc after + // Mean16x4, which uses two nested loops of 4). Squared as (16*16*255)^2, it + // fits in a uint32_t. + const uint32_t dc2 = dc[k] * dc[k]; m += dc[k]; - m2 += (uint64_t)dc[k] * dc[k]; + m2 += dc2; } if (kThreshold * m2 < m * m) { VP8SetIntra16Mode(it, 0); // DC16