[x264-devel] Re: patch: switch to select ME method & range

Tuukka Toivonen tuukkat at ee.oulu.fi
Thu Mar 17 19:05:35 CET 2005


On Thu, 17 Mar 2005, Loren Merritt wrote:

> On Thu, 17 Mar 2005, Tuukka Toivonen wrote:
>
>> -        for( i_iter = 0; i_iter < 8; i_iter++ )
>> +        for( i_iter = 0; i_iter < i_me_range/2; i_iter++ )
>
> The reason it was limited to 8 was so that I didn't have to check mv against 
> h->mb.mv_{min,max} within the loop: the starting point for the search is 
> guaranteed to be more than 16 pixels from the edge of the padded frame. So, 
> either calculate the limit based on distance to the edge, or check against the 
> min/maax mvs within the loop, or restrict mvp to within the padded frame.

OK, I think I understand now. I was thinking that SAD couldn't decrease 
after the reference block goes outside the frame but indeed MV cost can as 
mvp may probably point outside even the padding. I might fix this 
sometime and resubmit.

> Also, how about an adaptive ESA radius based on the amount of motion in 
> neighboring blocks or previous frames?

Possibly.

> Or an initial search using the lowres frames?

Funny you mention it, I tried it but results were disappointing. Mostly it 
just increased slightly bitrate :(

Actually something like SEA (successive elimination algorithm)
might be sensible if optimized with some assembly.
But implementing that into x264 is not first in my priorities at the 
moment, sorry.

-- 
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