a big commit of garbage
This commit is contained in:
@@ -48,7 +48,7 @@ if (memcmp(filehead.magic, "FIMG", 4)) {
|
||||
|
||||
/* XXX preparer la gestion des metadata */
|
||||
if ('a' == filehead.magic[4]) {
|
||||
fprintf(stderr,"****** %s have metadata\n", fname);
|
||||
fprintf(stderr,"\n\t****** %s have metadata\n\n", fname);
|
||||
}
|
||||
|
||||
datas[0] = filehead.w;
|
||||
@@ -67,6 +67,7 @@ int fimg_dumpmd_to_file(FloatImg *fimg, char *fname, \
|
||||
FILE *fp;
|
||||
int foo, nbre;
|
||||
FimgFileHead filehead;
|
||||
FimgMetaData fakemd;
|
||||
|
||||
#if DEBUG_LEVEL
|
||||
fprintf(stderr, ">>> %s ( %p '%s' %p %d )\n", __func__, fimg,
|
||||
@@ -83,6 +84,20 @@ if (FIMG_TYPE_RGB != fimg->type) {
|
||||
return -8;
|
||||
}
|
||||
|
||||
/* OK, we have to make a fake metadata chunk, if the caller
|
||||
* don't have one. Ugly, and nice */
|
||||
if (NULL == pmd) {
|
||||
fprintf(stderr, ">>> %s making faked metadata\n", __func__);
|
||||
foo = fimg_default_metadata(&fakemd, 3);
|
||||
fprintf(stderr, "fakemd is at %p\n", &fakemd);
|
||||
pmd = &fakemd;
|
||||
}
|
||||
else {
|
||||
/* OK, get some funky metadatas */
|
||||
fprintf(stderr, "OK %s get funky metadatas\n", __func__);
|
||||
fprintf(stderr, "acquisition values %f %d\n", pmd->fval, pmd->count);
|
||||
}
|
||||
|
||||
fp = fopen(fname, "w");
|
||||
if (NULL==fp) {
|
||||
perror(fname);
|
||||
@@ -96,7 +111,7 @@ filehead.t = fimg->type;
|
||||
|
||||
/* XXX metadata */
|
||||
if (NULL != pmd) {
|
||||
|
||||
fprintf(stderr, "ok, %s give an 'a' flag\n", __func__);
|
||||
filehead.magic[4] = 'a';
|
||||
}
|
||||
|
||||
@@ -108,8 +123,9 @@ if (1 != foo) {
|
||||
return -2;
|
||||
}
|
||||
|
||||
/* XXX metadata */
|
||||
/* we have metadata, put them on tape */
|
||||
if (NULL != pmd) {
|
||||
fprintf(stderr, ">>> %s write metadata %p\n", __func__, pmd);
|
||||
foo = fwrite(pmd, sizeof(FimgMetaData), 1, fp);
|
||||
if (1 != foo) {
|
||||
perror(fname);
|
||||
@@ -236,6 +252,12 @@ if ( (filehead.w != where->width) ||
|
||||
/* XXX preparer la gestion des metadata */
|
||||
if ('a' == filehead.magic[4]) {
|
||||
fprintf(stderr,"****** %s have metadata\n", fname);
|
||||
foo = fseek(fp, (long)sizeof(FimgMetaData), SEEK_CUR);
|
||||
if (foo) {
|
||||
fprintf(stderr, "%s: seek error\n", __func__);
|
||||
perror(fname);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
nbre = filehead.w * filehead.h; /* number of pixels per frame */
|
||||
@@ -274,7 +296,7 @@ fprintf(stderr, ">>> %-25s ( '%s' %p )\n", __func__, fname, head);
|
||||
|
||||
/*
|
||||
* may be we can crash coredump here if the head
|
||||
* descriptor is not blank ?
|
||||
* descriptor from calleris not blank ?
|
||||
*/
|
||||
|
||||
fp = fopen(fname, "r");
|
||||
@@ -301,6 +323,19 @@ if (foo) {
|
||||
return foo;
|
||||
}
|
||||
|
||||
/* bugfix Sat 14 May 2022 07:02:53 PM CEST */
|
||||
/*
|
||||
* Oh boy, we have to skeep the metadata chunck
|
||||
*/
|
||||
if ('a' == filehead.magic[4]) {
|
||||
fprintf(stderr, "OMG %s metadata !!!\n", __func__);
|
||||
foo = fseek(fp, (long)sizeof(FimgMetaData), SEEK_CUR);
|
||||
if (foo) {
|
||||
fprintf(stderr, "%s : shit hit the fan\n", __func__);
|
||||
abort();
|
||||
}
|
||||
}
|
||||
|
||||
size = filehead.w * filehead.h;
|
||||
nbread = 0;
|
||||
nbread += fread(head->R, sizeof(float), size, fp);
|
||||
|
||||
@@ -37,6 +37,10 @@ fprintf(stderr, ">>> %s ( %p '%s' 0x%08x )\n", __func__,
|
||||
pmd, title, notused);
|
||||
#endif
|
||||
|
||||
if (NULL != title) {
|
||||
fprintf(stderr, "==== metadate for %s\n", title);
|
||||
}
|
||||
|
||||
if (verbosity) {
|
||||
fprintf(stderr, "sizeof(metadata) = %ld\n", \
|
||||
sizeof(FimgMetaData));
|
||||
@@ -49,8 +53,8 @@ doubletime = (double)pmd->timestamp.tv_sec + \
|
||||
(double)pmd->timestamp.tv_usec / 1e6;
|
||||
fprintf(stderr, "dtime of day = %e\n", doubletime);
|
||||
fprintf(stderr, "creator pid = %ld\n", pmd->cpid);
|
||||
fprintf(stderr, "counter = %d\n", pmd->count);
|
||||
fprintf(stderr, "float value = %.3f\n", pmd->fval);
|
||||
fprintf(stderr, "counter = %d\n", pmd->count);
|
||||
fprintf(stderr, "id camera = '%s'\n", pmd->idcam);
|
||||
fprintf(stderr, "origin = 0x%x\n", pmd->origin);
|
||||
|
||||
@@ -63,7 +67,7 @@ fputc('\n', stderr);
|
||||
return 0;
|
||||
}
|
||||
/* ---------------------------------------------------------------- */
|
||||
int fimg_default_metadata(FimgMetaData *pmd)
|
||||
int fimg_default_metadata(FimgMetaData *pmd, int bla)
|
||||
{
|
||||
int foo;
|
||||
struct timeval tvl;
|
||||
@@ -81,17 +85,19 @@ if (foo) {
|
||||
}
|
||||
else {
|
||||
if (verbosity) {
|
||||
fprintf(stderr, "Time of day %12ld %12ld\n", \
|
||||
fprintf(stderr, " set TimeOfDay to %12ld , %8ld\n", \
|
||||
tvl.tv_sec, tvl.tv_usec);
|
||||
}
|
||||
memcpy(&(pmd->timestamp), &tvl, sizeof(struct timeval));
|
||||
}
|
||||
|
||||
pmd->cpid = getpid();
|
||||
pmd->count = 0;
|
||||
pmd->fval = 255.0;
|
||||
strcpy(pmd->idcam, "<unknow>");
|
||||
pmd->origin = 0xdeadbeef;
|
||||
pmd->cpid = getpid(); // we are the creator, no ?
|
||||
pmd->count = 1; // mmmm...
|
||||
pmd->fval = 255.0; // Ok
|
||||
strcpy(pmd->idcam, "<noname>");
|
||||
pmd->origin = 0xdeadbeef; // classic joke, sorry
|
||||
pmd->reserved[0] = bla;
|
||||
pmd->reserved[7] = 0x55445544; // magic number is a crime
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user