From 4aa20dd69bc6fb232cb46ed2e0649b728507909d Mon Sep 17 00:00:00 2001 From: Tonton Th Date: Fri, 24 May 2019 17:40:13 +0200 Subject: [PATCH] adding v4l2 support --- build.sh | 42 +++++++++++++++++++++++------------------- tools/Makefile | 2 ++ v4l2/Makefile | 9 +++++++++ v4l2/t | Bin 0 -> 24064 bytes v4l2/t.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 80 insertions(+), 19 deletions(-) create mode 100644 v4l2/Makefile create mode 100755 v4l2/t create mode 100644 v4l2/t.c diff --git a/build.sh b/build.sh index bc7302df..79dcf5d1 100755 --- a/build.sh +++ b/build.sh @@ -1,30 +1,34 @@ #!/bin/bash -cd lib -echo ============= we are in $PWD -make -error=$? -if [ 0 -ne $error ]; then - printf "in %s err %d in %s\n" $PWD $error $0 - exit $error -fi -echo -cd .. +# ------------------------------------------------------------------ -cd funcs -echo ============= we are in $PWD -make +function build +{ +echo ============= $1 ============== +curdir=${PWD} +cd $1 +make error=$? -if [ 0 -ne $error ]; then - printf "in %s err %d in %s\n" $PWD $error $0 - exit $error +cd ${curdir} + +if [ ${error} -ne 0 ] +then + echo === error on $1 = ${error} + exit fi -echo -cd .. +} + +# ------------------------------------------------------------------ + +build lib +build funcs +build tools + +# ------------------------------------------------------------------ cd tools echo -make fimg2pnm addtga2fimg mkfimg png2fimg fimgstats fimg2png +make error=$? cd .. diff --git a/tools/Makefile b/tools/Makefile index 6e457775..63cb07c6 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -8,6 +8,8 @@ DEPS = ../floatimg.h ../libfloatimg.a Makefile # ---------- +all: fimg2pnm addtga2fimg mkfimg png2fimg fimgstats fimg2png + fimgstats: fimgstats.c $(DEPS) gcc -g $< ../libfloatimg.a -o $@ diff --git a/v4l2/Makefile b/v4l2/Makefile new file mode 100644 index 00000000..8598717f --- /dev/null +++ b/v4l2/Makefile @@ -0,0 +1,9 @@ + + +COPT = -Wall -fpic -g -DDEBUG_LEVEL=1 +DEPS = ../floatimg.h ../libfloatimg.a Makefile + + + +t: t.c Makefile ${DEPS} + gcc ${COPT} $< ../libfloatimg.a -o $@ \ No newline at end of file diff --git a/v4l2/t b/v4l2/t new file mode 100755 index 0000000000000000000000000000000000000000..3271183e4872cafa15c1eff39f5151afcaed9b1b GIT binary patch literal 24064 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 a*qEwZ!4-2Zn+Rw9?iwMn)}~-X+5ZBlI8lHA literal 0 HcmV?d00001 diff --git a/v4l2/t.c b/v4l2/t.c new file mode 100644 index 00000000..5845c98f --- /dev/null +++ b/v4l2/t.c @@ -0,0 +1,46 @@ +/* + * tests pour capturer les webcams + */ + +#include +#include +#include +#include +#include + +#include "floatimg.h" + +int verbosity; + +/* --------------------------------------------------------------------- */ +void help(int k) +{ +puts("Options :"); +puts("\t-d WxH\timage size"); +puts("\t-v\tincrease verbosity"); +exit(0); +} +/* --------------------------------------------------------------------- */ + +int main(int argc, char *argv[]) +{ +int foo, opt; +int W = 800, H = 600; +double tb; +int K = 0; + +while ((opt = getopt(argc, argv, "hK:v")) != -1) { + switch(opt) { + case 'h': help(0); break; + case 'K': K = atol(optarg); break; + case 'v': verbosity++; break; + } + } + +if (verbosity) fimg_print_version(0); + +return 0; +} +/* --------------------------------------------------------------------- */ + +