forked from tTh/FloatImg
more debug or more bug ?
This commit is contained in:
parent
2187c1e062
commit
0def451bf4
@ -213,6 +213,11 @@ return retval;
|
|||||||
/* -------------------------------------------------------------- */
|
/* -------------------------------------------------------------- */
|
||||||
char * crap_name_from_number(int num)
|
char * crap_name_from_number(int num)
|
||||||
{
|
{
|
||||||
|
switch (num) {
|
||||||
|
case 0: return "none";
|
||||||
|
case 8: return "ctr2x2";
|
||||||
|
case 13: return "fltr3x3";
|
||||||
|
}
|
||||||
|
|
||||||
return "???";
|
return "???";
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,7 @@ fprintf(stderr, ">>> %s ( %d %d )\n", __func__, numid, notused);
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (numid < 0 || numid > NUMBER_OF_STACK) {
|
if (numid < 0 || numid > NUMBER_OF_STACK) {
|
||||||
fprintf(stderr, "%s: slot number %d invalid\n", __func__, numid);
|
fprintf(stderr, "%s: slot number %d is invalid\n", __func__, numid);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -44,7 +44,7 @@ fprintf(stderr, ">>> %s ( %d %d %f )\n", __func__, code, ival, fval);
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (numid < 0 || numid > NUMBER_OF_STACK) {
|
if (numid < 0 || numid > NUMBER_OF_STACK) {
|
||||||
fprintf(stderr, "%s: slot number %d invalid\n", __func__, numid);
|
fprintf(stderr, "%s: slot number %d is invalid\n", __func__, numid);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,7 +69,7 @@ int filterstack_list(int numid, const char *txt)
|
|||||||
int idx;
|
int idx;
|
||||||
|
|
||||||
if (numid < 0 || numid > NUMBER_OF_STACK) {
|
if (numid < 0 || numid > NUMBER_OF_STACK) {
|
||||||
fprintf(stderr, "%s: slot number %d invalid\n", __func__, numid);
|
fprintf(stderr, "%s: slot number %d is invalid\n", __func__, numid);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -101,7 +101,7 @@ fprintf(stderr, ">>> %s ( %p %d )\n", __func__, target, notused);
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (numid < 0 || numid > NUMBER_OF_STACK) {
|
if (numid < 0 || numid > NUMBER_OF_STACK) {
|
||||||
fprintf(stderr, "%s: slot number %d invalid\n", __func__, numid);
|
fprintf(stderr, "%s: slot number %d is invalid\n", __func__, numid);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -142,7 +142,7 @@ fprintf(stderr, ">>> %s ( '%s' %d )\n", __func__, fname, notused);
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (numid < 0 || numid > NUMBER_OF_STACK) {
|
if (numid < 0 || numid > NUMBER_OF_STACK) {
|
||||||
fprintf(stderr, "%s: slot number %d invalid\n", __func__, numid);
|
fprintf(stderr, "%s: slot number %d is invalid\n", __func__, numid);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -167,7 +167,7 @@ char *cptr;
|
|||||||
int value, foo;
|
int value, foo;
|
||||||
|
|
||||||
if (numid < 0 || numid > NUMBER_OF_STACK) {
|
if (numid < 0 || numid > NUMBER_OF_STACK) {
|
||||||
fprintf(stderr, "%s: slot number %d invalid\n", __func__, numid);
|
fprintf(stderr, "%s: slot number %d is invalid\n", __func__, numid);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,7 +3,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
int numero; /* id in rapulator */
|
int numero; /* id in crapulator */
|
||||||
|
char *name;
|
||||||
int ival;
|
int ival;
|
||||||
float fval;
|
float fval;
|
||||||
} FilterSlot;
|
} FilterSlot;
|
||||||
|
@ -86,7 +86,10 @@ if (convert_to_gray) {
|
|||||||
// fprintf(stderr, "%p gray-washed\n", &fifo.total);
|
// fprintf(stderr, "%p gray-washed\n", &fifo.total);
|
||||||
}
|
}
|
||||||
|
|
||||||
foo = crapulator(&g_fifo.total, postproc, 0.0);
|
if (postproc)
|
||||||
|
foo = crapulator(&g_fifo.total, postproc, 0.0);
|
||||||
|
else
|
||||||
|
foo = filterstack_run(1, &g_fifo.total, 0);
|
||||||
if (foo) {
|
if (foo) {
|
||||||
fprintf(stderr, "%s: ERR post process picture -> %d\n",
|
fprintf(stderr, "%s: ERR post process picture -> %d\n",
|
||||||
__func__, foo);
|
__func__, foo);
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
#include "fonctions.h"
|
#include "fonctions.h"
|
||||||
#include "glitches.h"
|
#include "glitches.h"
|
||||||
#include "crapulator.h"
|
#include "crapulator.h"
|
||||||
|
#include "filterstack.h"
|
||||||
|
|
||||||
int verbosity;
|
int verbosity;
|
||||||
int convert_to_gray;
|
int convert_to_gray;
|
||||||
@ -130,9 +131,14 @@ for (idx=0; idx<globbuf.gl_pathc; idx++) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* fscking input filter here */
|
/* fscking input filter here */
|
||||||
foo = crapulator(&input, infx, 0.42);
|
if (infx) {
|
||||||
|
foo = crapulator(&input, infx, maxvalue);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
foo = filterstack_run(0, &input, 0);
|
||||||
|
}
|
||||||
if (foo) {
|
if (foo) {
|
||||||
fprintf(stderr, "%s crapulator -> %d\n", __func__, foo);
|
fprintf(stderr, "%s: input filter -> %d\n", __func__, foo);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
foo = traite_une_image(&input, outfx, step, outdir);
|
foo = traite_une_image(&input, outfx, step, outdir);
|
||||||
@ -165,6 +171,8 @@ void help(void)
|
|||||||
{
|
{
|
||||||
puts("\tFONDERIE\noptions:");
|
puts("\tFONDERIE\noptions:");
|
||||||
|
|
||||||
|
puts("\t-E input:filter:chain");
|
||||||
|
puts("\t-F output:filter:chain");
|
||||||
puts("\t-g\tconvert to gray");
|
puts("\t-g\tconvert to gray");
|
||||||
puts("\t-I\tinput glob pattern");
|
puts("\t-I\tinput glob pattern");
|
||||||
puts("\t-O\toutput directory");
|
puts("\t-O\toutput directory");
|
||||||
@ -186,13 +194,17 @@ int in_effect = 0;
|
|||||||
int out_effect = 0;
|
int out_effect = 0;
|
||||||
int steps = 1;
|
int steps = 1;
|
||||||
int blanks = 20;
|
int blanks = 20;
|
||||||
|
char *InFchain = "0";
|
||||||
|
char *OutFchain = "0";
|
||||||
|
|
||||||
fprintf(stderr, "*** %s :\n\tcompiled by tTh, %s %s\n\tpid %d\n",
|
fprintf(stderr, "*** %s :\n\tcompiled by tTh, %s %s\n\tpid %d\n",
|
||||||
argv[0], __DATE__, __TIME__, getpid());
|
argv[0], __DATE__, __TIME__, getpid());
|
||||||
fimg_print_version(2);
|
fimg_print_version(2);
|
||||||
|
|
||||||
while ((opt = getopt(argc, argv, "B:ghI:O:s:T:vw:x:")) != -1) {
|
while ((opt = getopt(argc, argv, "B:E:F:ghI:O:s:T:vw:x:")) != -1) {
|
||||||
switch(opt) {
|
switch(opt) {
|
||||||
|
case 'E': InFchain = optarg; break;
|
||||||
|
case 'F': OutFchain = optarg; break;
|
||||||
case 'B': blanks = atoi(optarg);
|
case 'B': blanks = atoi(optarg);
|
||||||
break;
|
break;
|
||||||
case 'g': convert_to_gray = 1;
|
case 'g': convert_to_gray = 1;
|
||||||
@ -221,6 +233,17 @@ if (verbosity) {
|
|||||||
fprintf(stderr, "output dir '%s'\n", out_dir);
|
fprintf(stderr, "output dir '%s'\n", out_dir);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foo = parse_filter_chain(0, InFchain);
|
||||||
|
if (foo) {
|
||||||
|
fprintf(stderr, "err %d parsing '%s'\n", foo, InFchain);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
foo = parse_filter_chain(1, OutFchain);
|
||||||
|
if (foo) {
|
||||||
|
fprintf(stderr, "err %d parsing '%s'\n", foo, OutFchain);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
foo = demarre_la_machine(in_pattern, out_dir, fifosize, in_effect,
|
foo = demarre_la_machine(in_pattern, out_dir, fifosize, in_effect,
|
||||||
out_effect, steps, blanks);
|
out_effect, steps, blanks);
|
||||||
fprintf(stderr, "retour du big-run de la machine -> %d\n", foo);
|
fprintf(stderr, "retour du big-run de la machine -> %d\n", foo);
|
||||||
|
@ -39,10 +39,12 @@ static int cmp_idxvalues(const void *pa, const void *pb)
|
|||||||
return ( ((IdxValue *)pa)->value > ((IdxValue *)pb)->value);
|
return ( ((IdxValue *)pa)->value > ((IdxValue *)pb)->value);
|
||||||
}
|
}
|
||||||
|
|
||||||
int tentative_triage(glob_t *ptr_glob, IdxValue **ptr_idxval, int method)
|
int tentative_triage(glob_t *ptr_glob, IdxValue **ptr_idxval,
|
||||||
|
int method, double *p_average)
|
||||||
{
|
{
|
||||||
int idx, foo, nombre;
|
int idx, foo, nombre;
|
||||||
float metrique;
|
float metrique;
|
||||||
|
double average;
|
||||||
char *filename;
|
char *filename;
|
||||||
IdxValue *idxvalues;
|
IdxValue *idxvalues;
|
||||||
|
|
||||||
@ -62,6 +64,7 @@ if (NULL==idxvalues) {
|
|||||||
fprintf(stderr, "IdxValues array at %p\n", idxvalues);
|
fprintf(stderr, "IdxValues array at %p\n", idxvalues);
|
||||||
|
|
||||||
*ptr_idxval = idxvalues;
|
*ptr_idxval = idxvalues;
|
||||||
|
average = 0.0;
|
||||||
|
|
||||||
/* compute all the needed values */
|
/* compute all the needed values */
|
||||||
for (idx=0; idx<nombre; idx++) {
|
for (idx=0; idx<nombre; idx++) {
|
||||||
@ -76,6 +79,7 @@ for (idx=0; idx<nombre; idx++) {
|
|||||||
fprintf(stderr, "%5d %s %f\r", idx, filename, metrique);
|
fprintf(stderr, "%5d %s %f\r", idx, filename, metrique);
|
||||||
idxvalues[idx].idx = idx;
|
idxvalues[idx].idx = idx;
|
||||||
idxvalues[idx].value = metrique;
|
idxvalues[idx].value = metrique;
|
||||||
|
average += (double)metrique;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (method) {
|
if (method) {
|
||||||
@ -91,7 +95,11 @@ if (verbosity > 1) {
|
|||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fprintf(stderr, "\n.\n");
|
average /= (double)nombre;
|
||||||
|
*p_average = average;
|
||||||
|
|
||||||
|
fprintf(stderr, "\naverage %f\n", average);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -109,6 +117,7 @@ int curpix;
|
|||||||
int iarray[3];
|
int iarray[3];
|
||||||
char *cptr, line[200];
|
char *cptr, line[200];
|
||||||
float coef, value;
|
float coef, value;
|
||||||
|
double meanmetric;
|
||||||
IdxValue *idx_values;
|
IdxValue *idx_values;
|
||||||
|
|
||||||
fprintf(stderr, " interpolate from '%s' to '%s' with %d steps.\n",
|
fprintf(stderr, " interpolate from '%s' to '%s' with %d steps.\n",
|
||||||
@ -124,7 +133,7 @@ if (0 == globbuf.gl_pathc) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
idx_values = NULL;
|
idx_values = NULL;
|
||||||
foo = tentative_triage(&globbuf, &idx_values, sort);
|
foo = tentative_triage(&globbuf, &idx_values, sort, &meanmetric);
|
||||||
if (foo) {
|
if (foo) {
|
||||||
fprintf(stderr, "sort of %p -> %d\n\n", idx_values, foo);
|
fprintf(stderr, "sort of %p -> %d\n\n", idx_values, foo);
|
||||||
return foo;
|
return foo;
|
||||||
@ -134,8 +143,14 @@ foo = fimg_fileinfos(globbuf.gl_pathv[0], iarray);
|
|||||||
if (FIMG_TYPE_RGB != iarray[2]) {
|
if (FIMG_TYPE_RGB != iarray[2]) {
|
||||||
fprintf(stderr, "can work only on RGB fimg picture, was %d\n",
|
fprintf(stderr, "can work only on RGB fimg picture, was %d\n",
|
||||||
iarray[2]);
|
iarray[2]);
|
||||||
exit(1);
|
exit(1); /* BLAM! */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (infx) fprintf(stderr, "\tin fx #%d\n", infx);
|
||||||
|
else fprintf(stderr, "\tno in fx\n");
|
||||||
|
if (outfx) fprintf(stderr, "\tout fx #%d\n", outfx);
|
||||||
|
else fprintf(stderr, "\tno out fx\n");
|
||||||
|
|
||||||
w = iarray[0], h = iarray[1];
|
w = iarray[0], h = iarray[1];
|
||||||
fprintf(stderr, "first image size : %dx%d\n", w, h);
|
fprintf(stderr, "first image size : %dx%d\n", w, h);
|
||||||
|
|
||||||
@ -256,6 +271,12 @@ fprintf(stderr, "*** %s : compiled by tTh, %s %s\n", __FILE__,
|
|||||||
__DATE__, __TIME__);
|
__DATE__, __TIME__);
|
||||||
fimg_print_version(2);
|
fimg_print_version(2);
|
||||||
|
|
||||||
|
//#if DEBUG_LEVEL
|
||||||
|
/* this is for the debug off calling shellscript */
|
||||||
|
for (foo=0; foo<argc; foo++)
|
||||||
|
fprintf(stderr, "%5d %s\n", foo, argv[foo]);
|
||||||
|
//#endif
|
||||||
|
|
||||||
while ((opt = getopt(argc, argv, "E:F:hS:vw:x:")) != -1) {
|
while ((opt = getopt(argc, argv, "E:F:hS:vw:x:")) != -1) {
|
||||||
switch(opt) {
|
switch(opt) {
|
||||||
case 'E': InFchain = optarg; break;
|
case 'E': InFchain = optarg; break;
|
||||||
@ -268,9 +289,9 @@ while ((opt = getopt(argc, argv, "E:F:hS:vw:x:")) != -1) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if DEBUG_LEVEL
|
//#if DEBUG_LEVEL
|
||||||
fprintf(stderr, "%s : argc = %d, optind = %d\n", argv[0], argc, optind);
|
fprintf(stderr, "%s: argc = %d, optind = %d\n", argv[0], argc, optind);
|
||||||
#endif
|
//#endif
|
||||||
|
|
||||||
if (3 != (argc-optind)) {
|
if (3 != (argc-optind)) {
|
||||||
fprintf(stderr, "args: [options] <inglob> <outdir> <nbsteep>\n");
|
fprintf(stderr, "args: [options] <inglob> <outdir> <nbsteep>\n");
|
||||||
@ -288,7 +309,7 @@ if (foo) {
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (verbosity) {
|
if (verbosity > 1) {
|
||||||
puts("==============");
|
puts("==============");
|
||||||
filterstack_list(0, __FILE__);
|
filterstack_list(0, __FILE__);
|
||||||
filterstack_list(1, __FILE__);
|
filterstack_list(1, __FILE__);
|
||||||
|
@ -23,7 +23,7 @@ int convert_to_gray; /* WTF ? */
|
|||||||
#define LMAX 255.0
|
#define LMAX 255.0
|
||||||
#define TIMER 1
|
#define TIMER 1
|
||||||
|
|
||||||
#define STK 0
|
#define STK 6
|
||||||
|
|
||||||
/* ----------------------------------------------------------- */
|
/* ----------------------------------------------------------- */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user