Hi, BugMaster<br><br>Thanks for your information. I see now. Let&#39;s look at the development for the x264.<br><br><div><span class="gmail_quote">2007/11/27, BugMaster &lt;<a href="mailto:BugMaster@narod.ru">BugMaster@narod.ru
</a>&gt;:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">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 &quot;3&quot;.<br>&gt; The new &quot;x264_frame_t&quot; cause huge memory leak. My idea is to add<br>&gt; two parameters in the structure &quot;x264_t&quot;. The one parameter
<br>&gt; &quot;i_x264_new_frame&quot; is for counting the new frame number. The other<br>&gt; parameter &quot;*x264_new_frame[ ]&quot; 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="mailto:lorenm@u.washington.edu">
lorenm@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 &quot;x264_mb_analyse_load_costs&quot; in file &quot; analyse.c&quot;. Here only<br>&gt;&gt; &quot;malloc&quot; the buffer for the parameter &quot;*p_cost_mv[52]&quot;. But not free them in
<br>&gt;&gt; the end. It should be freed at the function &quot;x264_encoder_close&quot;.<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&#39;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&#39;t free any memory, it would just<br>&gt; appease your leak detector.<br><br>&gt;&gt; 2. The parameter &quot;i_refs&quot; in the function &quot;x264_macroblock_cache_end&quot; should
<br>&gt;&gt; be computed like in the &quot;x264_macroblock_cache_init&quot;. Otherwise it will<br>&gt;&gt; cause memory leak.<br><br>&gt; Fixed, but no I don&#39;t have to duplicate the computation.<br><br>&gt;&gt; 3. Not all the new &quot;x264_frame_t&quot; 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="mailto:x264-devel@videolan.org">x264-devel@videolan.org</a><br>&gt; <a href="http://mailman.videolan.org/listinfo/x264-devel">
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">
http://mailman.videolan.org/pipermail/x264-devel/2007-October/003634.html</a>).<br><br>Hi, Loren.<br>Does &quot;experimental alternate threading scheme&quot; meens thread-pool?<br><br>_______________________________________________
<br>x264-devel mailing list<br><a href="mailto:x264-devel@videolan.org">x264-devel@videolan.org</a><br><a href="http://mailman.videolan.org/listinfo/x264-devel">http://mailman.videolan.org/listinfo/x264-devel</a><br></blockquote>
</div><br>