<div dir="ltr"><div dir="ltr">On Mon, Jan 28, 2019 at 12:11 PM <<a href="mailto:aruna@multicorewareinc.com">aruna@multicorewareinc.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"># HG changeset patch<br>
# User Aruna Matheswaran <<a href="mailto:aruna@multicorewareinc.com" target="_blank">aruna@multicorewareinc.com</a>><br>
# Date 1548429257 -19800<br>
#      Fri Jan 25 20:44:17 2019 +0530<br>
# Node ID 46b84ff665fd301e384328972d3d1312a8c74599<br>
# Parent  ae085e5cd8a2cdb161eb5bf54ba9019c3d873506<br>
Dolby Vision: Move payload freeing from library to application.<br>
<br>
Since the memory for rpu payload is allocated in the application, its free is<br>
moved to application.<br></blockquote><div><br></div><div>Seems a cleaner way to free it.</div><div>Pushed to default. </div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
diff -r ae085e5cd8a2 -r 46b84ff665fd source/encoder/api.cpp<br>
--- a/source/encoder/api.cpp    Fri Jan 04 18:50:22 2019 +0530<br>
+++ b/source/encoder/api.cpp    Fri Jan 25 20:44:17 2019 +0530<br>
@@ -635,8 +635,6 @@<br>
<br>
 void x265_picture_free(x265_picture *p)<br>
 {<br>
-    if (p->rpu.payload)<br>
-        X265_FREE(p->rpu.payload);<br>
     return x265_free(p);<br>
 }<br>
<br>
diff -r ae085e5cd8a2 -r 46b84ff665fd source/x265.cpp<br>
--- a/source/x265.cpp   Fri Jan 04 18:50:22 2019 +0530<br>
+++ b/source/x265.cpp   Fri Jan 25 20:44:17 2019 +0530<br>
@@ -880,6 +880,7 @@<br>
     uint32_t nal;<br>
     int16_t *errorBuf = NULL;<br>
     bool bDolbyVisionRPU = false;<br>
+    uint8_t *rpuPayload = NULL;<br>
     int ret = 0;<br>
<br>
<br>
@@ -899,7 +900,8 @@<br>
<br>
     if (param->dolbyProfile && cliopt.dolbyVisionRpu)<br>
     {<br>
-        pic_in->rpu.payload = X265_MALLOC(uint8_t, 1024);<br>
+        rpuPayload = X265_MALLOC(uint8_t, 1024);<br>
+        pic_in->rpu.payload = rpuPayload;<br>
         if (pic_in->rpu.payload)<br>
             bDolbyVisionRPU = true;<br>
     }<br>
@@ -1060,6 +1062,7 @@<br>
     api->param_free(param);<br>
<br>
     X265_FREE(errorBuf);<br>
+    X265_FREE(rpuPayload);<br>
<br>
     SetConsoleTitle(orgConsoleTitle);<br>
     SetThreadExecutionState(ES_CONTINUOUS);<br>
_______________________________________________<br>
x265-devel mailing list<br>
<a href="mailto:x265-devel@videolan.org" target="_blank">x265-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/x265-devel" rel="noreferrer" target="_blank">https://mailman.videolan.org/listinfo/x265-devel</a><br>
</blockquote></div></div>