aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSuyog Pawar <suyog.pawar@ittiam.com>2023-10-27 17:54:17 +0530
committerHarish Mahendrakar <harish.mahendrakar@ittiam.com>2023-10-30 23:59:12 -0700
commit1fc38510452c78ab8f2a79a169b44c98779a4492 (patch)
tree12ecf11f71e76a88cd293797ebf9947f85d29371
parentd819e51e1133825e41de405dbb301d6a33521d35 (diff)
downloadlibhevc-1fc38510452c78ab8f2a79a169b44c98779a4492.tar.gz
libhevcenc: fix overflow during intermediate computes of qp modulation
Test: ./hevc_enc_fuzzer Bug: 295984567
-rw-r--r--encoder/ihevce_decomp_pre_intra_pass.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/encoder/ihevce_decomp_pre_intra_pass.c b/encoder/ihevce_decomp_pre_intra_pass.c
index 065fcbb..e272f82 100644
--- a/encoder/ihevce_decomp_pre_intra_pass.c
+++ b/encoder/ihevce_decomp_pre_intra_pass.c
@@ -859,7 +859,7 @@ WORD32 ihevce_cu_level_qp_mod(
*pi4_act_factor = (1 << QP_LEVEL_MOD_ACT_FACTOR);
if(cu_satd != -1 && (WORD32)frm_avg_activity != 0)
{
- ULWORD64 sq_cur_satd = (cu_satd * cu_satd);
+ ULWORD64 sq_cur_satd = ((ULWORD64)cu_satd * (ULWORD64)cu_satd);
float log2_sq_cur_satd = fast_log2(1 + sq_cur_satd);
WORD32 qp_offset = f_mod_strength * (log2_sq_cur_satd - frm_avg_activity);