[x265] [x265 Patch] Fix bug in frame-dup + multi pass

Aruna Matheswaran aruna at multicorewareinc.com
Mon May 4 13:18:37 CEST 2020


Pushed to Release_3.3 and grafted to default.

On Mon, May 4, 2020 at 10:29 AM Akil <akil at multicorewareinc.com> wrote:

> # HG changeset patch
> # User Akil Ayyappan R <akil at multicorewareinc.com>
> # Date 1588239069 -19800
> #      Thu Apr 30 15:01:09 2020 +0530
> # Node ID 8518472465d80f9a6648375fa0733050df366c5c
> # Parent  37916f420742078b8b1f5fe231d9e5d7d7449705
> Fix bug in frame-dup + multi pass
>
> diff -r 37916f420742 -r 8518472465d8 source/encoder/encoder.cpp
> --- a/source/encoder/encoder.cpp Mon Jan 06 12:06:48 2020 +0530
> +++ b/source/encoder/encoder.cpp Thu Apr 30 15:01:09 2020 +0530
> @@ -5037,6 +5037,7 @@
>      X265_PARAM_VALIDATE(saveParam->chunkStart, sizeof(int), 1,
> &m_param->chunkStart, chunk-start);
>      X265_PARAM_VALIDATE(saveParam->chunkEnd, sizeof(int), 1,
> &m_param->chunkEnd, chunk-end);
>      X265_PARAM_VALIDATE(saveParam->ctuDistortionRefine, sizeof(int), 1,
> &m_param->ctuDistortionRefine, ctu - distortion);
> +    X265_PARAM_VALIDATE(saveParam->frameDuplication, sizeof(int), 1,
> &m_param->bEnableFrameDuplication, frame - dup);
>
>      int sourceHeight, sourceWidth;
>      if (writeFlag)
> diff -r 37916f420742 -r 8518472465d8 source/encoder/ratecontrol.cpp
> --- a/source/encoder/ratecontrol.cpp Mon Jan 06 12:06:48 2020 +0530
> +++ b/source/encoder/ratecontrol.cpp Thu Apr 30 15:01:09 2020 +0530
> @@ -509,6 +509,7 @@
>                  CMP_OPT_FIRST_PASS(" keyint", m_param->keyframeMax);
>                  CMP_OPT_FIRST_PASS("scenecut",
> m_param->scenecutThreshold);
>                  CMP_OPT_FIRST_PASS("intra-refresh",
> m_param->bIntraRefresh);
> +                CMP_OPT_FIRST_PASS("frame-dup",
> m_param->bEnableFrameDuplication);
>                  if (m_param->bMultiPassOptRPS)
>                  {
>                      CMP_OPT_FIRST_PASS("multi-pass-opt-rps",
> m_param->bMultiPassOptRPS);
> @@ -546,7 +547,7 @@
>                  x265_log(m_param, X265_LOG_WARNING, "2nd pass has fewer
> frames than 1st pass (%d vs %d)\n",
>                           m_param->totalFrames, m_numEntries);
>              }
> -            if (m_param->totalFrames > m_numEntries)
> +            if (m_param->totalFrames > m_numEntries &&
> !m_param->bEnableFrameDuplication)
>              {
>                  x265_log(m_param, X265_LOG_ERROR, "2nd pass has more
> frames than 1st pass (%d vs %d)\n",
>                           m_param->totalFrames, m_numEntries);
> diff -r 37916f420742 -r 8518472465d8 source/x265.h
> --- a/source/x265.h Mon Jan 06 12:06:48 2020 +0530
> +++ b/source/x265.h Thu Apr 30 15:01:09 2020 +0530
> @@ -134,6 +134,7 @@
>      int     ctuDistortionRefine;
>      int     rightOffset;
>      int     bottomOffset;
> +    int     frameDuplication;
>  }x265_analysis_validate;
>
>  /* Stores intra analysis data for a single frame. This struct needs
> better packing */
>
> Thanks & Regards
> *Akil R*
> Video Codec Engineer
> Media & AI Analytics
> <https://multicorewareinc.com/>
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
>


-- 
Regards,
*Aruna Matheswaran,*
Video Codec Engineer,
Media & AI analytics BU,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20200504/1f2ac2c5/attachment.html>


More information about the x265-devel mailing list