[MPlayer-cvslog] CVS: main/libmpcodecs ve_lavc.c,1.121,1.122

Michael Niedermayer michaelni at gmx.at
Tue Dec 27 19:49:47 CET 2005


Hi

On Mon, Dec 26, 2005 at 09:52:15PM -0800, Corey Hickey wrote:
> Michael Niedermayer wrote:
> >>>CVS change done by Guillaume Poirier CVS
> >>>
> >>>Update of /cvsroot/mplayer/main/libmpcodecs
> >>>In directory mail:/var2/tmp/cvs-serv28251/libmpcodecs
> >>>
> >>>Modified Files:
> >>>	ve_lavc.c 
> >>>Log Message:
> >>>support downscaling frames for dynamic b frame decission
> >>
> >>Thanks for this. I was going to do it but I've been too busy fixing my car.
> >>
> >>Since you seem to be more in touch with ve_lavc.c than I am, could you
> >>please add an option for bidir_refine? As far as I know, that needs to
> >>be done. Michael added bidir_refine to libavcodec on
> >>Fri, 23 Dec 2005 17:25:03 +0100 (CET).
> > 
> > 
> > ive a better suggestion: add generic AVOption support, so the work needed
> > per new parameter drops to 0
> 
> Also, the man page should be updated regardless. Michael, can you please
> give a short description of what bidir_refine does? I gather it has to
> do with motion vectors and B-frames, and, er, refining them, but any
> description I'd put in a patch at this point would be very vague and
> maybe incorrect.

ok, there are different macroblock types in b frames,
1. forward predicted ones, they use the previous non B frame
2. backward predicted ones, they use the next non B frame
3. bidirectional ones, they use 2 vectors, one pointing to the previous frame
   one to the next
4. direct ones, they are like 3. except that they store only one vector and
   calculate the second one from the colocated vector in the next non B frame
(this is what mpeg4 supports, other standards are very similar)

now 1. 2. and 4. are the same from a motion estimation point of view, just
find the best single vector using your favorite ME algorithm for P frames
3. has 2 vectors, previously we simply used the vectors from the forward
and backward searches without refining them, now bidir_refine does a simple
4-dimensional diamond like search with the number affecting the shape of
the used diamond, (larger number is slower)

[...]
-- 
Michael




More information about the MPlayer-cvslog mailing list