The codebook generator algorithm involves picking three

different codebook centroids ("high utility", "low
utility" and "closest to the low utility one"). This
change avoid the corner case of choosing two times the
same centroid.

Originally committed as revision 14340 to svn://svn.ffmpeg.org/ffmpeg/trunk
pull/126/head
Vitor Sessak 17 years ago
parent 26b86e47c0
commit 5916af1954
  1. 4
      libavcodec/elbg.c

@ -299,8 +299,10 @@ 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);
}

Loading…
Cancel
Save