[x264-devel] out-of-range motion vectors

Loren Merritt lorenm at u.washington.edu
Tue Jul 31 17:26:43 CEST 2007


On Tue, 31 Jul 2007, CAdevel wrote:

>> The --merange option has different meanings depending on the search
>> pattern selected. For example, it specifies the size of the region to
>> be searched for ESA and for the others I think it affects the maximum
>> iterations or something like that but there would need to be
>> clarification of this as I'm not certain what it does in each case.
>
> Is there any documentation on this? Does any know what the option
> --merange exactly do for hex and esa motion estimation algorithms? Any
> pointer to the source code (variable and function) is fine as well.

dia: --merange is the max number of iterations. Since each iteration moves 
one pixel, it's also the max range.
hex: --merange/2 is the max number of iterations. Since each iteration 
moves up to 2 pixels, --merange is also the max range.
umh: --merange is the average radius of the grid part of the search, but 
any given block may use more or less depending on whether it predicts the 
mv to be large. umh then calls hex for another merange/2 iterations. So 
the max range is about --merange*3.
esa: Simply examines all possible mvs within --merange.

In all cases the search starts at some predicted location, not at (0,0).

Limiting merange for dia and hex is not very useful, since the only 
possible purpose of limiting merange is to improve speed, but the vast 
majority of dia and hex searches stop after just a few iterations anyway.

--Loren Merritt
_______________________________________________
x264-devel mailing list
x264-devel at videolan.org
http://mailman.videolan.org/listinfo/x264-devel


More information about the x264-devel mailing list