From 144b46f21bec16501f30ec3dae1a60261144a8e8 Mon Sep 17 00:00:00 2001 From: Vitor Sessak Date: Wed, 23 Jul 2008 05:54:34 +0000 Subject: 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 --- libavcodec/elbg.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'libavcodec/elbg.c') diff --git a/libavcodec/elbg.c b/libavcodec/elbg.c index 87ff0236b7..fed25fcdd4 100644 --- a/libavcodec/elbg.c +++ b/libavcodec/elbg.c @@ -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); } } -- cgit v1.2.3