|
Mauro Carvalho Chehab |
23c808b |
diff -r 38e78368283d configure.ac
|
|
Mauro Carvalho Chehab |
23c808b |
--- a/configure.ac Sun Oct 14 23:02:08 2012 -0700
|
|
Mauro Carvalho Chehab |
23c808b |
+++ b/configure.ac Fri Feb 22 10:04:52 2013 -0300
|
|
Mauro Carvalho Chehab |
23c808b |
@@ -3,7 +3,8 @@
|
|
Mauro Carvalho Chehab |
23c808b |
AC_INIT([zbar], [0.10], [spadix@users.sourceforge.net])
|
|
Mauro Carvalho Chehab |
23c808b |
AC_CONFIG_AUX_DIR(config)
|
|
Mauro Carvalho Chehab |
23c808b |
AC_CONFIG_MACRO_DIR(config)
|
|
Mauro Carvalho Chehab |
23c808b |
-AM_INIT_AUTOMAKE([1.10 -Wall -Werror foreign subdir-objects std-options dist-bzip2])
|
|
Mauro Carvalho Chehab |
23c808b |
+AM_INIT_AUTOMAKE([1.10 -Werror foreign subdir-objects std-options dist-bzip2])
|
|
Mauro Carvalho Chehab |
23c808b |
+AM_PROG_AR
|
|
Mauro Carvalho Chehab |
23c808b |
AC_CONFIG_HEADERS([include/config.h])
|
|
Mauro Carvalho Chehab |
23c808b |
AC_CONFIG_SRCDIR(zbar/scanner.c)
|
|
Mauro Carvalho Chehab |
23c808b |
LT_PREREQ([2.2])
|
|
Mauro Carvalho Chehab |
23c808b |
@@ -47,7 +48,7 @@
|
|
Mauro Carvalho Chehab |
23c808b |
[Library revision])
|
|
Mauro Carvalho Chehab |
23c808b |
|
|
Mauro Carvalho Chehab |
23c808b |
AM_CPPFLAGS="-I$srcdir/include"
|
|
Mauro Carvalho Chehab |
23c808b |
-AM_CFLAGS="-Wall -Wno-parentheses -Werror"
|
|
Mauro Carvalho Chehab |
23c808b |
+AM_CFLAGS="-Wall -Wno-parentheses"
|
|
Mauro Carvalho Chehab |
23c808b |
AM_CXXFLAGS="$AM_CFLAGS"
|
|
Mauro Carvalho Chehab |
23c808b |
AC_SUBST([AM_CPPFLAGS])
|
|
Mauro Carvalho Chehab |
23c808b |
AC_SUBST([AM_CFLAGS])
|
|
Mauro Carvalho Chehab |
23c808b |
@@ -179,11 +180,13 @@
|
|
Mauro Carvalho Chehab |
23c808b |
|
|
Mauro Carvalho Chehab |
23c808b |
have_v4l1="no"
|
|
Mauro Carvalho Chehab |
23c808b |
have_v4l2="no"
|
|
Mauro Carvalho Chehab |
23c808b |
+have_libv4l="no"
|
|
Mauro Carvalho Chehab |
23c808b |
AS_IF([test "x$enable_video" = "xno"],
|
|
Mauro Carvalho Chehab |
23c808b |
[],
|
|
Mauro Carvalho Chehab |
23c808b |
[test "x$win32" = "xno"],
|
|
Mauro Carvalho Chehab |
23c808b |
[AC_CHECK_HEADERS([linux/videodev.h], [have_v4l1="yes"])
|
|
Mauro Carvalho Chehab |
23c808b |
AC_CHECK_HEADERS([linux/videodev2.h], [have_v4l2="yes"])
|
|
Mauro Carvalho Chehab |
23c808b |
+ AC_CHECK_HEADERS([libv4l2.h], [have_libv4l="yes"])
|
|
Mauro Carvalho Chehab |
23c808b |
AS_IF([test "x$have_v4l2" = "xno" && test "x$have_v4l1" = "xno"],
|
|
Mauro Carvalho Chehab |
23c808b |
[AC_MSG_FAILURE([test for video support failed!
|
|
Mauro Carvalho Chehab |
23c808b |
rebuild your kernel to include video4linux support or
|
|
Mauro Carvalho Chehab |
23c808b |
@@ -194,9 +197,15 @@
|
|
Mauro Carvalho Chehab |
23c808b |
[AC_MSG_FAILURE([test for VfW video support failed!
|
|
Mauro Carvalho Chehab |
23c808b |
configure --disable-video to skip building video support.])])])
|
|
Mauro Carvalho Chehab |
23c808b |
|
|
Mauro Carvalho Chehab |
23c808b |
+AS_IF([test "x$have_libv4l" = "xyes"],
|
|
Mauro Carvalho Chehab |
23c808b |
+ AC_CHECK_LIB([v4l2], [v4l2_open], [],
|
|
Mauro Carvalho Chehab |
23c808b |
+ [AC_MSG_FAILURE([unable to find libv4l.so])]),
|
|
Mauro Carvalho Chehab |
23c808b |
+ [AC_MSG_WARN([libv4l not detected. Install it to support more cameras!])])
|
|
Mauro Carvalho Chehab |
23c808b |
+
|
|
|
27a148a |
AM_CONDITIONAL([HAVE_VIDEO], [test "x$enable_video" != "xno"])
|
|
Mauro Carvalho Chehab |
23c808b |
AM_CONDITIONAL([HAVE_V4L1], [test "x$have_v4l1" != "xno"])
|
|
Mauro Carvalho Chehab |
23c808b |
AM_CONDITIONAL([HAVE_V4L2], [test "x$have_v4l2" != "xno"])
|
|
Mauro Carvalho Chehab |
23c808b |
+AM_CONDITIONAL([HAVE_LIBV4L], [test "x$have_libv4l" != "xno"])
|
|
|
27a148a |
|
|
|
27a148a |
dnl X
|
|
|
27a148a |
AC_ARG_VAR([XSHM_LIBS], [linker flags for X shared memory extension])
|
|
Mauro Carvalho Chehab |
23c808b |
@@ -571,6 +580,8 @@
|
|
Mauro Carvalho Chehab |
23c808b |
echo "v4l --enable-video=$enable_video"
|
|
|
27a148a |
AS_IF([test "x$enable_video" != "xyes"],
|
|
|
27a148a |
[echo " => zbarcam video scanner will *NOT* be built"])
|
|
Mauro Carvalho Chehab |
23c808b |
+AS_IF([test "x$have_libv4l" != "xyes"],
|
|
Mauro Carvalho Chehab |
23c808b |
+ [echo " => libv4l will *NOT* be used"])
|
|
|
27a148a |
echo "jpeg --with-jpeg=$with_jpeg"
|
|
Mauro Carvalho Chehab |
23c808b |
AS_IF([test "x$with_jpeg" != "xyes"],
|
|
Mauro Carvalho Chehab |
23c808b |
[echo " => JPEG image conversions will *NOT* be supported"])
|
|
Mauro Carvalho Chehab |
23c808b |
diff -r 38e78368283d zbar/video/v4l.c
|
|
Mauro Carvalho Chehab |
23c808b |
--- a/zbar/video/v4l.c Sun Oct 14 23:02:08 2012 -0700
|
|
Mauro Carvalho Chehab |
23c808b |
+++ b/zbar/video/v4l.c Fri Feb 22 10:04:52 2013 -0300
|
|
Mauro Carvalho Chehab |
23c808b |
@@ -34,6 +34,13 @@
|
|
Mauro Carvalho Chehab |
23c808b |
#ifdef HAVE_UNISTD_H
|
|
Mauro Carvalho Chehab |
23c808b |
# include <unistd.h>
|
|
Mauro Carvalho Chehab |
23c808b |
#endif
|
|
Mauro Carvalho Chehab |
23c808b |
+#ifdef HAVE_LIBV4L2_H
|
|
Mauro Carvalho Chehab |
23c808b |
+# include <fcntl.h>
|
|
Mauro Carvalho Chehab |
23c808b |
+# include <libv4l2.h>
|
|
Mauro Carvalho Chehab |
23c808b |
+#else
|
|
Mauro Carvalho Chehab |
23c808b |
+# define v4l2_open open
|
|
Mauro Carvalho Chehab |
23c808b |
+# define v4l2_close close
|
|
Mauro Carvalho Chehab |
23c808b |
+#endif
|
|
|
27a148a |
|
|
Mauro Carvalho Chehab |
23c808b |
#include "video.h"
|
|
|
27a148a |
|
|
Mauro Carvalho Chehab |
23c808b |
@@ -43,7 +50,7 @@
|
|
Mauro Carvalho Chehab |
23c808b |
int _zbar_video_open (zbar_video_t *vdo,
|
|
Mauro Carvalho Chehab |
23c808b |
const char *dev)
|
|
Mauro Carvalho Chehab |
23c808b |
{
|
|
|
27a148a |
- vdo->fd = open(dev, O_RDWR);
|
|
Mauro Carvalho Chehab |
23c808b |
+ vdo->fd = v4l2_open(dev, O_RDWR);
|
|
Mauro Carvalho Chehab |
23c808b |
if(vdo->fd < 0)
|
|
Mauro Carvalho Chehab |
23c808b |
return(err_capture_str(vdo, SEV_ERROR, ZBAR_ERR_SYSTEM, __func__,
|
|
Mauro Carvalho Chehab |
23c808b |
"opening video device '%s'", dev));
|
|
Mauro Carvalho Chehab |
23c808b |
@@ -60,7 +67,7 @@
|
|
Mauro Carvalho Chehab |
23c808b |
#endif
|
|
Mauro Carvalho Chehab |
23c808b |
|
|
Mauro Carvalho Chehab |
23c808b |
if(rc && vdo->fd >= 0) {
|
|
|
27a148a |
- close(vdo->fd);
|
|
Mauro Carvalho Chehab |
23c808b |
+ v4l2_close(vdo->fd);
|
|
Mauro Carvalho Chehab |
23c808b |
vdo->fd = -1;
|
|
Mauro Carvalho Chehab |
23c808b |
}
|
|
Mauro Carvalho Chehab |
23c808b |
return(rc);
|
|
Mauro Carvalho Chehab |
23c808b |
diff -r 38e78368283d zbar/video/v4l2.c
|
|
Mauro Carvalho Chehab |
23c808b |
--- a/zbar/video/v4l2.c Sun Oct 14 23:02:08 2012 -0700
|
|
Mauro Carvalho Chehab |
23c808b |
+++ b/zbar/video/v4l2.c Fri Feb 22 10:04:52 2013 -0300
|
|
Mauro Carvalho Chehab |
23c808b |
@@ -38,6 +38,15 @@
|
|
|
27a148a |
#ifdef HAVE_SYS_MMAN_H
|
|
|
27a148a |
# include <sys/mman.h>
|
|
|
27a148a |
#endif
|
|
Mauro Carvalho Chehab |
23c808b |
+#ifdef HAVE_LIBV4L2_H
|
|
Mauro Carvalho Chehab |
23c808b |
+# include <fcntl.h>
|
|
Mauro Carvalho Chehab |
23c808b |
+# include <libv4l2.h>
|
|
Mauro Carvalho Chehab |
23c808b |
+#else
|
|
Mauro Carvalho Chehab |
23c808b |
+# define v4l2_close close
|
|
Mauro Carvalho Chehab |
23c808b |
+# define v4l2_ioctl ioctl
|
|
Mauro Carvalho Chehab |
23c808b |
+# define v4l2_mmap mmap
|
|
Mauro Carvalho Chehab |
23c808b |
+# define v4l2_munmap munmap
|
|
Mauro Carvalho Chehab |
23c808b |
+#endif
|
|
|
27a148a |
#include <linux/videodev2.h>
|
|
|
27a148a |
|
|
|
27a148a |
#include "video.h"
|
|
Mauro Carvalho Chehab |
23c808b |
@@ -67,7 +76,7 @@
|
|
|
27a148a |
vbuf.length = img->datalen;
|
|
|
27a148a |
vbuf.index = img->srcidx; /* FIXME workaround broken drivers */
|
|
|
27a148a |
}
|
|
|
27a148a |
- if(ioctl(vdo->fd, VIDIOC_QBUF, &vbuf) < 0)
|
|
|
27a148a |
+ if(v4l2_ioctl(vdo->fd, VIDIOC_QBUF, &vbuf) < 0)
|
|
|
27a148a |
return(err_capture(vdo, SEV_ERROR, ZBAR_ERR_SYSTEM, __func__,
|
|
|
27a148a |
"queuing video buffer (VIDIOC_QBUF)"));
|
|
|
27a148a |
return(0);
|
|
Mauro Carvalho Chehab |
23c808b |
@@ -91,7 +100,7 @@
|
|
|
27a148a |
else
|
|
|
27a148a |
vbuf.memory = V4L2_MEMORY_USERPTR;
|
|
|
27a148a |
|
|
|
27a148a |
- if(ioctl(fd, VIDIOC_DQBUF, &vbuf) < 0)
|
|
|
27a148a |
+ if(v4l2_ioctl(fd, VIDIOC_DQBUF, &vbuf) < 0)
|
|
|
27a148a |
return(NULL);
|
|
|
27a148a |
|
|
|
27a148a |
if(iomode == VIDEO_MMAP) {
|
|
Mauro Carvalho Chehab |
23c808b |
@@ -132,7 +141,7 @@
|
|
|
27a148a |
return(0);
|
|
|
27a148a |
|
|
|
27a148a |
enum v4l2_buf_type type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
|
|
|
27a148a |
- if(ioctl(vdo->fd, VIDIOC_STREAMON, &type) < 0)
|
|
|
27a148a |
+ if(v4l2_ioctl(vdo->fd, VIDIOC_STREAMON, &type) < 0)
|
|
|
27a148a |
return(err_capture(vdo, SEV_ERROR, ZBAR_ERR_SYSTEM, __func__,
|
|
|
27a148a |
"starting video stream (VIDIOC_STREAMON)"));
|
|
|
27a148a |
return(0);
|
|
Mauro Carvalho Chehab |
23c808b |
@@ -144,7 +153,7 @@
|
|
|
27a148a |
return(0);
|
|
|
27a148a |
|
|
|
27a148a |
enum v4l2_buf_type type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
|
|
|
27a148a |
- if(ioctl(vdo->fd, VIDIOC_STREAMOFF, &type) < 0)
|
|
|
27a148a |
+ if(v4l2_ioctl(vdo->fd, VIDIOC_STREAMOFF, &type) < 0)
|
|
|
27a148a |
return(err_capture(vdo, SEV_ERROR, ZBAR_ERR_SYSTEM, __func__,
|
|
|
27a148a |
"stopping video stream (VIDIOC_STREAMOFF)"));
|
|
|
27a148a |
return(0);
|
|
Mauro Carvalho Chehab |
23c808b |
@@ -164,7 +173,7 @@
|
|
|
27a148a |
for(i = 0; i < vdo->num_images; i++) {
|
|
|
27a148a |
zbar_image_t *img = vdo->images[i];
|
|
|
27a148a |
if(img->data &&
|
|
|
27a148a |
- munmap((void*)img->data, img->datalen))
|
|
|
27a148a |
+ v4l2_munmap((void*)img->data, img->datalen))
|
|
|
27a148a |
err_capture(vdo, SEV_WARNING, ZBAR_ERR_SYSTEM, __func__,
|
|
|
27a148a |
"unmapping video frame buffers");
|
|
|
27a148a |
img->data = NULL;
|
|
Mauro Carvalho Chehab |
23c808b |
@@ -177,14 +186,14 @@
|
|
|
27a148a |
/* requesting 0 buffers
|
|
|
27a148a |
* should implicitly disable streaming
|
|
|
27a148a |
*/
|
|
|
27a148a |
- if(ioctl(vdo->fd, VIDIOC_REQBUFS, &rb) < 0)
|
|
|
27a148a |
+ if(v4l2_ioctl(vdo->fd, VIDIOC_REQBUFS, &rb) < 0)
|
|
|
27a148a |
err_capture(vdo, SEV_WARNING, ZBAR_ERR_SYSTEM, __func__,
|
|
|
27a148a |
"releasing video frame buffers (VIDIOC_REQBUFS)");
|
|
|
27a148a |
|
|
|
27a148a |
|
|
|
27a148a |
- /* close open device */
|
|
|
27a148a |
+ /* v4l2_close v4l2_open device */
|
|
|
27a148a |
if(vdo->fd >= 0) {
|
|
|
27a148a |
- close(vdo->fd);
|
|
|
27a148a |
+ v4l2_close(vdo->fd);
|
|
|
27a148a |
vdo->fd = -1;
|
|
|
27a148a |
}
|
|
|
27a148a |
return(0);
|
|
Mauro Carvalho Chehab |
23c808b |
@@ -197,7 +206,7 @@
|
|
|
27a148a |
rb.count = vdo->num_images;
|
|
|
27a148a |
rb.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
|
|
|
27a148a |
rb.memory = V4L2_MEMORY_MMAP;
|
|
|
27a148a |
- if(ioctl(vdo->fd, VIDIOC_REQBUFS, &rb) < 0)
|
|
|
27a148a |
+ if(v4l2_ioctl(vdo->fd, VIDIOC_REQBUFS, &rb) < 0)
|
|
|
27a148a |
return(err_capture(vdo, SEV_ERROR, ZBAR_ERR_SYSTEM, __func__,
|
|
|
27a148a |
"requesting video frame buffers (VIDIOC_REQBUFS)"));
|
|
|
27a148a |
zprintf(1, "mapping %u buffers (of %d requested)\n",
|
|
Mauro Carvalho Chehab |
23c808b |
@@ -216,7 +225,7 @@
|
|
|
27a148a |
int i;
|
|
|
27a148a |
for(i = 0; i < vdo->num_images; i++) {
|
|
|
27a148a |
vbuf.index = i;
|
|
|
27a148a |
- if(ioctl(vdo->fd, VIDIOC_QUERYBUF, &vbuf) < 0)
|
|
|
27a148a |
+ if(v4l2_ioctl(vdo->fd, VIDIOC_QUERYBUF, &vbuf) < 0)
|
|
|
27a148a |
/* FIXME cleanup */
|
|
|
27a148a |
return(err_capture(vdo, SEV_ERROR, ZBAR_ERR_SYSTEM, __func__,
|
|
|
27a148a |
"querying video buffer (VIDIOC_QUERYBUF)"));
|
|
Mauro Carvalho Chehab |
23c808b |
@@ -229,7 +238,7 @@
|
|
|
27a148a |
|
|
|
27a148a |
zbar_image_t *img = vdo->images[i];
|
|
|
27a148a |
img->datalen = vbuf.length;
|
|
|
27a148a |
- img->data = mmap(NULL, vbuf.length, PROT_READ | PROT_WRITE, MAP_SHARED,
|
|
|
27a148a |
+ img->data = v4l2_mmap(NULL, vbuf.length, PROT_READ | PROT_WRITE, MAP_SHARED,
|
|
|
27a148a |
vdo->fd, vbuf.m.offset);
|
|
|
27a148a |
if(img->data == MAP_FAILED)
|
|
|
27a148a |
/* FIXME cleanup */
|
|
Mauro Carvalho Chehab |
23c808b |
@@ -253,7 +262,7 @@
|
|
|
27a148a |
vpix->pixelformat = fmt;
|
|
|
27a148a |
vpix->field = V4L2_FIELD_NONE;
|
|
|
27a148a |
int rc = 0;
|
|
|
27a148a |
- if((rc = ioctl(vdo->fd, VIDIOC_S_FMT, &vfmt)) < 0) {
|
|
|
27a148a |
+ if((rc = v4l2_ioctl(vdo->fd, VIDIOC_S_FMT, &vfmt)) < 0) {
|
|
|
27a148a |
/* several broken drivers return an error if we request
|
|
|
27a148a |
* no interlacing (NB v4l2 spec violation)
|
|
|
27a148a |
* ...try again with an interlaced request
|
|
Mauro Carvalho Chehab |
23c808b |
@@ -264,7 +273,7 @@
|
|
|
27a148a |
/* FIXME this might be _ANY once we can de-interlace */
|
|
|
27a148a |
vpix->field = V4L2_FIELD_INTERLACED;
|
|
|
27a148a |
|
|
|
27a148a |
- if(ioctl(vdo->fd, VIDIOC_S_FMT, &vfmt) < 0)
|
|
|
27a148a |
+ if(v4l2_ioctl(vdo->fd, VIDIOC_S_FMT, &vfmt) < 0)
|
|
|
27a148a |
return(err_capture_int(vdo, SEV_ERROR, ZBAR_ERR_SYSTEM, __func__,
|
|
|
27a148a |
"setting format %x (VIDIOC_S_FMT)", fmt));
|
|
|
27a148a |
|
|
Mauro Carvalho Chehab |
23c808b |
@@ -276,7 +285,7 @@
|
|
|
27a148a |
struct v4l2_pix_format *newpix = &newfmt.fmt.pix;
|
|
|
27a148a |
memset(&newfmt, 0, sizeof(newfmt));
|
|
|
27a148a |
newfmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
|
|
|
27a148a |
- if(ioctl(vdo->fd, VIDIOC_G_FMT, &newfmt) < 0)
|
|
|
27a148a |
+ if(v4l2_ioctl(vdo->fd, VIDIOC_G_FMT, &newfmt) < 0)
|
|
|
27a148a |
return(err_capture(vdo, SEV_ERROR, ZBAR_ERR_SYSTEM, __func__,
|
|
|
27a148a |
"querying format (VIDIOC_G_FMT)"));
|
|
|
27a148a |
|
|
Mauro Carvalho Chehab |
23c808b |
@@ -322,7 +331,7 @@
|
|
|
27a148a |
else
|
|
|
27a148a |
rb.memory = V4L2_MEMORY_USERPTR;
|
|
|
27a148a |
|
|
|
27a148a |
- if(ioctl(vdo->fd, VIDIOC_REQBUFS, &rb) < 0) {
|
|
|
27a148a |
+ if(v4l2_ioctl(vdo->fd, VIDIOC_REQBUFS, &rb) < 0) {
|
|
|
27a148a |
if(vdo->iomode)
|
|
|
27a148a |
return(err_capture_int(vdo, SEV_ERROR, ZBAR_ERR_INVALID, __func__,
|
|
|
27a148a |
"unsupported iomode requested (%d)",
|
|
Mauro Carvalho Chehab |
23c808b |
@@ -350,7 +359,7 @@
|
|
|
27a148a |
memset(&desc, 0, sizeof(desc));
|
|
|
27a148a |
desc.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
|
|
|
27a148a |
for(desc.index = 0; desc.index < V4L2_FORMATS_MAX; desc.index++) {
|
|
|
27a148a |
- if(ioctl(vdo->fd, VIDIOC_ENUM_FMT, &desc) < 0)
|
|
|
27a148a |
+ if(v4l2_ioctl(vdo->fd, VIDIOC_ENUM_FMT, &desc) < 0)
|
|
|
27a148a |
break;
|
|
|
27a148a |
zprintf(2, " [%d] %.4s : %s%s\n",
|
|
|
27a148a |
desc.index, (char*)&desc.pixelformat, desc.description,
|
|
Mauro Carvalho Chehab |
23c808b |
@@ -368,7 +377,7 @@
|
|
|
27a148a |
struct v4l2_pix_format *pix = &fmt.fmt.pix;
|
|
|
27a148a |
memset(&fmt, 0, sizeof(fmt));
|
|
|
27a148a |
fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
|
|
|
27a148a |
- if(ioctl(vdo->fd, VIDIOC_G_FMT, &fmt) < 0)
|
|
|
27a148a |
+ if(v4l2_ioctl(vdo->fd, VIDIOC_G_FMT, &fmt) < 0)
|
|
|
27a148a |
return(err_capture(vdo, SEV_ERROR, ZBAR_ERR_SYSTEM, __func__,
|
|
|
27a148a |
"querying current video format (VIDIO_G_FMT)"));
|
|
|
27a148a |
|
|
Mauro Carvalho Chehab |
23c808b |
@@ -390,15 +399,15 @@
|
|
|
27a148a |
maxpix->height = vdo->height;
|
|
|
27a148a |
|
|
|
27a148a |
zprintf(1, "setting requested size: %d x %d\n", vdo->width, vdo->height);
|
|
|
27a148a |
- if(ioctl(vdo->fd, VIDIOC_S_FMT, &maxfmt) < 0) {
|
|
|
27a148a |
+ if(v4l2_ioctl(vdo->fd, VIDIOC_S_FMT, &maxfmt) < 0) {
|
|
|
27a148a |
zprintf(1, "set FAILED...trying to recover original format\n");
|
|
|
27a148a |
/* ignore errors (driver broken anyway) */
|
|
|
27a148a |
- ioctl(vdo->fd, VIDIOC_S_FMT, &fmt);
|
|
|
27a148a |
+ v4l2_ioctl(vdo->fd, VIDIOC_S_FMT, &fmt);
|
|
|
27a148a |
}
|
|
|
27a148a |
|
|
|
27a148a |
memset(&fmt, 0, sizeof(fmt));
|
|
|
27a148a |
fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
|
|
|
27a148a |
- if(ioctl(vdo->fd, VIDIOC_G_FMT, &fmt) < 0)
|
|
|
27a148a |
+ if(v4l2_ioctl(vdo->fd, VIDIOC_G_FMT, &fmt) < 0)
|
|
|
27a148a |
return(err_capture(vdo, SEV_ERROR, ZBAR_ERR_SYSTEM, __func__,
|
|
|
27a148a |
"querying current video format (VIDIOC_G_FMT)"));
|
|
|
27a148a |
|
|
Mauro Carvalho Chehab |
23c808b |
@@ -420,7 +429,7 @@
|
|
|
27a148a |
struct v4l2_cropcap ccap;
|
|
|
27a148a |
memset(&ccap, 0, sizeof(ccap));
|
|
|
27a148a |
ccap.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
|
|
|
27a148a |
- if(ioctl(vdo->fd, VIDIOC_CROPCAP, &ccap) < 0)
|
|
|
27a148a |
+ if(v4l2_ioctl(vdo->fd, VIDIOC_CROPCAP, &ccap) < 0)
|
|
|
27a148a |
return(err_capture(vdo, SEV_ERROR, ZBAR_ERR_SYSTEM, __func__,
|
|
|
27a148a |
"querying crop support (VIDIOC_CROPCAP)"));
|
|
|
27a148a |
|
|
Mauro Carvalho Chehab |
23c808b |
@@ -442,7 +451,7 @@
|
|
|
27a148a |
memset(&crop, 0, sizeof(crop));
|
|
|
27a148a |
crop.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
|
|
|
27a148a |
crop.c = ccap.defrect;
|
|
|
27a148a |
- if(ioctl(vdo->fd, VIDIOC_S_CROP, &crop) < 0 && errno != EINVAL)
|
|
|
27a148a |
+ if(v4l2_ioctl(vdo->fd, VIDIOC_S_CROP, &crop) < 0 && errno != EINVAL)
|
|
|
27a148a |
return(err_capture(vdo, SEV_ERROR, ZBAR_ERR_SYSTEM, __func__,
|
|
|
27a148a |
"setting default crop window (VIDIOC_S_CROP)"));
|
|
|
27a148a |
return(0);
|
|
Mauro Carvalho Chehab |
23c808b |
@@ -453,7 +462,7 @@
|
|
|
27a148a |
/* check capabilities */
|
|
|
27a148a |
struct v4l2_capability vcap;
|
|
|
27a148a |
memset(&vcap, 0, sizeof(vcap));
|
|
|
27a148a |
- if(ioctl(vdo->fd, VIDIOC_QUERYCAP, &vcap) < 0)
|
|
|
27a148a |
+ if(v4l2_ioctl(vdo->fd, VIDIOC_QUERYCAP, &vcap) < 0)
|
|
|
27a148a |
return(err_capture(vdo, SEV_WARNING, ZBAR_ERR_UNSUPPORTED, __func__,
|
|
|
27a148a |
"video4linux version 2 not supported (VIDIOC_QUERYCAP)"));
|
|
|
27a148a |
|