[x264-devel] Re: about motion compensation

张睿 hbtmzrui at gmail.com
Fri Dec 15 10:37:51 CET 2006


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?

2006/12/15, Mathieu Monnier <manao at melix.net>:
>
> > I think we only need as many half-pels as image width.
>
> No. H264 allows motion vectors to point outside the reference frame. The
> reference frame is extended by padding ( border pixels are replicated ).
> Hpel positions, however, are interpolated from the whole padded
> reference frame. So, on the left border for example, it looks like that :
>
> Originally :
>   -5 -4 -3 -2 -1  0  1  2  3  4
>   x  x  x  x  x  a1 a2 a3 a4 a5
>
> After padding :
>
>   a1 a1 a1 a1 a1 a1 a2 a3 a4 a5
>
> Now, if i want to interpolate a hpel position between -1 and 0, you'll
> use a1 a1 a1 a1 a2 a3, and if you interpolate between -4 and -3, you'll
> use a1 a1 a1 a1 a1 a1 : the hpel planes must be interpolated on a larger
> area before being padded.
>
> Regards,
>
> Mathieu
>
> --
> This is the x264-devel mailing-list
> To unsubscribe, go to: http://developers.videolan.org/lists.html
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.videolan.org/pipermail/x264-devel/attachments/20061215/d56dfc0a/attachment.htm 


More information about the x264-devel mailing list