void DjVuPalette::quantize(GPixmap &pm) { { // extra nesting for windows for (int j=0; j<(int)pm.rows(); j++) { GPixel *p = pm[j]; for (int i=0; i<(int)pm.columns(); i++) index_to_color(color_to_index(p[i]), p[i]); } } }
int DjVuPalette::compute_pixmap_palette(const GPixmap &pm, int ncolors, int minboxsize) { // Prepare histogram histogram_clear(); { // extra nesting for windows for (int j=0; j<(int)pm.rows(); j++) { const GPixel *p = pm[j]; for (int i=0; i<(int)pm.columns(); i++) histogram_add(p[i], 1); } } // Compute palette return compute_palette(ncolors, minboxsize); }