Hi, Monnier<br><br>Thanks for your answer. I understand them now. I think the frame do the loop filter after all the mbs are encoded before. But it is wrong. The x264 does the loop filter for upper row mbs&nbsp; before encoding the first mb in the row. 
<br><br>So you are right. It could run multi-thread if the vertical motion vector search range is limited. The parameter &quot;mvrange-thread&quot; is vey important for multi-thread. Someone can get&nbsp; some references from the link:
<br><a href="http://forum.doom9.org/showthread.php?t=124557&amp;page=2">http://forum.doom9.org/showthread.php?t=124557&amp;page=2</a><br><br><div><span class="gmail_quote">2007/5/17, Mathieu Monnier &lt;<a href="mailto:manao@melix.net">
manao@melix.net</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;">Hi,<br><br>You almost have the answer to your question :<br><br>
 &gt; because every P slice needs the previous frame as reference.<br><br>When multithreaded, the vertical motion vector search range is limited,<br>so a P frame doesn&#39;t need the complete reference frame.<br><br>Regards,
<br><br>Mathieu<br><br>--<br>This is the x264-devel mailing-list<br>To unsubscribe, go to: <a href="http://developers.videolan.org/lists.html">http://developers.videolan.org/lists.html</a><br><br></blockquote></div><br>Regards
<br><br>Alexander Tian<br>