Deepthi, 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.
Pradeep. On Tue, Sep 27, 2016 at 12:39 AM, Tom Vaughan < [email protected]> wrote: > 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. > > > > *From:* x265-devel [mailto:[email protected]] *On Behalf Of > *Deepthi Nandakumar > *Sent:* Monday, September 26, 2016 12:01 PM > *To:* Development for x265 > *Subject:* Re: [x265] [PATCH] modify the minimum keyint value > > > > 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. > > > > On Thu, Sep 22, 2016 at 3:14 AM, <[email protected]> > wrote: > > # HG changeset patch > # User Gopi Satykrishna Akisetty <[email protected]> > # Date 1474539223 -19800 > # Thu Sep 22 15:43:43 2016 +0530 > # Node ID 24ecccf7b435e849545e161a0992f452875f6bbc > # Parent bdf098eefd35b70b68419f5a204e60f1df4aeae1 > modify the minimum keyint value > > This patch enables fixed gop size even when scenecut option is enabled > > diff -r bdf098eefd35 -r 24ecccf7b435 doc/reST/cli.rst > --- a/doc/reST/cli.rst Thu Sep 22 13:26:57 2016 +0530 > +++ b/doc/reST/cli.rst Thu Sep 22 15:43:43 2016 +0530 > @@ -1141,10 +1141,10 @@ > .. option:: --min-keyint, -i <integer> > > Minimum GOP size. Scenecuts closer together than this are coded as > I > - or P, not IDR. Minimum keyint is clamped to be at least half of > - :option:`--keyint`. If you wish to force regular keyframe intervals > + or P, not IDR. If you wish to force regular keyframe intervals > and disable adaptive I frame placement, you must use > - :option:`--no-scenecut`. > + :option:`--no-scenecut` or give minimum keyint equal to keyint > + with scenecut enabled. > > **Range of values:** >=0 (0: auto) > > diff -r bdf098eefd35 -r 24ecccf7b435 source/encoder/encoder.cpp > --- a/source/encoder/encoder.cpp Thu Sep 22 13:26:57 2016 +0530 > +++ b/source/encoder/encoder.cpp Thu Sep 22 15:43:43 2016 +0530 > @@ -1660,7 +1660,7 @@ > double fps = (double)p->fpsNum / p->fpsDenom; > p->keyframeMin = X265_MIN((int)fps, p->keyframeMax / 10); > } > - p->keyframeMin = X265_MAX(1, X265_MIN(p->keyframeMin, p->keyframeMax > / 2 + 1)); > + p->keyframeMin = X265_MAX(1, p->keyframeMin); > > if (!p->bframes) > p->bBPyramid = 0; > _______________________________________________ > x265-devel mailing list > [email protected] > https://mailman.videolan.org/listinfo/x265-devel > > > > > > -- > > Deepthi > > _______________________________________________ > x265-devel mailing list > [email protected] > https://mailman.videolan.org/listinfo/x265-devel > >
_______________________________________________ x265-devel mailing list [email protected] https://mailman.videolan.org/listinfo/x265-devel
