<div dir="ltr">From 09e6d53ddbf5159dc711ea0b45c089b52413d5fe Mon Sep 17 00:00:00 2001<br>From: AnusuyaKumarasamy <<a href="mailto:anusuya.kumarasamy@multicorewareinc.com">anusuya.kumarasamy@multicorewareinc.com</a>><br>Date: Mon, 19 Aug 2024 11:55:53 +0530<br>Subject: [PATCH] Fix scc crash on multipass encode<br><br>---<br> source/encoder/analysis.cpp | 9 +++++++++<br> source/encoder/search.cpp   | 2 +-<br> 2 files changed, 10 insertions(+), 1 deletion(-)<br><br>diff --git a/source/encoder/analysis.cpp b/source/encoder/analysis.cpp<br>index c4261f114..53a19b29f 100644<br>--- a/source/encoder/analysis.cpp<br>+++ b/source/encoder/analysis.cpp<br>@@ -2132,6 +2132,9 @@ SplitData Analysis::compressInterCU_rd5_6(const CUData& parentCTU, const CUGeom&<br>                     md.pred[PRED_2Nx2N].cu.initSubCU(parentCTU, cuGeom, qp);<br>                     checkInter_rd5_6(md.pred[PRED_2Nx2N], cuGeom, SIZE_2Nx2N, refMasks);<br>                     checkBestMode(md.pred[PRED_2Nx2N], cuGeom.depth);<br>+#if ENABLE_SCC_EXT<br>+                    interBest = md.bestMode;<br>+#endif<br>                 }<br>                 mightSplit &= !bDecidedDepth;<br>             }<br>@@ -2153,6 +2156,9 @@ SplitData Analysis::compressInterCU_rd5_6(const CUData& parentCTU, const CUGeom&<br> <br>                     if (m_param->recursionSkipMode && depth && m_modeDepth[depth - 1].bestMode)<br>                         skipRecursion = md.bestMode && !md.bestMode->cu.getQtRootCbf(0);<br>+#if ENABLE_SCC_EXT<br>+                    interBest = md.bestMode;<br>+#endif<br>                 }<br>                 if (m_param->analysisLoadReuseLevel > 4 && m_reusePartSize[cuGeom.absPartIdx] == SIZE_2Nx2N)<br>                     skipRectAmp = true && !!md.bestMode;<br>@@ -2177,6 +2183,9 @@ SplitData Analysis::compressInterCU_rd5_6(const CUData& parentCTU, const CUGeom&<br> <br>                     if (m_param->recursionSkipMode && depth && m_modeDepth[depth - 1].bestMode)<br>                         skipRecursion = md.bestMode && !md.bestMode->cu.getQtRootCbf(0);<br>+#if ENABLE_SCC_EXT<br>+                    interBest = md.bestMode;<br>+#endif<br>                 }<br>             }<br>         }<br>diff --git a/source/encoder/search.cpp b/source/encoder/search.cpp<br>index 71a52a1cd..0df11b431 100644<br>--- a/source/encoder/search.cpp<br>+++ b/source/encoder/search.cpp<br>@@ -2507,7 +2507,7 @@ void Search::predInterSearch(Mode& interMode, const CUGeom& cuGeom, bool bChroma<br>                     mvp = checkBestMVP(amvp, outmv, mvpIdx, bits, cost);<br> <br> #if ENABLE_SCC_EXT<br>-                    if (list <= 1 && ref <= 1 && (cu.m_partSize[0] == SIZE_2NxN || cu.m_partSize[0] == SIZE_Nx2N) && (1 << cu.m_log2CUSize[0]) <= 16)<br>+                    if (m_param->bEnableSCC && (list <= 1 && ref <= 1 && (cu.m_partSize[0] == SIZE_2NxN || cu.m_partSize[0] == SIZE_Nx2N) && (1 << cu.m_log2CUSize[0]) <= 16))<br>                     {<br>                         iMVCandList[4 * list + 2 * ref + puIdx] = outmv;<br>                     }<br>-- <br>2.36.0.windows.1<br><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Aug 19, 2024 at 12:52 PM Anusuya Kumarasamy <<a href="mailto:anusuya.kumarasamy@multicorewareinc.com">anusuya.kumarasamy@multicorewareinc.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">From 3c0f24f911ab0366e48734b172ed93900167fb41 Mon Sep 17 00:00:00 2001<br>From: AnusuyaKumarasamy <<a href="mailto:anusuya.kumarasamy@multicorewareinc.com" target="_blank">anusuya.kumarasamy@multicorewareinc.com</a>><br>Date: Mon, 19 Aug 2024 11:55:53 +0530<br>Subject: [PATCH] Fix scc crash on multipass encode<br><br>---<br> source/encoder/analysis.cpp | 9 +++++++++<br> 1 file changed, 9 insertions(+)<br><br>diff --git a/source/encoder/analysis.cpp b/source/encoder/analysis.cpp<br>index c4261f114..53a19b29f 100644<br>--- a/source/encoder/analysis.cpp<br>+++ b/source/encoder/analysis.cpp<br>@@ -2132,6 +2132,9 @@ SplitData Analysis::compressInterCU_rd5_6(const CUData& parentCTU, const CUGeom&<br>                     md.pred[PRED_2Nx2N].cu.initSubCU(parentCTU, cuGeom, qp);<br>                     checkInter_rd5_6(md.pred[PRED_2Nx2N], cuGeom, SIZE_2Nx2N, refMasks);<br>                     checkBestMode(md.pred[PRED_2Nx2N], cuGeom.depth);<br>+#if ENABLE_SCC_EXT<br>+                    interBest = md.bestMode;<br>+#endif<br>                 }<br>                 mightSplit &= !bDecidedDepth;<br>             }<br>@@ -2153,6 +2156,9 @@ SplitData Analysis::compressInterCU_rd5_6(const CUData& parentCTU, const CUGeom&<br> <br>                     if (m_param->recursionSkipMode && depth && m_modeDepth[depth - 1].bestMode)<br>                         skipRecursion = md.bestMode && !md.bestMode->cu.getQtRootCbf(0);<br>+#if ENABLE_SCC_EXT<br>+                    interBest = md.bestMode;<br>+#endif<br>                 }<br>                 if (m_param->analysisLoadReuseLevel > 4 && m_reusePartSize[cuGeom.absPartIdx] == SIZE_2Nx2N)<br>                     skipRectAmp = true && !!md.bestMode;<br>@@ -2177,6 +2183,9 @@ SplitData Analysis::compressInterCU_rd5_6(const CUData& parentCTU, const CUGeom&<br> <br>                     if (m_param->recursionSkipMode && depth && m_modeDepth[depth - 1].bestMode)<br>                         skipRecursion = md.bestMode && !md.bestMode->cu.getQtRootCbf(0);<br>+#if ENABLE_SCC_EXT<br>+                    interBest = md.bestMode;<br>+#endif<br>                 }<br>             }<br>         }<br>-- <br>2.36.0.windows.1<br><br></div>
</blockquote></div>