>From b350db14ece0f102a40ee6fa1a132ad284f7a347 Mon Sep 17 00:00:00 2001
From: Kompalli Nithin <[email protected]>
Date: Mon, 23 Jun 2025 18:58:41 +0530
Subject: [PATCH] Fix inconsistent bitrate in second pass

---
 source/common/lowres.cpp | 23 ++++++++++++++---------
 1 file changed, 14 insertions(+), 9 deletions(-)

diff --git a/source/common/lowres.cpp b/source/common/lowres.cpp
index 257259cde..eda58f638 100644
--- a/source/common/lowres.cpp
+++ b/source/common/lowres.cpp
@@ -418,15 +418,20 @@ void Lowres::init(PicYuv *origPic, int poc)
     int cuCount = maxBlocksInRow * maxBlocksInCol;
     int cuCountFullRes = (origPic->m_param->rc.qgSize > 8) ? cuCount : cuCount 
<< 2;
     memset(intraCost, 0, sizeof(int32_t) * cuCount);
-    if (!!origPic->m_param->rc.aqMode || !!origPic->m_param->rc.hevcAq || 
!!origPic->m_param->bAQMotion || !!origPic->m_param->bEnableWeightedPred || 
!!origPic->m_param->bEnableWeightedBiPred)
-        {
-        memset(qpAqOffset, 0.0, sizeof(double) * cuCountFullRes);
+    memset(edgeInclined, 0, sizeof(int) * cuCountFullRes);
+    if (!origPic->m_param->rc.bStatRead &&
+        (origPic->m_param->rc.aqMode || origPic->m_param->rc.hevcAq ||
+            origPic->m_param->bAQMotion || 
origPic->m_param->bEnableWeightedPred ||
+            origPic->m_param->bEnableWeightedBiPred))
+    {
+        memset(qpAqOffset, 0, sizeof(double) * cuCountFullRes);
         memset(invQscaleFactor, 0, sizeof(int) * cuCountFullRes);
-        memset(qpCuTreeOffset, 0.0, sizeof(double) * cuCountFullRes);
+        memset(qpCuTreeOffset, 0, sizeof(double) * cuCountFullRes);
         if (origPic->m_param->rc.qgSize == 8)
-             memset(invQscaleFactor8x8, 0, sizeof(int) * cuCount);
-        memset(edgeInclined, 0, sizeof(int) * cuCountFullRes);
-        }
-     if (origPic->m_param->bAQMotion)
-        memset(qpAqMotionOffset, 0.0, sizeof(double) * cuCountFullRes);
+            memset(invQscaleFactor8x8, 0, sizeof(int) * cuCount);
+    }
+    if (origPic->m_param->bAQMotion && !origPic->m_param->rc.bStatRead)
+    {
+        memset(qpAqMotionOffset, 0, sizeof(double) * cuCountFullRes);
+    }
 }
--
2.45.2.windows.1



Attachment: Fix-inconsistent-bitrate-in-second-pass.patch
Description: Fix-inconsistent-bitrate-in-second-pass.patch

_______________________________________________
x265-devel mailing list
[email protected]
https://mailman.videolan.org/listinfo/x265-devel

Reply via email to