When picking a "high utility centroid" do not pick one

that has no corresponding points. Not only it is the
worst possible pick, but also the code was written
without this case in mind.

Originally committed as revision 14341 to svn://svn.ffmpeg.org/ffmpeg/trunk
pull/126/head
Vitor Sessak 17 years ago
parent 5916af1954
commit 6bf8b04764
  1. 5
      libavcodec/elbg.c

@ -105,9 +105,12 @@ static int get_high_utility_cell(elbg_data *elbg)
{
int i=0;
/* Using linear search, do binary if it ever turns to be speed critical */
int r = av_random(elbg->rand_state)%elbg->utility_inc[elbg->numCB-1];
int r = av_random(elbg->rand_state)%(elbg->utility_inc[elbg->numCB-1]-1) + 1;
while (elbg->utility_inc[i] < r)
i++;
assert(!elbg->cells[i]);
return i;
}

Loading…
Cancel
Save