<div dir="ltr"># HG changeset patch<br># User Snehaa Giridharan <<a href="mailto:snehaa@multicorewareinc.com">snehaa@multicorewareinc.com</a>><br># Date 1581575253 -19800<br>#      Thu Feb 13 11:57:33 2020 +0530<br># Branch Release_3.3<br># Node ID 14e2b9794784f9a46197ed33e25b9ed94f17c298<br># Parent  69997e133cd665d6f98458c542241f36da701056<br>zone: Remove unnessary conditions on zone reconfig<br><br>This commit<br>- Removes unnessary conditions on zone reconfig<br>- Fixes crash with dynamic zone reconfig<br><br>diff --git a/source/common/param.cpp b/source/common/param.cpp<br>--- a/source/common/param.cpp<br>+++ b/source/common/param.cpp<br>@@ -2422,7 +2422,7 @@<br>     dst->bResetZoneConfig = src->bResetZoneConfig;<br>     dst->decoderVbvMaxRate = src->decoderVbvMaxRate;<br> <br>-    if (src->rc.zonefileCount && src->rc.zones)<br>+    if (src->rc.zonefileCount && src->rc.zones && src->bResetZoneConfig)<br>     {<br>         for (int i = 0; i < src->rc.zonefileCount; i++)<br>         {<br>diff --git a/source/encoder/api.cpp b/source/encoder/api.cpp<br>--- a/source/encoder/api.cpp<br>+++ b/source/encoder/api.cpp<br>@@ -1016,12 +1016,12 @@<br> <br> void x265_zone_free(x265_param *param)<br> {<br>-    if (param && param->rc.zonefileCount) {<br>+    if (param && param->rc.zones && (param->rc.zoneCount || param->rc.zonefileCount))<br>+    {<br>         for (int i = 0; i < param->rc.zonefileCount; i++)<br>             x265_free(param->rc.zones[i].zoneParam);<br>+        x265_free(param->rc.zones);<br>     }<br>-    if (param && (param->rc.zoneCount || param->rc.zonefileCount))<br>-        x265_free(param->rc.zones);<br> }<br> <br> static const x265_api libapi =<br>diff --git a/source/encoder/encoder.cpp b/source/encoder/encoder.cpp<br>--- a/source/encoder/encoder.cpp<br>+++ b/source/encoder/encoder.cpp<br>@@ -4106,7 +4106,7 @@<br>         x265_log(p, X265_LOG_WARNING, "Radl requires fixed gop-length (keyint == min-keyint). Disabling radl.\n");<br>     }<br> <br>-    if ((p->chunkStart || p->chunkEnd) && p->bOpenGOP)<br>+    if ((p->chunkStart || p->chunkEnd) && p->bOpenGOP && m_param->bResetZoneConfig)<br>     {<br>         p->chunkStart = p->chunkEnd = 0;<br>         x265_log(p, X265_LOG_WARNING, "Chunking requires closed gop structure. Disabling chunking.\n");<br>@@ -4139,12 +4139,6 @@<br>         x265_log(p, X265_LOG_WARNING, "Turning on repeat - headers for zone encoding\n");<br>     }<br> <br>-    if (!m_param->bResetZoneConfig && (p->keyframeMax != p->keyframeMin))<br>-        x265_log(p, X265_LOG_WARNING, "External zone reconfiguration requires a fixed GOP size to enable appropriate signaling of HRD info\n");<br>-<br>-    if (!m_param->bResetZoneConfig && (p->reconfigWindowSize != (uint64_t)p->keyframeMax))<br>-        x265_log(p, X265_LOG_WARNING, "Zone size must be multiple of GOP size to enable appropriate signaling of HRD info\n");<br>-<br>     if (m_param->bEnableHME)<br>     {<br>         if (m_param->sourceHeight < 540)<br><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div><i><font face="georgia, serif">Thanks and Regards,</font></i></div><div><i><b><font face="georgia, serif">Snehaa.G</font></b></i></div></div></div></div></div></div></div></div></div></div></div>