<div dir="ltr">Pushed to default.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jan 30, 2020 at 10:56 AM <<a href="mailto:srikanth.kurapati@multicorewareinc.com">srikanth.kurapati@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"># HG changeset patch<br>
# User Srikanth Kurapati<br>
# Date 1579955883 -19800<br>
#      Sat Jan 25 18:08:03 2020 +0530<br>
# Node ID 802600c8e5dcc1eff03725af6f399a72c09d24f6<br>
# Parent  acc5d16999e2faf6e75ecc1df9a01c1953ebaf8c<br>
hist-scenecut: Fixes output change introduced by hist-scenecut in ultrafast mode.<br>
<br>
 Output change was due to absence of non-I scenecut frames. Enabled the old flow<br>
 for scenecut functions in lookahead so that non-I scenecut frames are present.<br>
<br>
diff -r acc5d16999e2 -r 802600c8e5dc source/encoder/slicetype.cpp<br>
--- a/source/encoder/slicetype.cpp      Mon Jan 20 18:07:59 2020 +0530<br>
+++ b/source/encoder/slicetype.cpp      Sat Jan 25 18:08:03 2020 +0530<br>
@@ -1995,12 +1995,12 @@<br>
     bool isScenecut = false;<br>
<br>
     /* When scenecut threshold is set, use scenecut detection for I frame placements */<br>
-    if (m_param->scenecutThreshold)<br>
-         isScenecut = scenecut(frames, 0, 1, true, origNumFrames);<br>
-    else if (m_param->bHistBasedSceneCut)<br>
-         isScenecut = frames[1]->bScenecut;<br>
-<br>
-    if (isScenecut)<br>
+    if (m_param->bHistBasedSceneCut)<br>
+        isScenecut = frames[1]->bScenecut;<br>
+    else<br>
+        isScenecut = scenecut(frames, 0, 1, true, origNumFrames);<br>
+<br>
+    if (isScenecut && (m_param->bHistBasedSceneCut || m_param->scenecutThreshold))<br>
     {<br>
         frames[1]->sliceType = X265_TYPE_I;<br>
         return;<br>
@@ -2011,12 +2011,12 @@<br>
         m_extendGopBoundary = false;<br>
         for (int i = m_param->bframes + 1; i < origNumFrames; i += m_param->bframes + 1)<br>
         {<br>
-            if (m_param->scenecutThreshold)<br>
+            if (!m_param->bHistBasedSceneCut)<br>
                 scenecut(frames, i, i + 1, true, origNumFrames);<br>
<br>
             for (int j = i + 1; j <= X265_MIN(i + m_param->bframes + 1, origNumFrames); j++)<br>
             {<br>
-                if (( m_param->scenecutThreshold && frames[j]->bScenecut && scenecutInternal(frames, j - 1, j, true)) || <br>
+                if ((!m_param->bHistBasedSceneCut && frames[j]->bScenecut && scenecutInternal(frames, j - 1, j, true)) || <br>
                     (m_param->bHistBasedSceneCut && frames[j]->bScenecut))<br>
                     {<br>
                         m_extendGopBoundary = true;<br>
@@ -2126,7 +2126,7 @@<br>
         {<br>
             for (int j = 1; j < numBFrames + 1; j++)<br>
             {<br>
-                if ((m_param->scenecutThreshold && scenecut(frames, j, j + 1, false, origNumFrames)) ||<br>
+                if ((!m_param->bHistBasedSceneCut && scenecut(frames, j, j + 1, false, origNumFrames)) ||<br>
                     (m_param->bHistBasedSceneCut && frames[j + 1]->bScenecut) ||<br>
                     (bForceRADL && (frames[j]->frameNum == preRADL)))<br>
                     {<br>
diff -r acc5d16999e2 -r 802600c8e5dc source/test/regression-tests.txt<br>
--- a/source/test/regression-tests.txt  Mon Jan 20 18:07:59 2020 +0530<br>
+++ b/source/test/regression-tests.txt  Sat Jan 25 18:08:03 2020 +0530<br>
@@ -161,6 +161,7 @@<br>
 Island_960x540_24.yuv,--no-cutree --aq-mode 0 --bitrate 6000 --scenecut-aware-qp<br>
 sintel_trailer_2k_1920x1080_24.yuv, --preset medium --hist-scenecut --hist-threshold 0.02 --frame-dup --dup-threshold 60 --hrd --bitrate 10000 --vbv-bufsize 15000 --vbv-maxrate 12000<br>
 sintel_trailer_2k_1920x1080_24.yuv, --preset medium --hist-scenecut --hist-threshold 0.02<br>
+sintel_trailer_2k_1920x1080_24.yuv, --preset ultrafast --hist-scenecut --hist-threshold 0.02<br>
<br>
 # Main12 intraCost overflow bug test<br>
 720p50_parkrun_ter.y4m,--preset medium<br>
_______________________________________________<br>
x265-devel mailing list<br>
<a href="mailto:x265-devel@videolan.org" target="_blank">x265-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/x265-devel" rel="noreferrer" target="_blank">https://mailman.videolan.org/listinfo/x265-devel</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><font face="georgia, serif">Regards,</font><div><b><font face="georgia, serif">Aruna Matheswaran,</font></b></div><div><font face="georgia, serif">Video Codec Engineer,</font></div><div><font face="georgia, serif">Media & AI analytics BU,</font></div><div><span><span style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"><span style="border:none;display:inline-block;overflow:hidden;width:153px;height:58px"><img src="https://lh5.googleusercontent.com/gjX5cPNIZgwUrhfqkTwQUZWztIKmmo0qs3kbwvkS5H-bDVE2ftte9pMTVnFLSjOcjYWLtfc6_OGpxW4vraLg2r5QAIf1Q3MpldFDgWtzK_gXi8ptw5B3joIbsGL6mxj-JRdjHzT5" width="96" height="36" style="margin-left: 0px; margin-top: 0px;"></span></span></span><font face="georgia, serif"><br></font></div><div><span><span style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"><span style="border:none;display:inline-block;overflow:hidden;width:153px;height:58px"><img src="https://lh5.googleusercontent.com/gjX5cPNIZgwUrhfqkTwQUZWztIKmmo0qs3kbwvkS5H-bDVE2ftte9pMTVnFLSjOcjYWLtfc6_OGpxW4vraLg2r5QAIf1Q3MpldFDgWtzK_gXi8ptw5B3joIbsGL6mxj-JRdjHzT5" style="margin-left: 0px; margin-top: 0px;"></span></span></span><font face="georgia, serif"><br></font></div><div><font face="georgia, serif"><br></font></div></div></div></div></div></div></div></div></div>