Browse Source

fix a bug in rotate_90

master
tonton th 2 years ago
parent
commit
b39660cc78
  1. 2
      floatimg.h
  2. 9
      funcs/rotate.c
  3. 9
      v4l2/grabvidseq.c

2
floatimg.h

@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
* ugly code from tTh
*/
#define FIMG_VERSION 101
#define FIMG_VERSION 102
/*
* in memory descriptor

9
funcs/rotate.c

@ -15,7 +15,7 @@ extern int verbosity; @@ -15,7 +15,7 @@ extern int verbosity;
int fimg_rotate_90(FloatImg *src, FloatImg *dst, int notused)
{
int foo;
int x, y;
int x, y, j, k;
float rgb[3];
#if DEBUG_LEVEL
@ -56,7 +56,12 @@ if ( (src->type != dst->type) || @@ -56,7 +56,12 @@ if ( (src->type != dst->type) ||
for (y=0; y<src->height; y++) {
for (x=0; x<src->width; x++) {
fimg_get_rgb(src, x, y, rgb);
fimg_put_rgb(dst, y, x, rgb);
j = (dst->height - x) - 1;
k = (dst->width - y) - 1;
#if DEBUG_LEVEL > 1
fprintf(stderr, "%6d %6d\n", k, j);
#endif
fimg_put_rgb(dst, k, x, rgb);
}
}

9
v4l2/grabvidseq.c

@ -369,10 +369,11 @@ switch (contrast) { @@ -369,10 +369,11 @@ switch (contrast) {
}
/* XXX warning, new from coronahome 26 mars 2020 */
to_save = &cumul;
if (90 == rotfactor) {
memset(&tmpfimg, 0, sizeof(FloatImg));
foo = fimg_rotate_90(&cumul, &tmpfimg, 0);
if (verbosity > 1) {
if (verbosity > 2) {
fprintf(stderr, "dump rot90 %p\n", &tmpfimg);
foo = fimg_save_as_png(&tmpfimg, "rot90.png", 0);
}
@ -383,13 +384,13 @@ if (90 == rotfactor) { @@ -383,13 +384,13 @@ if (90 == rotfactor) {
foo = format_from_extension(outfile);
switch (foo) {
case FILE_TYPE_FIMG:
foo = fimg_dump_to_file(&cumul, outfile, 0);
foo = fimg_dump_to_file(to_save, outfile, 0);
break;
case FILE_TYPE_PNM:
foo = fimg_save_as_pnm(&cumul, outfile, 1);
foo = fimg_save_as_pnm(to_save, outfile, 1);
break;
case FILE_TYPE_PNG:
foo = fimg_save_as_png(&cumul, outfile, 0);
foo = fimg_save_as_png(to_save, outfile, 0);
break;
default:
fprintf(stderr, "can't save as %s\n", outfile);

Loading…
Cancel
Save