On Tue, Aug 21, 2007 at 01:18:46AM -0600, Loren Merritt wrote: > On Mon, 20 Aug 2007, Kostya wrote: > > On Mon, Aug 20, 2007 at 02:46:54PM +0200, Michael Niedermayer wrote: > > > >> your code looks odd > >> that what you call RV40_MB_B_INTERP looks like DIRECT, that what you call > >> direct looks like bidirectional > >> > >> direct uses the motion vectors from another frame (not the surrounding > >> blocks) > >> (that is in early h264 and mpeg4 later h264 can use the surrounding blocks > >> too IIRC) > > > > Well, here's what I know: > > Both interpolated and direct(or bidirectional) are known to me since VC-1, > > interpolated block just have zero motion vectors and acts as skip type > > block. > > direct != bidirectional > > > Motion vectors on B-frames are predicted only from other vectors on that > > frame > > (and interpolated counts as no vectors). I've verified this on real data and > > this scheme is correct. > > > > During motion compensation interpolated blocks (not sure about > > bidirectional) > > reuse vectors from previous/next frame and even may perform 8x8 compensation > > if previous frame has such partitioning. But they add vectors only for > > compensation, actual value is not modified. I will try to implement this > > soon. > > In h264, the terms are: > predicted: block contains 1 coded mv > bidirectionally predicted: block contains 2 coded mvs > direct: block contains no coded mvs, instead 1 or 2 mvs are derived from > neighboring blocks (can be spatial or temporal neighbors). > skip: a direct block that also has no nonzero dct coefficients.
The same here except that bidirectionally predicted is called direct and direct is called interpolated. Terminology at its best. > --Loren Merritt _______________________________________________ FFmpeg-soc mailing list [email protected] http://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-soc
