parent
21169e5316
commit
dd7998f237
@ -0,0 +1,36 @@
|
||||
diff -rupN libimagequant-2.12.2/kmeans.c libimagequant-2.12.2-new/kmeans.c
|
||||
--- libimagequant-2.12.2/kmeans.c 2018-10-28 22:39:27.000000000 +0100
|
||||
+++ libimagequant-2.12.2-new/kmeans.c 2019-02-04 11:20:03.367754202 +0100
|
||||
@@ -74,7 +74,7 @@ LIQ_PRIVATE double kmeans_do_iteration(h
|
||||
|
||||
double total_diff=0;
|
||||
#pragma omp parallel for if (hist_size > 2000) \
|
||||
- schedule(static) default(none) shared(average_color,callback) reduction(+:total_diff)
|
||||
+ schedule(static) default(none) shared(average_color,callback,hist_size,achv,n,map) reduction(+:total_diff)
|
||||
for(int j=0; j < hist_size; j++) {
|
||||
float diff;
|
||||
unsigned int match = nearest_search(n, &achv[j].acolor, achv[j].tmp.likely_colormap_index, &diff);
|
||||
diff -rupN libimagequant-2.12.2/libimagequant.c libimagequant-2.12.2-new/libimagequant.c
|
||||
--- libimagequant-2.12.2/libimagequant.c 2018-10-28 22:39:27.000000000 +0100
|
||||
+++ libimagequant-2.12.2-new/libimagequant.c 2019-02-04 11:34:43.067012436 +0100
|
||||
@@ -1277,7 +1277,7 @@ LIQ_NONNULL static float remap_to_palett
|
||||
kmeans_init(map, max_threads, average_color);
|
||||
|
||||
#pragma omp parallel for if (rows*cols > 3000) \
|
||||
- schedule(static) default(none) shared(acolormap) shared(average_color) reduction(+:remapping_error)
|
||||
+ schedule(static) default(none) shared(acolormap,input_image,transparent_index,n,output_pixels,map,cols,rows) shared(average_color) reduction(+:remapping_error)
|
||||
for(int row = 0; row < rows; ++row) {
|
||||
const f_pixel *const row_pixels = liq_image_get_row_f(input_image, row);
|
||||
const f_pixel *const bg_pixels = input_image->background && acolormap[transparent_index].acolor.a < 1.f/256.f ? liq_image_get_row_f(input_image->background, row) : NULL;
|
||||
diff -rupN libimagequant-2.12.2/mediancut.c libimagequant-2.12.2-new/mediancut.c
|
||||
--- libimagequant-2.12.2/mediancut.c 2018-10-28 22:39:27.000000000 +0100
|
||||
+++ libimagequant-2.12.2-new/mediancut.c 2019-02-04 11:25:19.039487962 +0100
|
||||
@@ -196,7 +196,7 @@ static double prepare_sort(struct box *b
|
||||
const unsigned int ind1 = b->ind;
|
||||
const unsigned int colors = b->colors;
|
||||
#pragma omp parallel for if (colors > 25000) \
|
||||
- schedule(static) default(none) shared(achv, channels)
|
||||
+ schedule(static) default(none) shared(achv, channels, ind1, colors)
|
||||
for(unsigned int i=0; i < colors; i++) {
|
||||
const float *chans = (const float *)&achv[ind1 + i].acolor;
|
||||
// Only the first channel really matters. When trying median cut many times
|
Loading…
Reference in new issue