<div dir="ltr"><div>Deepthi,</div><div>The behavior of scene-cut doesn't change in anyway. For closed-gop, if a scenecut is detected beyond min-keyint, an IDR frame is introduced, else, a non-IDR I-frame is introduced. Like Tom mentioned, disabling the automatic clipping of min-keyint enables x265 to guarantee a fixed-GOP length (between IDR-frames) when min-keyint is set to keyint even with scenecut-enabled. From our experiments, this seems to give better encoding efficiency than turning off scencut detection to guarantee fixed GOP lengths.</div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Pradeep.</div><div><br></div></div></div></div></div></div></div></div></div></div></div><div class="gmail_quote">On Tue, Sep 27, 2016 at 12:39 AM, Tom Vaughan <span dir="ltr"><<a href="mailto:tom.vaughan@multicorewareinc.com" target="_blank">tom.vaughan@multicorewareinc.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">We concluded that it doesn’t make sense to prevent the ability to encode with a fixed GOP size, regardless of whether or not a user wants scenecut enabled.  This patch enables users to specify a min-keyint that is equal to keyint (a fixed keyint) that x265 does not override.  Separately, we’ve also fixed our scenecut option to enable the benefits of scenecut detection with fixed GOP structures.</span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span></p><p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> x265-devel [mailto:<a href="mailto:x265-devel-bounces@videolan.org" target="_blank">x265-devel-bounces@<wbr>videolan.org</a>] <b>On Behalf Of </b>Deepthi Nandakumar<br><b>Sent:</b> Monday, September 26, 2016 12:01 PM<br><b>To:</b> Development for x265<br><b>Subject:</b> Re: [x265] [PATCH] modify the minimum keyint value</span></p><div><div class="h5"><p class="MsoNormal"> </p><div><p class="MsoNormal">Earlier, keyframeMin was fixed to the range (1, keyframeMax/2 + 1). This patch removes the upper bound, but does not change behaviour wrt scenecut threshold in any way.</p></div><div><p class="MsoNormal"> </p><div><p class="MsoNormal">On Thu, Sep 22, 2016 at 3:14 AM, <<a href="mailto:gopi.satykrishna@multicorewareinc.com" target="_blank">gopi.satykrishna@<wbr>multicorewareinc.com</a>> wrote:</p><p class="MsoNormal"># HG changeset patch<br># User Gopi Satykrishna Akisetty <<a href="mailto:gopi.satykrishna@multicorewareinc.com" target="_blank">gopi.satykrishna@<wbr>multicorewareinc.com</a>><br># Date 1474539223 -19800<br>#      Thu Sep 22 15:43:43 2016 +0530<br># Node ID 24ecccf7b435e849545e161a0992f4<wbr>52875f6bbc<br># Parent  bdf098eefd35b70b68419f5a204e60<wbr>f1df4aeae1<br>modify the minimum keyint value<br><br>This patch enables fixed gop size even when scenecut option is enabled<br><br>diff -r bdf098eefd35 -r 24ecccf7b435 doc/reST/cli.rst<br>--- a/doc/reST/cli.rst  Thu Sep 22 13:26:57 2016 +0530<br>+++ b/doc/reST/cli.rst  Thu Sep 22 15:43:43 2016 +0530<br>@@ -1141,10 +1141,10 @@<br> .. option:: --min-keyint, -i <integer><br><br>        Minimum GOP size. Scenecuts closer together than this are coded as I<br>-       or P, not IDR. Minimum keyint is clamped to be at least half of<br>-       :option:`--keyint`. If you wish to force regular keyframe intervals<br>+       or P, not IDR. If you wish to force regular keyframe intervals<br>        and disable adaptive I frame placement, you must use<br>-       :option:`--no-scenecut`.<br>+       :option:`--no-scenecut` or give minimum keyint equal to keyint<br>+       with scenecut enabled.<br><br>        **Range of values:** >=0 (0: auto)<br><br>diff -r bdf098eefd35 -r 24ecccf7b435 source/encoder/encoder.cpp<br>--- a/source/encoder/encoder.cpp        Thu Sep 22 13:26:57 2016 +0530<br>+++ b/source/encoder/encoder.cpp        Thu Sep 22 15:43:43 2016 +0530<br>@@ -1660,7 +1660,7 @@<br>         double fps = (double)p->fpsNum / p->fpsDenom;<br>         p->keyframeMin = X265_MIN((int)fps, p->keyframeMax / 10);<br>     }<br>-    p->keyframeMin = X265_MAX(1, X265_MIN(p->keyframeMin, p->keyframeMax / 2 + 1));<br>+    p->keyframeMin = X265_MAX(1, p->keyframeMin);<br><br>     if (!p->bframes)<br>         p->bBPyramid = 0;<br>______________________________<wbr>_________________<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" target="_blank">https://mailman.videolan.org/<wbr>listinfo/x265-devel</a></p></div><p class="MsoNormal"><br><br clear="all"></p><div><p class="MsoNormal"> </p></div><p class="MsoNormal">-- </p><div><p class="MsoNormal">Deepthi</p></div></div></div></div></div></div>
<br>______________________________<wbr>_________________<br>
x265-devel mailing list<br>
<a href="mailto:x265-devel@videolan.org">x265-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/x265-devel" rel="noreferrer" target="_blank">https://mailman.videolan.org/<wbr>listinfo/x265-devel</a><br>
<br></blockquote></div><br></div></div>