thanks for your exhaustive explanation, but what's the limitation of motion vectors pointing outside the reference frames? Suppose mv is greater than 8, so we need the half-pel interplated, but now in x264, we only had the left 8 pixels, is there any errors when this happens? or the mv is always less than 8?
<br><br><div><span class="gmail_quote">2006/12/15, Mathieu Monnier <<a href="mailto:manao@melix.net">manao@melix.net</a>>:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
> I think we only need as many half-pels as image width.<br><br>No. H264 allows motion vectors to point outside the reference frame. The<br>reference frame is extended by padding ( border pixels are replicated ).<br>Hpel positions, however, are interpolated from the whole padded
<br>reference frame. So, on the left border for example, it looks like that :<br><br>Originally :<br> -5 -4 -3 -2 -1 0 1 2 3 4<br> x x x x x a1 a2 a3 a4 a5<br><br>After padding :<br><br> a1 a1 a1 a1 a1 a1 a2 a3 a4 a5
<br><br>Now, if i want to interpolate a hpel position between -1 and 0, you'll<br>use a1 a1 a1 a1 a2 a3, and if you interpolate between -4 and -3, you'll<br>use a1 a1 a1 a1 a1 a1 : the hpel planes must be interpolated on a larger
<br>area before being padded.<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>