Browse Source

+ auto shift to zero

master
tonton th 1 year ago
parent
commit
8bbe639ad5
  1. 5
      floatimg.h
  2. 25
      funcs/saturation.c

5
floatimg.h

@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
* ugly code from tTh
*/
#define FIMG_VERSION 119
#define FIMG_VERSION 120
/*
* in memory descriptor
@ -128,7 +128,10 @@ int fimg_power_2(FloatImg *s, FloatImg *d, double maxval); @@ -128,7 +128,10 @@ int fimg_power_2(FloatImg *s, FloatImg *d, double maxval);
int fimg_cos_01(FloatImg *s, FloatImg *d, double maxval);
int fimg_cos_010(FloatImg *s, FloatImg *d, double maxval);
int fimg_mix_rgb_gray(FloatImg *img, float mix);
/* funcs/saturation.c */
int fimg_shift_to_zero(FloatImg *s, FloatImg *d, float coefs[6]);
int fimg_auto_shift_to_zero(FloatImg *s, FloatImg *d);
/* --> funcs/plasmas.c */
int fimg_prototype_plasma(FloatImg *img, double time, int type);

25
funcs/saturation.c

@ -70,5 +70,30 @@ for (idx=0; idx<sz; idx++) { @@ -70,5 +70,30 @@ for (idx=0; idx<sz; idx++) {
return 0;
}
/* -------------------------------------------------------------- */
int fimg_auto_shift_to_zero(FloatImg *src, FloatImg *dst)
{
float coefs[6];
int foo;
if (FIMG_TYPE_RGB != src->type) {
fprintf(stderr, "%s: bad image type %d\n", __func__, src->type);
return -6;
}
foo = fimg_get_minmax_rgb(src, coefs);
if (foo) {
fprintf(stderr, "%s: err %d get minmax\n", __func__, foo);
return foo;
}
foo = fimg_shift_to_zero(src, dst, coefs);
if (foo) {
fprintf(stderr, "%s WTF?\n", __func__);
return foo;
}
return 0;
}
/* -------------------------------------------------------------- */

Loading…
Cancel
Save