don't know how to make the upscaler

This commit is contained in:
Tonton Th 2019-08-12 01:53:17 +02:00
parent 5d91e0b73b
commit 411aad94d7
5 changed files with 36 additions and 9 deletions

View File

@ -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 ?}

View File

@ -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;
}
/* --------------------------------------------------------------------- */

View File

@ -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 $@

View File

@ -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);

View File

@ -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<h; y++) {
yy = (y*2) + ! (modz & 1);
for (x=0; x<w; x++) {
xx = (x*2) + ! (modz & 2);
r = (float)*src++;
g = (float)*src++;
b = (float)*src++;
fimg_plot_rgb(d, xx, yy, r, g, b);
}
}
modz++;
return -1;
}
/* --------------------------------------------------------------------- */
int x_rgb2fimg(unsigned char *src, int w, int h, FloatImg *d)
{