<div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif">From 465d64623a692f73f0bb87d3b14b07eba0d97c37 Mon Sep 17 00:00:00 2001<br>From: Pavan Tarun <<a href="mailto:pavan.tarun@multicorewareinc.com">pavan.tarun@multicorewareinc.com</a>><br>Date: Tue, 13 Aug 2024 15:27:44 +0530<br>Subject: [PATCH] Fix lowpassdct negative shift operator<br><br>---<br> source/common/lowpassdct.cpp | 6 +++---<br> 1 file changed, 3 insertions(+), 3 deletions(-)<br><br>diff --git a/source/common/lowpassdct.cpp b/source/common/lowpassdct.cpp<br>index 0dc10a6aa..b1c75bc7c 100644<br>--- a/source/common/lowpassdct.cpp<br>+++ b/source/common/lowpassdct.cpp<br>@@ -58,7 +58,7 @@ static void lowPassDct8_c(const int16_t* src, int16_t* dst, intptr_t srcStride)<br>     }<br> <br>     // replace first coef with total block average<br>-    dst[0] = totalSum >> (-1 + (X265_DEPTH - 8));<br>+    dst[0] = (X265_DEPTH == 8) ? (totalSum << 1) : (totalSum >> ((X265_DEPTH - 9)));<br> }<br> <br> static void lowPassDct16_c(const int16_t* src, int16_t* dst, intptr_t srcStride)<br>@@ -83,7 +83,7 @@ static void lowPassDct16_c(const int16_t* src, int16_t* dst, intptr_t srcStride)<br>     {<br>         memcpy(&dst[i * 16], &coef[i * 8], 8 * sizeof(int16_t));<br>     }<br>-    dst[0] = static_cast<int16_t>(totalSum >> (1 + (X265_DEPTH - 8)));<br>+    dst[0] = static_cast<int16_t>(totalSum >> (1 + (X265_DEPTH - 8)));<br> }<br> <br> static void lowPassDct32_c(const int16_t* src, int16_t* dst, intptr_t srcStride)<br>@@ -108,7 +108,7 @@ static void lowPassDct32_c(const int16_t* src, int16_t* dst, intptr_t srcStride)<br>     {<br>         memcpy(&dst[i * 32], &coef[i * 16], 16 * sizeof(int16_t));<br>     }<br>-    dst[0] = static_cast<int16_t>(totalSum >> (3 + (X265_DEPTH - 8)));<br>+    dst[0] = static_cast<int16_t>(totalSum >> (3 + (X265_DEPTH - 8)));<br> }<br> <br> namespace X265_NS {<br>-- <br>2.46.0<br><br></div></div>