[x264-devel] Re: about motion compensation

张睿 hbtmzrui at gmail.com
Fri Dec 15 09:23:27 CET 2006


a b c ------------ d e
      |           |
  ... |           | ...
      |           |
      |           |
      |           |
  ... ------------- ...
sorry, I'm still unclear that why we need interpolate extra pixels beyond
image edge, eg. (a,b,c,d,e). I think we only need as many half-pels as image
width. but abcde(which is half-pels) will not be used since then. x264 did
do this, I tried to remove the redundant-like codes, and let x264 only
interpolate image_width half-pels, but the encoder got different results
after this. Would you please tell me where these pixels(abcde) are used in
next code fragment?
thanks, sorry for my poor english.

2006/12/15, 张睿 <hbtmzrui at gmail.com>:
>
> got it, thanks a lot!
>
> 2006/12/15, Loren Merritt <lorenm at u.washington.edu>:
> >
> > On Fri, 15 Dec 2006, ��� wrote:
> >
> > > in x264, the 3 half-pel planes are interpolated after encoding each
> > frame,
> > > which is implemented in x264_frame_filter().
> > > but I don't understand why more 8 pixels are interpolated than origin
> > image
> > > width, and I want to know if the 3 half-pel planes could be just
> > > inpterpolated without dealing with the 8 pixels.
> > > thanks!
> >
> > Because the interpolation is a 6-tap filter, 5 extra pixels are needed
> > (3
> > on the top & left, 2 on the bottom & right). The number is then rounded
> > up
> > to the size of an MMX register.
> >
> > --Loren Merritt
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.videolan.org/pipermail/x264-devel/attachments/20061215/1ed03525/attachment.htm 


More information about the x264-devel mailing list