[x265] [PATCH] fix x265 zonefile feature

Mahesh Pittala mahesh at multicorewareinc.com
Mon Feb 20 05:30:51 UTC 2023


pushed to the master branch.

On Sat, Feb 18, 2023 at 12:14 AM Mahesh Pittala <mahesh at multicorewareinc.com>
wrote:

> From 01d3a62b3cb36e23d6ff4ddaa624ba343ef5239b Mon Sep 17 00:00:00 2001
> From: Karam Singh <karam.singh at multicorewareinc.com>
> Date: Fri, 10 Feb 2023 18:27:59 +0530
> Subject: [PATCH] fix x265 zonefile feature
>
> Signed-off-by: maheshpittala <mahesh at multicorewareinc.com>
> ---
>  source/abrEncApp.cpp   | 20 ++++++++++----------
>  source/encoder/api.cpp |  1 -
>  source/x265cli.cpp     |  1 +
>  3 files changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/source/abrEncApp.cpp b/source/abrEncApp.cpp
> index 9ad4e0abd..94644a1c0 100644
> --- a/source/abrEncApp.cpp
> +++ b/source/abrEncApp.cpp
> @@ -186,6 +186,16 @@ namespace X265_NS {
>              }
>          }
>
> +        if (m_cliopt.zoneFile)
> +        {
> +            if (!m_cliopt.parseZoneFile())
> +            {
> +                x265_log(NULL, X265_LOG_ERROR, "Unable to parse zonefile
> in %s\n");
> +                fclose(m_cliopt.zoneFile);
> +                m_cliopt.zoneFile = NULL;
> +            }
> +        }
> +
>          /* note: we could try to acquire a different libx265 API here
> based on
>          * the profile found during option parsing, but it must be done
> before
>          * opening an encoder */
> @@ -515,16 +525,6 @@ ret:
>                  reconPlay = new ReconPlay(m_cliopt.reconPlayCmd,
> *m_param);
>              char* profileName = m_cliopt.encName ? m_cliopt.encName :
> (char *)"x265";
>
> -            if (m_cliopt.zoneFile)
> -            {
> -                if (!m_cliopt.parseZoneFile())
> -                {
> -                    x265_log(NULL, X265_LOG_ERROR, "Unable to parse
> zonefile in %s\n", profileName);
> -                    fclose(m_cliopt.zoneFile);
> -                    m_cliopt.zoneFile = NULL;
> -                }
> -            }
> -
>              if (signal(SIGINT, sigint_handler) == SIG_ERR)
>                  x265_log(m_param, X265_LOG_ERROR, "Unable to register
> CTRL+C handler: %s in %s\n",
>                      strerror(errno), profileName);
> diff --git a/source/encoder/api.cpp b/source/encoder/api.cpp
> index 9b53e62ae..15b898a3c 100644
> --- a/source/encoder/api.cpp
> +++ b/source/encoder/api.cpp
> @@ -208,7 +208,6 @@ x265_encoder *x265_encoder_open(x265_param *p)
>      memcpy(zoneParam, param, sizeof(x265_param));
>      for (int i = 0; i < param->rc.zonefileCount; i++)
>      {
> -        param->rc.zones[i].startFrame = -1;
>          encoder->configureZone(zoneParam, param->rc.zones[i].zoneParam);
>      }
>
> diff --git a/source/x265cli.cpp b/source/x265cli.cpp
> index 4d10076c0..1d22b7944 100755
> --- a/source/x265cli.cpp
> +++ b/source/x265cli.cpp
> @@ -1010,6 +1010,7 @@ namespace X265_NS {
>          param->rc.zones = X265_MALLOC(x265_zone, param->rc.zonefileCount);
>          for (int i = 0; i < param->rc.zonefileCount; i++)
>          {
> +            param->rc.zones[i].startFrame = -1;
>              while (fgets(line, sizeof(line), zoneFile))
>              {
>                  if (*line == '#' || (strcmp(line, "\r\n") == 0))
> --
> 2.23.0.windows.1
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20230220/6ff7db49/attachment.htm>


More information about the x265-devel mailing list