<html><body><br>Please unsubscribe me for now&nbsp; I am not using this list for now.<br><br>Thanks<br>Best,<br>
-Harsha Viswanath PhD<br>
WOWSilica!<br>
email: <a href="mailto:harsha@wowsilica.com">harsha@wowsilica.com</a><br>
Ph: 408 772 7621<br>
Fax: 484 782 0384<br>
<br>
- Serving the Bay Area's technical needs for the last 15 years<br><br>
<blockquote webmail="1" style="border-left: 2px solid blue; margin-left: 8px; padding-left: 8px;">
-------- Original Message --------<br>
Subject: Re: [x264-devel] Delete the huge memory leak in x264.<br>
From: BugMaster &lt;BugMaster@narod.ru&gt;<br>
Date: Tue, November 27, 2007 4:14 am<br>
To: Mailing list for x264 developers &lt;x264-devel@videolan.org&gt;<br>
<br>
On Tue, 27 Nov 2007 14:28:13 +0800, alexander tian wrote:<br>
&gt; hi, Loren<br>
&gt; Thanks for your answer. I want to discuss with you about question "3".<br>
&gt; The new "x264_frame_t" cause huge memory leak. My idea is to add<br>
&gt; two parameters in the structure "x264_t". The one parameter<br>
&gt; "i_x264_new_frame" is for counting the new frame number. The other<br>
&gt; parameter "*x264_new_frame[ ]" is for the new frame pointer.<br>
&gt; By using them we can create the frame structure at one position. In<br>
&gt; addtion, we can count how many frames we have created. So we delete<br>
&gt; the created frame completely at the end of encoding. <br>
&gt; I test the method not only by single-thread but also by<br>
&gt; multi-thread. They all run well. Anyone could reference by the<br>
&gt; attached file. It runs on windows. <br>
&gt; I must point out that my idea is not best. It has some redundant<br>
&gt; code in the program. So anybody could reference from it and change<br>
&gt; it. Maybe somebody have better idea to solve the problem. <br>
&gt; I think it is only reference solution for the memory leak. Maybe<br>
&gt; the future version will not have memory leak with full design.<br>
<br>
&gt; 2007/11/26, Loren Merritt &lt;<a href="http://email.secureserver.net/pcompose.php#Compose" onclick="Popup.composeWindow('pcompose.php?sendto=lorenm%40u.washington.edu'); return false;">lorenm<b></b>@u.washington.edu</a>&gt;:<br>
&gt; On Mon, 26 Nov 2007, alexander tian wrote:<br>
<br>
&gt;&gt; I found huge memory leak in the x264. There are at least 3 positions which<br>
&gt;&gt; has memory leak. Such as below:<br>
&gt;&gt;<br>
&gt;&gt; 1. The function "x264_mb_analyse_load_costs" in file " analyse.c". Here only<br>
&gt;&gt; "malloc" the buffer for the parameter "*p_cost_mv[52]". But not free them in<br>
&gt;&gt; the end. It should be freed at the function "x264_encoder_close".<br>
<br>
&gt; This is intentional. p_cost_mv is shared across all instances of x264. I<br>
&gt; would have made it static const instead of malloced, but then I'd have to<br>
&gt; write the big table literally in the source code. I could still make it<br>
&gt; static non-const, but that wouldn't free any memory, it would just<br>
&gt; appease your leak detector.<br>
<br>
&gt;&gt; 2. The parameter "i_refs" in the function "x264_macroblock_cache_end" should<br>
&gt;&gt; be computed like in the "x264_macroblock_cache_init". Otherwise it will <br>
&gt;&gt; cause memory leak.<br>
<br>
&gt; Fixed, but no I don't have to duplicate the computation.<br>
<br>
&gt;&gt; 3. Not all the new "x264_frame_t" are deleted at the end of encoding. So it<br>
&gt;&gt; cause huge memory leak. <br>
<br>
&gt; This has been reported before. My reason for not accepting the patch was<br>
&gt; that it conflicts with my experimental alternate threading scheme.<br>
<br>
&gt; --Loren Merritt<br>
&gt; _______________________________________________ <br>
&gt; x264-devel mailing list<br>
&gt; <a href="http://email.secureserver.net/pcompose.php#Compose" onclick="Popup.composeWindow('pcompose.php?sendto=x264-devel%40videolan.org'); return false;">x264-devel<b></b>@videolan.org</a><br>
&gt; <a href="http://mailman.videolan.org/listinfo/x264-devel" target="_blank">http://mailman.videolan.org/listinfo/x264-devel</a><br>
<br>
Hi, Alexander.<br>
As Loren wrote this bug had been reported before and patchs for fixing<br>
were submited (for example,<br>
<a href="http://mailman.videolan.org/pipermail/x264-devel/2007-October/003634.html" target="_blank">http://mailman.videolan.org/pipermail/x264-devel/2007-October/003634.html</a>).<br>
<br>
Hi, Loren.<br>
Does "experimental alternate threading scheme" meens thread-pool?<br>
<br>
_______________________________________________<br>
x264-devel mailing list<br>
<a href="http://email.secureserver.net/pcompose.php#Compose" onclick="Popup.composeWindow('pcompose.php?sendto=x264-devel%40videolan.org'); return false;">x264-devel<b></b>@videolan.org</a><br>
<a href="http://mailman.videolan.org/listinfo/x264-devel" target="_blank">http://mailman.videolan.org/listinfo/x264-devel</a><br>

</blockquote></body></html>