summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--v4l2-apps/Make.rules3
-rw-r--r--v4l2-apps/lib/Makefile33
-rw-r--r--v4l2-apps/lib/frequencies.c (renamed from v4l2-apps/util/qv4l2/frequencies.c)2
-rw-r--r--v4l2-apps/lib/v4l2.h (renamed from v4l2-apps/util/qv4l2/frequencies.h)0
-rw-r--r--v4l2-apps/test/Makefile31
-rw-r--r--v4l2-apps/test/ioctl-test.c5
-rw-r--r--v4l2-apps/test/sliced-vbi-detect.c2
-rw-r--r--v4l2-apps/test/sliced-vbi-test.c2
-rw-r--r--v4l2-apps/test/v4lgrab.c212
-rw-r--r--v4l2-apps/util/Makefile22
-rw-r--r--v4l2-apps/util/qv4l2/qv4l2.cpp2
-rw-r--r--v4l2-apps/util/qv4l2/qv4l2.pro5
12 files changed, 190 insertions, 129 deletions
diff --git a/v4l2-apps/Make.rules b/v4l2-apps/Make.rules
index b35772682..0b6a76e98 100644
--- a/v4l2-apps/Make.rules
+++ b/v4l2-apps/Make.rules
@@ -8,7 +8,7 @@ export CC
ifeq ($(origin CFLAGS),undefined)
CFLAGS := -g -O1
endif
-CFLAGS += -Wall -W -Wshadow -Wpointer-arith -Wstrict-prototypes
+CFLAGS += -Wall -W -Wno-unused -Wshadow -Wpointer-arith -Wstrict-prototypes
CFLAGS += -fPIC
export CFLAGS
@@ -42,6 +42,7 @@ else
endif
clean::
+ -rm -f core core.[0123456789]* *~ *.o
rm -f *.d
-include *.d ...dummy
diff --git a/v4l2-apps/lib/Makefile b/v4l2-apps/lib/Makefile
new file mode 100644
index 000000000..8143370d7
--- /dev/null
+++ b/v4l2-apps/lib/Makefile
@@ -0,0 +1,33 @@
+# Makefile for linuxtv.org v4l2-apps/lib
+
+CPPFLAGS += -I../../include -I..
+
+includes = v4l2.h
+
+objects = frequencies.o
+
+sharedlib = libv4l2.so
+staticlib = libv4l2.a
+
+ifeq ($(prefix),)
+prefix = /usr
+endif
+
+.PHONY: all clean install
+
+all: $(sharedlib) $(staticlib)
+
+$(sharedlib): $(objects)
+
+$(staticlib): $(objects)
+
+clean::
+ rm -f $(objects) $(sharedlib) $(staticlib)
+
+install:
+ mkdir -p $(prefix)/include
+ cp $(includes) $(prefix)/include
+ mkdir -p $(prefix)/lib
+ cp $(sharedlib) $(staticlib) $(prefix)/lib
+
+include ../Make.rules
diff --git a/v4l2-apps/util/qv4l2/frequencies.c b/v4l2-apps/lib/frequencies.c
index e30c55303..a92dce733 100644
--- a/v4l2-apps/util/qv4l2/frequencies.c
+++ b/v4l2-apps/lib/frequencies.c
@@ -2,7 +2,7 @@
#include <sys/time.h>
#include <pthread.h>
-#include "frequencies.h"
+#include "v4l2.h"
/* --------------------------------------------------------------------- */
diff --git a/v4l2-apps/util/qv4l2/frequencies.h b/v4l2-apps/lib/v4l2.h
index e6044e5e1..e6044e5e1 100644
--- a/v4l2-apps/util/qv4l2/frequencies.h
+++ b/v4l2-apps/lib/v4l2.h
diff --git a/v4l2-apps/test/Makefile b/v4l2-apps/test/Makefile
index 30c3edff6..b6a83b2b3 100644
--- a/v4l2-apps/test/Makefile
+++ b/v4l2-apps/test/Makefile
@@ -1,19 +1,20 @@
-FILES = ioctl-test sliced-vbi-test sliced-vbi-detect vbi-test v4lgrab v4l2-ctl
-CC = gcc
-LIBS =
-CFLAGS = -O3 -Wall -fomit-frame-pointer -funroll-loops -g -I ../linux/include
-CXXFLAGS = $(CFLAGS)
-LDFLAGS =
+# Makefile for linuxtv.org v4l2-apps/test
-all: $(FILES) qv4l2
+CPPFLAGS += -I../../linux/include
-clean:
- -rm -f core core.[0123456789]* *~ *.o $(FILES)
- -if [ -f qv4l2/Makefile ]; then make -C qv4l2 $@; fi
- -rm -f qv4l2/qv4l2 qv4l2/Makefile
+binaries = ioctl-test \
+ sliced-vbi-test \
+ sliced-vbi-detect \
+ vbi-test \
+ v4lgrab
-qv4l2:
- if [ ! -f qv4l2/Makefile ]; then (cd qv4l2; qmake); fi
- make -C qv4l2
+.PHONY: all clean install
-.PHONY: qv4l2
+all: $(binaries)
+
+clean::
+ rm -f $(binaries)
+
+install:
+
+include ../Make.rules
diff --git a/v4l2-apps/test/ioctl-test.c b/v4l2-apps/test/ioctl-test.c
index 4b47cd9e7..61659dc78 100644
--- a/v4l2-apps/test/ioctl-test.c
+++ b/v4l2-apps/test/ioctl-test.c
@@ -36,7 +36,7 @@
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <fcntl.h>
-#include "../linux/include/linux/videodev.h"
+#include "linux/videodev.h"
#ifdef INTERNAL
typedef __u8 u8;
@@ -201,7 +201,8 @@ int ioctls[] = {
/********************************************************************/
int main (void)
{
- int fd=0, ret=0,i;
+ int fd=0, ret=0;
+ unsigned i;
char *device="/dev/video0";
union v4l_parms p;
diff --git a/v4l2-apps/test/sliced-vbi-detect.c b/v4l2-apps/test/sliced-vbi-detect.c
index 22c9c2461..f6d8da01f 100644
--- a/v4l2-apps/test/sliced-vbi-detect.c
+++ b/v4l2-apps/test/sliced-vbi-detect.c
@@ -49,7 +49,7 @@ static void detect(int fh, struct v4l2_sliced_vbi_format *fmt)
for (cnt = 0; cnt < 5; cnt++) {
int size = read(fh, buf, fmt->io_size);
- int i;
+ unsigned i;
if (size <= 0) {
printf("size = %d\n", size);
diff --git a/v4l2-apps/test/sliced-vbi-test.c b/v4l2-apps/test/sliced-vbi-test.c
index 3b4a7fc8f..c8877de30 100644
--- a/v4l2-apps/test/sliced-vbi-test.c
+++ b/v4l2-apps/test/sliced-vbi-test.c
@@ -455,7 +455,7 @@ int main(int argc, char **argv)
buf = malloc(fmt.fmt.sliced.io_size);
for (;;) {
int size = read(fh, buf, fmt.fmt.sliced.io_size);
- int i;
+ unsigned i;
if (size <= 0)
break;
diff --git a/v4l2-apps/test/v4lgrab.c b/v4l2-apps/test/v4lgrab.c
index 079b62848..c8d433c1d 100644
--- a/v4l2-apps/test/v4lgrab.c
+++ b/v4l2-apps/test/v4lgrab.c
@@ -43,7 +43,7 @@
\
case 16: \
(r) = (g) = (b) = \
- *((unsigned short *) buf); \
+ *((unsigned short *) buf); \
buf += 2; \
break; \
} \
@@ -80,113 +80,115 @@
} \
}
-int get_brightness_adj(unsigned char *image, long size, int *brightness) {
- long i, tot = 0;
- for (i=0;i<size*3;i++)
- tot += image[i];
- *brightness = (128 - tot/(size*3))/3;
- return !((tot/(size*3)) >= 126 && (tot/(size*3)) <= 130);
+int get_brightness_adj(unsigned char *image, long size, int *brightness)
+{
+ long i, tot = 0;
+ for (i=0;i<size*3;i++)
+ tot += image[i];
+ *brightness = (128 - tot/(size*3))/3;
+ return !((tot/(size*3)) >= 126 && (tot/(size*3)) <= 130);
}
-int main(int argc, char ** argv)
+int main(int argc, char **argv)
{
- int fd = open(FILE, O_RDONLY), f;
- struct video_capability cap;
- struct video_window win;
- struct video_picture vpic;
-
- unsigned char *buffer, *src;
- int bpp = 24, r, g, b;
- unsigned int i, src_depth;
-
- if (fd < 0) {
- perror(FILE);
- exit(1);
- }
-
- if (ioctl(fd, VIDIOCGCAP, &cap) < 0) {
- perror("VIDIOGCAP");
- fprintf(stderr, "(" FILE " not a video4linux device?)\n");
- close(fd);
- exit(1);
- }
-
- if (ioctl(fd, VIDIOCGWIN, &win) < 0) {
- perror("VIDIOCGWIN");
- close(fd);
- exit(1);
- }
-
- if (ioctl(fd, VIDIOCGPICT, &vpic) < 0) {
- perror("VIDIOCGPICT");
- close(fd);
- exit(1);
- }
-
- if (cap.type & VID_TYPE_MONOCHROME) {
- vpic.depth=8;
- vpic.palette=VIDEO_PALETTE_GREY; /* 8bit grey */
- if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) {
- vpic.depth=6;
- if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) {
- vpic.depth=4;
- if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) {
- fprintf(stderr, "Unable to find a supported capture format.\n");
- close(fd);
- exit(1);
+ int fd = open(FILE, O_RDONLY), f;
+ struct video_capability cap;
+ struct video_window win;
+ struct video_picture vpic;
+
+ unsigned char *buffer, *src;
+ int bpp = 24, r, g, b;
+ unsigned int i, src_depth;
+
+ if (fd < 0) {
+ perror(FILE);
+ exit(1);
+ }
+
+ if (ioctl(fd, VIDIOCGCAP, &cap) < 0) {
+ perror("VIDIOGCAP");
+ fprintf(stderr, "(" FILE " not a video4linux device?)\n");
+ close(fd);
+ exit(1);
+ }
+
+ if (ioctl(fd, VIDIOCGWIN, &win) < 0) {
+ perror("VIDIOCGWIN");
+ close(fd);
+ exit(1);
+ }
+
+ if (ioctl(fd, VIDIOCGPICT, &vpic) < 0) {
+ perror("VIDIOCGPICT");
+ close(fd);
+ exit(1);
}
- }
- }
- } else {
- vpic.depth=24;
- vpic.palette=VIDEO_PALETTE_RGB24;
-
- if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) {
- vpic.palette=VIDEO_PALETTE_RGB565;
- vpic.depth=16;
-
- if(ioctl(fd, VIDIOCSPICT, &vpic)==-1) {
- vpic.palette=VIDEO_PALETTE_RGB555;
- vpic.depth=15;
-
- if(ioctl(fd, VIDIOCSPICT, &vpic)==-1) {
- fprintf(stderr, "Unable to find a supported capture format.\n");
- return -1;
+
+ if (cap.type & VID_TYPE_MONOCHROME) {
+ vpic.depth=8;
+ vpic.palette=VIDEO_PALETTE_GREY; /* 8bit grey */
+ if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) {
+ vpic.depth=6;
+ if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) {
+ vpic.depth=4;
+ if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) {
+ fprintf(stderr, "Unable to find a supported capture format.\n");
+ close(fd);
+ exit(1);
+ }
+ }
+ }
+ }
+ else {
+ vpic.depth=24;
+ vpic.palette=VIDEO_PALETTE_RGB24;
+
+ if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) {
+ vpic.palette=VIDEO_PALETTE_RGB565;
+ vpic.depth=16;
+
+ if(ioctl(fd, VIDIOCSPICT, &vpic)==-1) {
+ vpic.palette=VIDEO_PALETTE_RGB555;
+ vpic.depth=15;
+
+ if(ioctl(fd, VIDIOCSPICT, &vpic)==-1) {
+ fprintf(stderr, "Unable to find a supported capture format.\n");
+ return -1;
+ }
+ }
+ }
+ }
+
+ buffer = malloc(win.width * win.height * bpp);
+ if (!buffer) {
+ fprintf(stderr, "Out of memory.\n");
+ exit(1);
}
- }
- }
- }
-
- buffer = malloc(win.width * win.height * bpp);
- if (!buffer) {
- fprintf(stderr, "Out of memory.\n");
- exit(1);
- }
-
- do {
- int newbright;
- read(fd, buffer, win.width * win.height * bpp);
- f = get_brightness_adj(buffer, win.width * win.height, &newbright);
- if (f) {
- vpic.brightness += (newbright << 8);
- if(ioctl(fd, VIDIOCSPICT, &vpic)==-1) {
- perror("VIDIOSPICT");
- break;
- }
- }
- } while (f);
-
- fprintf(stdout, "P6\n%d %d 255\n", win.width, win.height);
-
- src = buffer;
-
- for (i = 0; i < win.width * win.height; i++) {
- READ_VIDEO_PIXEL(src, vpic.palette, src_depth, r, g, b);
- fputc(r>>8, stdout);
- fputc(g>>8, stdout);
- fputc(b>>8, stdout);
- }
-
- close(fd);
- return 0;
+
+ do {
+ int newbright;
+ read(fd, buffer, win.width * win.height * bpp);
+ f = get_brightness_adj(buffer, win.width * win.height, &newbright);
+ if (f) {
+ vpic.brightness += (newbright << 8);
+ if(ioctl(fd, VIDIOCSPICT, &vpic)==-1) {
+ perror("VIDIOSPICT");
+ break;
+ }
+ }
+ } while (f);
+
+ fprintf(stdout, "P6\n%d %d 255\n", win.width, win.height);
+
+ src = buffer;
+
+ for (i = 0; i < win.width * win.height; i++) {
+ READ_VIDEO_PIXEL(src, vpic.palette, src_depth, r, g, b);
+ fputc(r>>8, stdout);
+ fputc(g>>8, stdout);
+ fputc(b>>8, stdout);
+ }
+
+ close(fd);
+ return 0;
}
diff --git a/v4l2-apps/util/Makefile b/v4l2-apps/util/Makefile
new file mode 100644
index 000000000..8555ef5b6
--- /dev/null
+++ b/v4l2-apps/util/Makefile
@@ -0,0 +1,22 @@
+# Makefile for linuxtv.org v4l2-apps/util
+
+CPPFLAGS += -I../../linux/include
+
+binaries = v4l2-ctl
+
+.PHONY: all clean install qv4l2
+
+all: $(binaries) qv4l2
+
+clean::
+ rm -f $(binaries)
+ -if [ -f qv4l2/Makefile ]; then make -C qv4l2 $@; fi
+ -rm -f qv4l2/qv4l2 qv4l2/Makefile
+
+qv4l2:
+ if [ ! -f qv4l2/Makefile ]; then (cd qv4l2; qmake); fi
+ make -C qv4l2
+
+install:
+
+include ../Make.rules
diff --git a/v4l2-apps/util/qv4l2/qv4l2.cpp b/v4l2-apps/util/qv4l2/qv4l2.cpp
index a4c675d48..18572e699 100644
--- a/v4l2-apps/util/qv4l2/qv4l2.cpp
+++ b/v4l2-apps/util/qv4l2/qv4l2.cpp
@@ -1,6 +1,6 @@
#include "qv4l2.h"
-#include "frequencies.h"
+#include "v4l2.h"
#include <qimage.h>
#include <qpixmap.h>
diff --git a/v4l2-apps/util/qv4l2/qv4l2.pro b/v4l2-apps/util/qv4l2/qv4l2.pro
index cfa608ca2..d9b5162aa 100644
--- a/v4l2-apps/util/qv4l2/qv4l2.pro
+++ b/v4l2-apps/util/qv4l2/qv4l2.pro
@@ -3,8 +3,9 @@
######################################################################
TEMPLATE = app
-INCLUDEPATH += . ../../linux/include
+INCLUDEPATH += . ../../../linux/include ../../lib
# Input
HEADERS += qv4l2.h
-SOURCES += qv4l2.cpp frequencies.c
+SOURCES += qv4l2.cpp
+LIBS += -lv4l2 -L../../lib