[x264-devel] Re: about motion compensation

Mathieu Monnier manao at melix.net
Fri Dec 15 10:47:26 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?

The encoder first pad the reference frame ( 32 pixels on each side of 
the reference frame ), then it interpolates it ( 8 pixels on each side 
of the reference frame ), then pad each hpel planes ( 24 pixels on each 
side ). You end up with each planes having 32 more pixels on each side.

Now, that allows motion vectors to reference macroblocks that are 
completely into the padded area. And you don't need to have longer 
motion vectors into that area, since that the padded area repeat itself 
indefinitely.

Also, since the encoder check the motion range when doing the motion 
estimation, it takes care not to go outside the authorized range.

Regards,

Mathieu

-- 
This is the x264-devel mailing-list
To unsubscribe, go to: http://developers.videolan.org/lists.html



More information about the x264-devel mailing list