[x265] [patch]Fix-inconsistent-bitrate-in-second-pass

Kompalli Nithin kompalli.nithin at multicorewareinc.com
Wed Jun 25 10:05:24 UTC 2025


>From b350db14ece0f102a40ee6fa1a132ad284f7a347 Mon Sep 17 00:00:00 2001
From: Kompalli Nithin <kompalli.nithin at multicorewareinc.com>
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



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20250625/2a2f8ddc/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Fix-inconsistent-bitrate-in-second-pass.patch
Type: application/octet-stream
Size: 2183 bytes
Desc: Fix-inconsistent-bitrate-in-second-pass.patch
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20250625/2a2f8ddc/attachment.obj>


More information about the x265-devel mailing list