My commit at r14340 was not the right solution. For a monochromatic

frame, there will be only one centroid and it will be impossible to
find three distinct ones. It is better to just avoid shifting if
there are not three different centroids.

Originally committed as revision 14343 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Vitor Sessak 2008-07-23 05:54:34 +00:00
parent 6de727244c
commit 144b46f21b

View File

@ -306,12 +306,11 @@ static void do_shiftings(elbg_data *elbg)
if (elbg->utility_inc[elbg->numCB-1] == 0)
return;
idx[1] = get_high_utility_cell(elbg);
idx[2] = get_closest_codebook(elbg, idx[0]);
do {
idx[1] = get_high_utility_cell(elbg);
} while (idx[1] == idx[0] || idx[1] == idx[2]);
try_shift_candidate(elbg, idx);
if (idx[1] != idx[0] && idx[1] != idx[2])
try_shift_candidate(elbg, idx);
}
}