<div dir="ltr"># HG changeset patch<br># User Akil Ayyappan R <<a href="mailto:akil@multicorewareinc.com">akil@multicorewareinc.com</a>><br># Date 1588239069 -19800<br>#      Thu Apr 30 15:01:09 2020 +0530<br># Node ID 8518472465d80f9a6648375fa0733050df366c5c<br># Parent  37916f420742078b8b1f5fe231d9e5d7d7449705<br>Fix bug in frame-dup + multi pass<br><br>diff -r 37916f420742 -r 8518472465d8 source/encoder/encoder.cpp<br>--- a/source/encoder/encoder.cpp Mon Jan 06 12:06:48 2020 +0530<br>+++ b/source/encoder/encoder.cpp        Thu Apr 30 15:01:09 2020 +0530<br>@@ -5037,6 +5037,7 @@<br>     X265_PARAM_VALIDATE(saveParam->chunkStart, sizeof(int), 1, &m_param->chunkStart, chunk-start);<br>     X265_PARAM_VALIDATE(saveParam->chunkEnd, sizeof(int), 1, &m_param->chunkEnd, chunk-end);<br>     X265_PARAM_VALIDATE(saveParam->ctuDistortionRefine, sizeof(int), 1, &m_param->ctuDistortionRefine, ctu - distortion);<br>+    X265_PARAM_VALIDATE(saveParam->frameDuplication, sizeof(int), 1, &m_param->bEnableFrameDuplication, frame - dup);<br> <br>     int sourceHeight, sourceWidth;<br>     if (writeFlag)<br>diff -r 37916f420742 -r 8518472465d8 source/encoder/ratecontrol.cpp<br>--- a/source/encoder/ratecontrol.cpp Mon Jan 06 12:06:48 2020 +0530<br>+++ b/source/encoder/ratecontrol.cpp    Thu Apr 30 15:01:09 2020 +0530<br>@@ -509,6 +509,7 @@<br>                 CMP_OPT_FIRST_PASS(" keyint", m_param->keyframeMax);<br>                 CMP_OPT_FIRST_PASS("scenecut", m_param->scenecutThreshold);<br>                 CMP_OPT_FIRST_PASS("intra-refresh", m_param->bIntraRefresh);<br>+                CMP_OPT_FIRST_PASS("frame-dup", m_param->bEnableFrameDuplication);<br>                 if (m_param->bMultiPassOptRPS)<br>                 {<br>                     CMP_OPT_FIRST_PASS("multi-pass-opt-rps", m_param->bMultiPassOptRPS);<br>@@ -546,7 +547,7 @@<br>                 x265_log(m_param, X265_LOG_WARNING, "2nd pass has fewer frames than 1st pass (%d vs %d)\n",<br>                          m_param->totalFrames, m_numEntries);<br>             }<br>-            if (m_param->totalFrames > m_numEntries)<br>+            if (m_param->totalFrames > m_numEntries && !m_param->bEnableFrameDuplication)<br>             {<br>                 x265_log(m_param, X265_LOG_ERROR, "2nd pass has more frames than 1st pass (%d vs %d)\n",<br>                          m_param->totalFrames, m_numEntries);<br>diff -r 37916f420742 -r 8518472465d8 source/x265.h<br>--- a/source/x265.h       Mon Jan 06 12:06:48 2020 +0530<br>+++ b/source/x265.h     Thu Apr 30 15:01:09 2020 +0530<br>@@ -134,6 +134,7 @@<br>     int     ctuDistortionRefine;<br>     int     rightOffset;<br>     int     bottomOffset;<br>+    int     frameDuplication;<br> }x265_analysis_validate;<br> <br> /* Stores intra analysis data for a single frame. This struct needs better packing */<div><br><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><font face="verdana, sans-serif" color="#0c343d">Thanks & Regards</font><div><font face="verdana, sans-serif" color="#0c343d"><b>Akil R</b></font></div><div><font face="verdana, sans-serif" color="#0c343d" size="1">Video Codec Engineer </font></div><div><font face="verdana, sans-serif" color="#0c343d" size="1">Media & AI Analytics</font></div><div><a href="https://multicorewareinc.com/" target="_blank"><img src="https://docs.google.com/uc?export=download&id=1kc3RJu9M8bnIf6Xa5rUw2d-eEVUsPBE5&revid=0B7tw9XJBmynaemR1VUpQUi9DVytRVW5SVkRwVTFjb1hBMUcwPQ"></a><br></div></div></div></div></div></div></div></div></div></div></div>