[packages] libv4l: update to 0.8.6, add v4l-utils package
git-svn-id: svn://svn.openwrt.org/openwrt/packages@30735 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
2c27787e08
commit
fa9bff76b8
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2009-2011 OpenWrt.org
|
# Copyright (C) 2009-2012 OpenWrt.org
|
||||||
# Copyright (C) 2009 David Cooper <dave@kupesoft.com>
|
# Copyright (C) 2009 David Cooper <dave@kupesoft.com>
|
||||||
#
|
#
|
||||||
# This is free software, licensed under the GNU General Public License v2.
|
# This is free software, licensed under the GNU General Public License v2.
|
||||||
@ -8,26 +8,25 @@
|
|||||||
|
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=libv4l
|
PKG_NAME:=v4l-utils
|
||||||
PKG_VERSION:=0.6.1
|
PKG_VERSION:=0.8.6
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||||
PKG_SOURCE_URL:=http://people.atrpms.net/~hdegoede/
|
PKG_SOURCE_URL:=http://www.linuxtv.org/downloads/v4l-utils
|
||||||
PKG_MD5SUM:=0d0d96d77c98871d2e5466c10cb30a0a
|
PKG_MD5SUM:=80062780ae90e5955473b09b31e9828a
|
||||||
|
|
||||||
|
PKG_BUILD_DEPENDS:=argp-standalone
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
# XXX: v4l1 support has been removed in 2.6.38
|
define Package/libv4l/Default
|
||||||
define Package/libv4l
|
TITLE:=Video 4 Linux
|
||||||
SECTION:=libs
|
URL:=http://www.linuxtv.org/
|
||||||
CATEGORY:=Libraries
|
DEPENDS:=+libpthread
|
||||||
TITLE:=Video 4 Linux wrapper libraries
|
|
||||||
URL:=http://people.atrpms.net/~hdegoede/
|
|
||||||
DEPENDS:=+libpthread @(LINUX_2_6_30||LINUX_2_6_31||LINUX_2_6_32||LINUX_2_6_33||LINUX_2_6_34||LINUX_2_6_35||LINUX_2_6_36||LINUX_2_6_37)
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/libv4l/description
|
define Package/libv4l/Default/description
|
||||||
libv4l is a collection of libraries which adds a thin abstraction layer on
|
libv4l is a collection of libraries which adds a thin abstraction layer on
|
||||||
top of video4linux2 devices. The purpose of this (thin) layer is to make it
|
top of video4linux2 devices. The purpose of this (thin) layer is to make it
|
||||||
easy for application writers to support a wide variety of devices without
|
easy for application writers to support a wide variety of devices without
|
||||||
@ -42,15 +41,42 @@ define Package/libv4l/description
|
|||||||
application transparent libv4lconvert conversion where necessary.
|
application transparent libv4lconvert conversion where necessary.
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define Package/libv4l
|
||||||
|
$(call Package/libv4l/Default)
|
||||||
|
SECTION:=libs
|
||||||
|
CATEGORY:=Libraries
|
||||||
|
TITLE+= wrapper libraries
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/libv4l/description
|
||||||
|
$(call Package/libv4l/Default/description)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/v4l-utils
|
||||||
|
$(call Package/libv4l/Default)
|
||||||
|
SECTION:=utils
|
||||||
|
CATEGORY:=Utilities
|
||||||
|
TITLE+= utilities
|
||||||
|
DEPENDS+= +librt +libv4l +uclibcxx
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/v4l-utils/description
|
||||||
|
$(call Package/libv4l/Default/description)
|
||||||
|
This package contains the video4linux utilities.
|
||||||
|
endef
|
||||||
|
|
||||||
TARGET_CFLAGS += $(FPIC)
|
TARGET_CFLAGS += $(FPIC)
|
||||||
|
TARGET_CXX = $(STAGING_DIR)/host/bin/g++-uc
|
||||||
|
|
||||||
define Build/Compile
|
define Build/Compile
|
||||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||||
DESTDIR="$(PKG_INSTALL_DIR)" PREFIX="/usr" \
|
DESTDIR="$(PKG_INSTALL_DIR)" PREFIX="/usr" \
|
||||||
|
DISABLE_LIBJPEG="1" \
|
||||||
$(CONFIGURE_VARS) \
|
$(CONFIGURE_VARS) \
|
||||||
all install
|
all install
|
||||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||||
DESTDIR="$(PKG_INSTALL_DIR)" PREFIX="/usr" \
|
DESTDIR="$(PKG_INSTALL_DIR)" PREFIX="/usr" \
|
||||||
|
DISABLE_LIBJPEG="1" \
|
||||||
$(CONFIGURE_VARS) \
|
$(CONFIGURE_VARS) \
|
||||||
LINKTYPE="static" \
|
LINKTYPE="static" \
|
||||||
all install
|
all install
|
||||||
@ -58,7 +84,7 @@ endef
|
|||||||
|
|
||||||
define Build/InstallDev
|
define Build/InstallDev
|
||||||
$(INSTALL_DIR) $(1)/usr/include
|
$(INSTALL_DIR) $(1)/usr/include
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/libv4l{1,2,convert}.h $(1)/usr/include/
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/
|
||||||
$(INSTALL_DIR) $(1)/usr/lib
|
$(INSTALL_DIR) $(1)/usr/lib
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libv4l{1,2,convert}.{a,so*} $(1)/usr/lib/
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libv4l{1,2,convert}.{a,so*} $(1)/usr/lib/
|
||||||
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
||||||
@ -69,8 +95,19 @@ define Package/libv4l/install
|
|||||||
$(INSTALL_DIR) $(1)/usr/lib
|
$(INSTALL_DIR) $(1)/usr/lib
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libv4l{1,2,convert}.so.* $(1)/usr/lib/
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libv4l{1,2,convert}.so.* $(1)/usr/lib/
|
||||||
$(INSTALL_DIR) $(1)/usr/lib/libv4l
|
$(INSTALL_DIR) $(1)/usr/lib/libv4l
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libv4l/v4l{1compat,2convert}.so $(1)/usr/lib/libv4l
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libv4l/v4l{1compat,2convert}.so $(1)/usr/lib/libv4l/
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/v4l-utils/install
|
||||||
|
$(INSTALL_DIR) $(1)/etc
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)/etc/rc_maps.cfg $(1)/etc/
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)/etc/rc_keymaps $(1)/etc/
|
||||||
|
$(INSTALL_DIR) $(1)/usr/bin
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)/usr/bin/{cx18,ivtv}-ctl $(1)/usr/bin/
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)/usr/bin/decode_tm6000 $(1)/usr/bin/
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)/usr/bin/ir-keytable $(1)/usr/bin/
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)/usr/bin/v4l2-{compliance,ctl,sysfs-path} $(1)/usr/bin/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call BuildPackage,libv4l))
|
$(eval $(call BuildPackage,libv4l))
|
||||||
|
$(eval $(call BuildPackage,v4l-utils))
|
||||||
|
@ -1,23 +1,33 @@
|
|||||||
--- a/libv4lconvert/control/libv4lcontrol.c
|
--- a/lib/libv4lconvert/control/libv4lcontrol.c
|
||||||
+++ b/libv4lconvert/control/libv4lcontrol.c
|
+++ b/lib/libv4lconvert/control/libv4lcontrol.c
|
||||||
@@ -338,7 +338,7 @@ static void v4lcontrol_init_flags(struct
|
@@ -525,7 +525,7 @@ static void v4lcontrol_get_flags_from_db
|
||||||
|
|
||||||
struct v4lcontrol_data *v4lcontrol_create(int fd, int always_needs_conversion)
|
struct v4lcontrol_data *v4lcontrol_create(int fd, int always_needs_conversion)
|
||||||
{
|
{
|
||||||
- int shm_fd;
|
- int shm_fd;
|
||||||
+ int shm_fd, fdflags;
|
+ int shm_fd, fdflags;
|
||||||
int i, rc, init = 0;
|
int i, rc, got_usb_info, speed, init = 0;
|
||||||
char *s, shm_name[256], pwd_buf[1024];
|
char *s, shm_name[256], pwd_buf[1024];
|
||||||
struct v4l2_capability cap;
|
struct v4l2_capability cap;
|
||||||
@@ -392,25 +392,31 @@ struct v4lcontrol_data *v4lcontrol_creat
|
@@ -638,33 +638,38 @@ struct v4lcontrol_data *v4lcontrol_creat
|
||||||
}
|
|
||||||
|
|
||||||
if (getpwuid_r(geteuid(), &pwd, pwd_buf, sizeof(pwd_buf), &pwd_p) == 0) {
|
if (getpwuid_r(geteuid(), &pwd, pwd_buf, sizeof(pwd_buf), &pwd_p) == 0) {
|
||||||
|
if (got_usb_info)
|
||||||
|
- snprintf(shm_name, 256, "/libv4l-%s:%s:%04x:%04x:%s", pwd.pw_name,
|
||||||
|
+ snprintf(shm_name, 256, "/dev/shm/libv4l-%s:%s:%04x:%04x:%s", pwd.pw_name,
|
||||||
|
cap.bus_info, (int)vendor_id, (int)product_id, cap.card);
|
||||||
|
else
|
||||||
- snprintf(shm_name, 256, "/libv4l-%s:%s:%s", pwd.pw_name,
|
- snprintf(shm_name, 256, "/libv4l-%s:%s:%s", pwd.pw_name,
|
||||||
+ snprintf(shm_name, 256, "/dev/shm/libv4l-%s:%s:%s", pwd.pw_name,
|
+ snprintf(shm_name, 256, "/dev/shm/libv4l-%s:%s:%s", pwd.pw_name,
|
||||||
cap.bus_info, cap.card);
|
cap.bus_info, cap.card);
|
||||||
} else {
|
} else {
|
||||||
perror("libv4lcontrol: error getting username using uid instead");
|
perror("libv4lcontrol: error getting username using uid instead");
|
||||||
|
if (got_usb_info)
|
||||||
|
- snprintf(shm_name, 256, "/libv4l-%lu:%s:%04x:%04x:%s",
|
||||||
|
+ snprintf(shm_name, 256, "/dev/shm/libv4l-%lu:%s:%04x:%04x:%s",
|
||||||
|
(unsigned long)geteuid(), cap.bus_info,
|
||||||
|
(int)vendor_id, (int)product_id, cap.card);
|
||||||
|
else
|
||||||
- snprintf(shm_name, 256, "/libv4l-%lu:%s:%s", (unsigned long)geteuid(),
|
- snprintf(shm_name, 256, "/libv4l-%lu:%s:%s", (unsigned long)geteuid(),
|
||||||
+ snprintf(shm_name, 256, "/dev/shm/libv4l-%lu:%s:%s", (unsigned long)geteuid(),
|
+ snprintf(shm_name, 256, "/dev/shm/libv4l-%lu:%s:%s", (unsigned long)geteuid(),
|
||||||
cap.bus_info, cap.card);
|
cap.bus_info, cap.card);
|
||||||
@ -30,9 +40,9 @@
|
|||||||
shm_name[i] = '-';
|
shm_name[i] = '-';
|
||||||
|
|
||||||
/* Open the shared memory object identified by shm_name */
|
/* Open the shared memory object identified by shm_name */
|
||||||
- if ((shm_fd = shm_open(shm_name, (O_CREAT | O_EXCL | O_RDWR),
|
- shm_fd = shm_open(shm_name, (O_CREAT | O_EXCL | O_RDWR), (S_IREAD | S_IWRITE));
|
||||||
+ if ((shm_fd = open(shm_name, (O_CREAT | O_EXCL | O_RDWR),
|
+ shm_fd = open(shm_name, (O_CREAT | O_EXCL | O_RDWR), (S_IREAD | S_IWRITE));
|
||||||
(S_IREAD | S_IWRITE))) >= 0)
|
if (shm_fd >= 0)
|
||||||
init = 1;
|
init = 1;
|
||||||
else
|
else
|
||||||
- shm_fd = shm_open(shm_name, O_RDWR, (S_IREAD | S_IWRITE));
|
- shm_fd = shm_open(shm_name, O_RDWR, (S_IREAD | S_IWRITE));
|
||||||
@ -40,7 +50,6 @@
|
|||||||
+
|
+
|
||||||
+ /* This is all uClibc > 0.9.30 seems to do for shm_open() in librt/shm.c */
|
+ /* This is all uClibc > 0.9.30 seems to do for shm_open() in librt/shm.c */
|
||||||
+ fdflags = fcntl(shm_fd, F_GETFD, 0);
|
+ fdflags = fcntl(shm_fd, F_GETFD, 0);
|
||||||
+
|
|
||||||
+ if (fdflags >= 0)
|
+ if (fdflags >= 0)
|
||||||
+ fdflags = fcntl(fd, F_SETFD, fdflags | FD_CLOEXEC);
|
+ fdflags = fcntl(fd, F_SETFD, fdflags | FD_CLOEXEC);
|
||||||
|
|
||||||
|
160
libs/libv4l/patches/002-allow-disabling-libjpeg.patch
Normal file
160
libs/libv4l/patches/002-allow-disabling-libjpeg.patch
Normal file
@ -0,0 +1,160 @@
|
|||||||
|
--- a/lib/libv4lconvert/Makefile
|
||||||
|
+++ b/lib/libv4lconvert/Makefile
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
override CPPFLAGS += -I../include -fvisibility=hidden
|
||||||
|
|
||||||
|
-LIBS_libv4lconvert = -lrt -lm -ljpeg
|
||||||
|
+LIBS_libv4lconvert = -lrt -lm
|
||||||
|
|
||||||
|
ifeq ($(LINKTYPE),static)
|
||||||
|
CONVERT_LIB = libv4lconvert.a
|
||||||
|
@@ -10,16 +10,22 @@ override CPPFLAGS += -fPIC
|
||||||
|
endif
|
||||||
|
|
||||||
|
CONVERT_OBJS = libv4lconvert.o tinyjpeg.o sn9c10x.o sn9c20x.o pac207.o \
|
||||||
|
- jl2005bcd.o \
|
||||||
|
mr97310a.o flip.o crop.o jidctflt.o spca561-decompress.o \
|
||||||
|
rgbyuv.o sn9c2028-decomp.o spca501.o sq905c.o bayer.o hm12.o \
|
||||||
|
- stv0680.o cpia1.o se401.o jpgl.o jpeg.o jpeg_memsrcdest.o \
|
||||||
|
+ stv0680.o cpia1.o se401.o jpgl.o jpeg.o \
|
||||||
|
control/libv4lcontrol.o processing/libv4lprocessing.o \
|
||||||
|
processing/whitebalance.o processing/autogain.o \
|
||||||
|
processing/gamma.o helper.o
|
||||||
|
TARGETS = $(CONVERT_LIB) libv4lconvert.pc ov511-decomp ov518-decomp
|
||||||
|
INCLUDES = ../include/libv4lconvert.h
|
||||||
|
|
||||||
|
+ifeq ($(DISABLE_LIBJPEG),1)
|
||||||
|
+override CFLAGS += -DDISABLE_LIBJPEG
|
||||||
|
+else
|
||||||
|
+LIBS_libv4lconvert += -ljpeg
|
||||||
|
+CONVERT_OBJS += jl2005bcd.o jpeg_memsrcdest.o
|
||||||
|
+endif
|
||||||
|
+
|
||||||
|
override CPPFLAGS += -DLIBDIR=\"$(LIBDIR)\" -DLIBSUBDIR=\"$(LIBSUBDIR)\"
|
||||||
|
|
||||||
|
all: $(TARGETS)
|
||||||
|
--- a/lib/libv4lconvert/jpeg.c
|
||||||
|
+++ b/lib/libv4lconvert/jpeg.c
|
||||||
|
@@ -19,7 +19,9 @@
|
||||||
|
#include <errno.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include "libv4lconvert-priv.h"
|
||||||
|
+#ifndef DISABLE_LIBJPEG
|
||||||
|
#include "jpeg_memsrcdest.h"
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
int v4lconvert_decode_jpeg_tinyjpeg(struct v4lconvert_data *data,
|
||||||
|
unsigned char *src, int src_size, unsigned char *dest,
|
||||||
|
@@ -107,6 +109,8 @@ int v4lconvert_decode_jpeg_tinyjpeg(stru
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#ifndef DISABLE_LIBJPEG
|
||||||
|
+
|
||||||
|
static void jerr_error_exit(j_common_ptr cinfo)
|
||||||
|
{
|
||||||
|
struct v4lconvert_data *data = cinfo->client_data;
|
||||||
|
@@ -405,3 +409,6 @@ int v4lconvert_decode_jpeg_libjpeg(struc
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
--- a/lib/libv4lconvert/libv4lconvert-priv.h
|
||||||
|
+++ b/lib/libv4lconvert/libv4lconvert-priv.h
|
||||||
|
@@ -22,7 +22,9 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
+#ifndef DISABLE_LIBJPEG
|
||||||
|
#include <jpeglib.h>
|
||||||
|
+#endif
|
||||||
|
#include <setjmp.h>
|
||||||
|
#include "libv4lconvert.h"
|
||||||
|
#include "control/libv4lcontrol.h"
|
||||||
|
@@ -50,11 +52,13 @@ struct v4lconvert_data {
|
||||||
|
int64_t supported_src_formats; /* bitfield */
|
||||||
|
char error_msg[V4LCONVERT_ERROR_MSG_SIZE];
|
||||||
|
struct jdec_private *tinyjpeg;
|
||||||
|
+#ifndef DISABLE_LIBJPEG
|
||||||
|
struct jpeg_error_mgr jerr;
|
||||||
|
int jerr_errno;
|
||||||
|
jmp_buf jerr_jmp_state;
|
||||||
|
struct jpeg_decompress_struct cinfo;
|
||||||
|
int cinfo_initialized;
|
||||||
|
+#endif
|
||||||
|
struct v4l2_frmsizeenum framesizes[V4LCONVERT_MAX_FRAMESIZES];
|
||||||
|
unsigned int no_framesizes;
|
||||||
|
int bandwidth;
|
||||||
|
--- a/lib/libv4lconvert/libv4lconvert.c
|
||||||
|
+++ b/lib/libv4lconvert/libv4lconvert.c
|
||||||
|
@@ -78,7 +78,9 @@ static const struct v4lconvert_pixfmt su
|
||||||
|
{ V4L2_PIX_FMT_SN9C2028, 0, 9, 9, 1 },
|
||||||
|
{ V4L2_PIX_FMT_PAC207, 0, 9, 9, 1 },
|
||||||
|
{ V4L2_PIX_FMT_MR97310A, 0, 9, 9, 1 },
|
||||||
|
+#ifndef DISABLE_LIBJPEG
|
||||||
|
{ V4L2_PIX_FMT_JL2005BCD, 0, 9, 9, 1 },
|
||||||
|
+#endif
|
||||||
|
{ V4L2_PIX_FMT_SQ905C, 0, 9, 9, 1 },
|
||||||
|
/* special */
|
||||||
|
{ V4L2_PIX_FMT_SE401, 0, 8, 9, 1 },
|
||||||
|
@@ -186,8 +188,10 @@ void v4lconvert_destroy(struct v4lconver
|
||||||
|
tinyjpeg_set_components(data->tinyjpeg, comps, 3);
|
||||||
|
tinyjpeg_free(data->tinyjpeg);
|
||||||
|
}
|
||||||
|
+#ifndef DISABLE_LIBJPEG
|
||||||
|
if (data->cinfo_initialized)
|
||||||
|
jpeg_destroy_decompress(&data->cinfo);
|
||||||
|
+#endif
|
||||||
|
v4lconvert_helper_cleanup(data);
|
||||||
|
free(data->convert1_buf);
|
||||||
|
free(data->convert2_buf);
|
||||||
|
@@ -634,10 +638,13 @@ static int v4lconvert_convert_pixfmt(str
|
||||||
|
/* JPG and variants */
|
||||||
|
case V4L2_PIX_FMT_MJPEG:
|
||||||
|
case V4L2_PIX_FMT_JPEG:
|
||||||
|
+#ifndef DISABLE_LIBJPEG
|
||||||
|
if (data->flags & V4LCONVERT_USE_TINYJPEG) {
|
||||||
|
+#endif
|
||||||
|
result = v4lconvert_decode_jpeg_tinyjpeg(data,
|
||||||
|
src, src_size, dest,
|
||||||
|
fmt, dest_pix_fmt, 0);
|
||||||
|
+#ifndef DISABLE_LIBJPEG
|
||||||
|
} else {
|
||||||
|
result = v4lconvert_decode_jpeg_libjpeg(data,
|
||||||
|
src, src_size, dest,
|
||||||
|
@@ -652,6 +659,7 @@ static int v4lconvert_convert_pixfmt(str
|
||||||
|
fmt, dest_pix_fmt, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
break;
|
||||||
|
case V4L2_PIX_FMT_PJPG:
|
||||||
|
result = v4lconvert_decode_jpeg_tinyjpeg(data, src, src_size,
|
||||||
|
@@ -777,7 +785,9 @@ static int v4lconvert_convert_pixfmt(str
|
||||||
|
case V4L2_PIX_FMT_SN9C10X:
|
||||||
|
case V4L2_PIX_FMT_PAC207:
|
||||||
|
case V4L2_PIX_FMT_MR97310A:
|
||||||
|
+#ifndef DISABLE_LIBJPEG
|
||||||
|
case V4L2_PIX_FMT_JL2005BCD:
|
||||||
|
+#endif
|
||||||
|
case V4L2_PIX_FMT_SN9C2028:
|
||||||
|
case V4L2_PIX_FMT_SQ905C:
|
||||||
|
case V4L2_PIX_FMT_STV0680: { /* Not compressed but needs some shuffling */
|
||||||
|
@@ -816,6 +826,7 @@ static int v4lconvert_convert_pixfmt(str
|
||||||
|
}
|
||||||
|
tmpfmt.fmt.pix.pixelformat = V4L2_PIX_FMT_SBGGR8;
|
||||||
|
break;
|
||||||
|
+#ifndef DISABLE_LIBJPEG
|
||||||
|
case V4L2_PIX_FMT_JL2005BCD:
|
||||||
|
if (v4lconvert_decode_jl2005bcd(data, src, src_size,
|
||||||
|
tmpbuf,
|
||||||
|
@@ -826,6 +837,7 @@ static int v4lconvert_convert_pixfmt(str
|
||||||
|
}
|
||||||
|
tmpfmt.fmt.pix.pixelformat = V4L2_PIX_FMT_SRGGB8;
|
||||||
|
break;
|
||||||
|
+#endif
|
||||||
|
case V4L2_PIX_FMT_SN9C2028:
|
||||||
|
v4lconvert_decode_sn9c2028(src, tmpbuf, width, height);
|
||||||
|
tmpfmt.fmt.pix.pixelformat = V4L2_PIX_FMT_SBGGR8;
|
66
libs/libv4l/patches/003-add-missing-libs.patch
Normal file
66
libs/libv4l/patches/003-add-missing-libs.patch
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
--- a/contrib/test/Makefile
|
||||||
|
+++ b/contrib/test/Makefile
|
||||||
|
@@ -28,7 +28,7 @@ pixfmt-test: pixfmt-test.o
|
||||||
|
$(CC) $(LDFLAGS) -o $@ $^ -lX11
|
||||||
|
|
||||||
|
v4l2grab: v4l2grab.o ../../lib/libv4l2/libv4l2.so
|
||||||
|
- $(CC) $(LDFLAGS) -o $@ $^ -L../../lib/libv4l2 -L../../lib/libv4lconvert -lv4l2 -lv4lconvert
|
||||||
|
+ $(CC) $(LDFLAGS) -o $@ $^ -L../../lib/libv4l2 -L../../lib/libv4lconvert -lv4l2 -lv4lconvert -largp
|
||||||
|
|
||||||
|
ioctl-test: ioctl-test.o
|
||||||
|
$(CC) $(LDFLAGS) -o $@ $^
|
||||||
|
--- a/utils/decode_tm6000/Makefile
|
||||||
|
+++ b/utils/decode_tm6000/Makefile
|
||||||
|
@@ -5,7 +5,7 @@ all: $(TARGETS)
|
||||||
|
-include *.d
|
||||||
|
|
||||||
|
decode_tm6000: decode_tm6000.o ../libv4l2util/libv4l2util.a
|
||||||
|
- $(CC) $(LDFLAGS) -o $@ $^
|
||||||
|
+ $(CC) $(LDFLAGS) -o $@ $^ -largp
|
||||||
|
|
||||||
|
install: $(TARGETS)
|
||||||
|
mkdir -p $(DESTDIR)$(PREFIX)/bin
|
||||||
|
--- a/utils/keytable/Makefile
|
||||||
|
+++ b/utils/keytable/Makefile
|
||||||
|
@@ -5,7 +5,7 @@ all: $(TARGETS)
|
||||||
|
-include *.d
|
||||||
|
|
||||||
|
ir-keytable: keytable.o
|
||||||
|
- $(CC) $(LDFLAGS) -o $@ $^
|
||||||
|
+ $(CC) $(LDFLAGS) -o $@ $^ -largp
|
||||||
|
|
||||||
|
keytable.o: keytable.c parse.h
|
||||||
|
|
||||||
|
--- a/utils/v4l2-compliance/Makefile
|
||||||
|
+++ b/utils/v4l2-compliance/Makefile
|
||||||
|
@@ -6,7 +6,7 @@ all: $(TARGETS)
|
||||||
|
|
||||||
|
v4l2-compliance: v4l2-compliance.o v4l2-test-debug.o v4l2-test-input-output.o \
|
||||||
|
v4l2-test-controls.o v4l2-test-io-config.o v4l2-test-formats.o
|
||||||
|
- $(CXX) $(LDFLAGS) -o $@ $^ -lv4l2 -lv4lconvert -lrt
|
||||||
|
+ $(CXX) $(LDFLAGS) -o $@ $^ -lv4l2 -lv4lconvert -lrt -lpthread
|
||||||
|
|
||||||
|
install: $(TARGETS)
|
||||||
|
mkdir -p $(DESTDIR)$(PREFIX)/bin
|
||||||
|
--- a/utils/v4l2-ctl/Makefile
|
||||||
|
+++ b/utils/v4l2-ctl/Makefile
|
||||||
|
@@ -13,7 +13,7 @@ ivtv-ctl: ivtv-ctl.o
|
||||||
|
$(CC) $(LDFLAGS) -o $@ $^ -lm
|
||||||
|
|
||||||
|
v4l2-ctl: v4l2-ctl.o
|
||||||
|
- $(CXX) $(LDFLAGS) -o $@ $^ -lv4l2 -lv4lconvert -lrt
|
||||||
|
+ $(CXX) $(LDFLAGS) -o $@ $^ -lv4l2 -lv4lconvert -lrt -lpthread
|
||||||
|
|
||||||
|
install: $(TARGETS)
|
||||||
|
mkdir -p $(DESTDIR)$(PREFIX)/bin
|
||||||
|
--- a/utils/v4l2-sysfs-path/Makefile
|
||||||
|
+++ b/utils/v4l2-sysfs-path/Makefile
|
||||||
|
@@ -5,7 +5,7 @@ all: $(TARGETS)
|
||||||
|
-include *.d
|
||||||
|
|
||||||
|
v4l2-sysfs-path: v4l2-sysfs-path.o ../libmedia_dev/libmedia_dev.a
|
||||||
|
- $(CC) $(LDFLAGS) -o $@ $^
|
||||||
|
+ $(CC) $(LDFLAGS) -o $@ $^ -largp
|
||||||
|
|
||||||
|
install: $(TARGETS)
|
||||||
|
mkdir -p $(DESTDIR)$(PREFIX)/bin
|
Loading…
x
Reference in New Issue
Block a user