diff --git a/doc/the_floatimg_hack.tex b/doc/the_floatimg_hack.tex index 5a438d2b..b286f761 100644 --- a/doc/the_floatimg_hack.tex +++ b/doc/the_floatimg_hack.tex @@ -242,7 +242,8 @@ sur la provenance de ces données prétendant être des images. En fait, notre désir secret est la découverte des choses cachées du monde qui nous entoure. Nous voulons des images du \textbf{réel} et pour cela, l'outil le plus commun, le plus répandu, -est la webcam\index{webcam}. L'universelle webcam. +est la webcam\index{webcam}. L'universelle webcam. Et l'incontournable +v4l2. % ------------------------------------------------------------------- \section{Et pour la suite ?} diff --git a/tools/fimg2png.c b/tools/fimg2png.c index 77cda771..6546142c 100644 --- a/tools/fimg2png.c +++ b/tools/fimg2png.c @@ -7,7 +7,7 @@ /* --------------------------------------------------------------------- */ int main(int argc, char *argv[]) { -int foo; +// int foo; if (3 != argc) { fimg_print_version(1); @@ -15,6 +15,8 @@ if (3 != argc) { exit(1); } +fprintf(stderr, "ah ah ah, no working code here !\n"); + return 0; } /* --------------------------------------------------------------------- */ diff --git a/v4l2/Makefile b/v4l2/Makefile index 60395bf5..8eb83e67 100644 --- a/v4l2/Makefile +++ b/v4l2/Makefile @@ -1,6 +1,6 @@ -COPT = -Wall -fpic -g -pg -DDEBUG_LEVEL=1 +COPT = -Wall -fpic -g -pg -no-pie -DDEBUG_LEVEL=1 DEPS = ../floatimg.h ../libfloatimg.a Makefile all: grabvidseq t @@ -18,7 +18,7 @@ v4l2_pr_structs.o: v4l2_pr_structs.c v4l2_pr_structs.h Makefile gcc ${COPT} -c $< grabvidseq: grabvidseq.c Makefile rgb2fimg.o - gcc ${COPT} $< rgb2fimg.o ../libfloatimg.a -lm -lv4l2 -o $@ + gcc ${COPT} $< rgb2fimg.o ../libfloatimg.a -lm -lv4l2 -o $@ video-infos: video-infos.c Makefile funcs.o v4l2_pr_structs.o gcc -Wall -g $< funcs.o v4l2_pr_structs.o -o $@ diff --git a/v4l2/grabvidseq.c b/v4l2/grabvidseq.c index 1c4516f0..fb7a4852 100644 --- a/v4l2/grabvidseq.c +++ b/v4l2/grabvidseq.c @@ -38,13 +38,8 @@ /* --------------------------------------------------------------------- */ - - #define CLEAR(x) memset(&(x), 0, sizeof(x)) - - - struct buffer { void *start; size_t length; @@ -194,6 +189,9 @@ foo = fimg_create(&cumul, fimg_clear(&cumul); #endif + + + type = V4L2_BUF_TYPE_VIDEO_CAPTURE; xioctl(fd, VIDIOC_STREAMON, &type); diff --git a/v4l2/rgb2fimg.c b/v4l2/rgb2fimg.c index 686a4fcd..b50f4d8f 100644 --- a/v4l2/rgb2fimg.c +++ b/v4l2/rgb2fimg.c @@ -5,6 +5,32 @@ #include "funcs.h" +/* --------------------------------------------------------------------- */ +int x_upscaler(unsigned char *src, int w, int h, FloatImg *d) +{ +int x, y, xx, yy; +float *rp, *gp, *bp; +float r, g, b; +static unsigned short modz; + +rp = d->R, gp = d->G, bp = d->B; + +for (y=0; y