>From 01d3a62b3cb36e23d6ff4ddaa624ba343ef5239b Mon Sep 17 00:00:00 2001 From: Karam Singh <[email protected]> Date: Fri, 10 Feb 2023 18:27:59 +0530 Subject: [PATCH] fix x265 zonefile feature
Signed-off-by: maheshpittala <[email protected]> --- 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
x265zonefilefix.diff
Description: Binary data
_______________________________________________ x265-devel mailing list [email protected] https://mailman.videolan.org/listinfo/x265-devel
