Compare commits
16 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
70708db4fa | ||
|
|
3420d0074d | ||
|
|
321f313d76 | ||
|
|
681ce4bc8b | ||
|
|
f15e1baef4 | ||
|
|
84dc73e2f7 | ||
|
|
161ba07903 | ||
|
|
9e2a56fcf8 | ||
|
|
3f3420e788 | ||
|
|
ebdfd3d8b7 | ||
|
|
63e34493c7 | ||
|
|
dfd03feb29 | ||
|
|
3f6c9a77ba | ||
|
|
230d7bab97 | ||
|
|
b3a0342f29 | ||
|
|
3f64c179bf |
8 changed files with 647 additions and 233 deletions
11
.gitignore
vendored
11
.gitignore
vendored
|
|
@ -1,10 +1 @@
|
|||
/v4l-utils-0.8.3.tar.bz2
|
||||
/v4l-utils-0.8.4.tar.bz2
|
||||
/v4l-utils-0.8.5.tar.bz2
|
||||
/v4l-utils-0.8.7.tar.bz2
|
||||
/v4l-utils-0.8.8.tar.bz2
|
||||
/v4l-utils-0.9.5.tar.bz2
|
||||
/v4l-utils-1.0.0.tar.bz2
|
||||
/v4l-utils-1.2.1.tar.bz2
|
||||
/v4l-utils-1.4.0.tar.bz2
|
||||
/v4l-utils-1.6.0.tar.bz2
|
||||
/v4l-utils-1.6.2.tar.bz2
|
||||
|
|
|
|||
268
0001-media-headers-sync.patch
Normal file
268
0001-media-headers-sync.patch
Normal file
|
|
@ -0,0 +1,268 @@
|
|||
diff --git a/Makefile.am b/Makefile.am
|
||||
index 03169ce..758d355 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -36,6 +36,7 @@ sync-with-kernel:
|
||||
cp -a $(KERNEL_DIR)/usr/include/linux/v4l2-common.h $(top_srcdir)/include/linux
|
||||
cp -a $(KERNEL_DIR)/usr/include/linux/v4l2-subdev.h $(top_srcdir)/include/linux
|
||||
cp -a $(KERNEL_DIR)/usr/include/linux/v4l2-mediabus.h $(top_srcdir)/include/linux
|
||||
+ cp -a $(KERNEL_DIR)/usr/include/linux/media-bus-format.h $(top_srcdir)/include/linux
|
||||
cp -a $(KERNEL_DIR)/usr/include/linux/ivtv.h $(top_srcdir)/include/linux
|
||||
cp -a $(KERNEL_DIR)/usr/include/linux/dvb/frontend.h $(top_srcdir)/include/linux/dvb
|
||||
cp -a $(KERNEL_DIR)/usr/include/linux/dvb/dmx.h $(top_srcdir)/include/linux/dvb
|
||||
diff --git a/contrib/freebsd/include/linux/v4l2-controls.h b/contrib/freebsd/include/linux/v4l2-controls.h
|
||||
index 8b93021..661f119 100644
|
||||
--- a/contrib/freebsd/include/linux/v4l2-controls.h
|
||||
+++ b/contrib/freebsd/include/linux/v4l2-controls.h
|
||||
@@ -746,6 +746,8 @@ enum v4l2_auto_focus_range {
|
||||
V4L2_AUTO_FOCUS_RANGE_INFINITY = 3,
|
||||
};
|
||||
|
||||
+#define V4L2_CID_PAN_SPEED (V4L2_CID_CAMERA_CLASS_BASE+32)
|
||||
+#define V4L2_CID_TILT_SPEED (V4L2_CID_CAMERA_CLASS_BASE+33)
|
||||
|
||||
/* FM Modulator class control IDs */
|
||||
|
||||
diff --git a/contrib/freebsd/include/linux/videodev2.h b/contrib/freebsd/include/linux/videodev2.h
|
||||
index 02f2005..98e3615 100644
|
||||
--- a/contrib/freebsd/include/linux/videodev2.h
|
||||
+++ b/contrib/freebsd/include/linux/videodev2.h
|
||||
@@ -111,6 +111,7 @@ typedef int8_t __s8;
|
||||
/* Four-character-code (FOURCC) */
|
||||
#define v4l2_fourcc(a, b, c, d)\
|
||||
((uint32_t)(a) | ((uint32_t)(b) << 8) | ((uint32_t)(c) << 16) | ((uint32_t)(d) << 24))
|
||||
+#define v4l2_fourcc_be(a, b, c, d) (v4l2_fourcc(a, b, c, d) | (1 << 31))
|
||||
|
||||
/*
|
||||
* E N U M S
|
||||
@@ -339,6 +340,8 @@ struct v4l2_pix_format {
|
||||
#define V4L2_PIX_FMT_XRGB555 v4l2_fourcc('X', 'R', '1', '5') /* 16 XRGB-1-5-5-5 */
|
||||
#define V4L2_PIX_FMT_RGB565 v4l2_fourcc('R', 'G', 'B', 'P') /* 16 RGB-5-6-5 */
|
||||
#define V4L2_PIX_FMT_RGB555X v4l2_fourcc('R', 'G', 'B', 'Q') /* 16 RGB-5-5-5 BE */
|
||||
+#define V4L2_PIX_FMT_ARGB555X v4l2_fourcc_be('A', 'R', '1', '5') /* 16 ARGB-5-5-5 BE */
|
||||
+#define V4L2_PIX_FMT_XRGB555X v4l2_fourcc_be('X', 'R', '1', '5') /* 16 XRGB-5-5-5 BE */
|
||||
#define V4L2_PIX_FMT_RGB565X v4l2_fourcc('R', 'G', 'B', 'R') /* 16 RGB-5-6-5 BE */
|
||||
#define V4L2_PIX_FMT_BGR666 v4l2_fourcc('B', 'G', 'R', 'H') /* 18 BGR-6-6-6 */
|
||||
#define V4L2_PIX_FMT_BGR24 v4l2_fourcc('B', 'G', 'R', '3') /* 24 BGR-8-8-8 */
|
||||
diff --git a/include/linux/media-bus-format.h b/include/linux/media-bus-format.h
|
||||
new file mode 100644
|
||||
index 0000000..23b4090
|
||||
--- /dev/null
|
||||
+++ b/include/linux/media-bus-format.h
|
||||
@@ -0,0 +1,125 @@
|
||||
+/*
|
||||
+ * Media Bus API header
|
||||
+ *
|
||||
+ * Copyright (C) 2009, Guennadi Liakhovetski <g.liakhovetski@gmx.de>
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or modify
|
||||
+ * it under the terms of the GNU General Public License version 2 as
|
||||
+ * published by the Free Software Foundation.
|
||||
+ */
|
||||
+
|
||||
+#ifndef __LINUX_MEDIA_BUS_FORMAT_H
|
||||
+#define __LINUX_MEDIA_BUS_FORMAT_H
|
||||
+
|
||||
+/*
|
||||
+ * These bus formats uniquely identify data formats on the data bus. Format 0
|
||||
+ * is reserved, MEDIA_BUS_FMT_FIXED shall be used by host-client pairs, where
|
||||
+ * the data format is fixed. Additionally, "2X8" means that one pixel is
|
||||
+ * transferred in two 8-bit samples, "BE" or "LE" specify in which order those
|
||||
+ * samples are transferred over the bus: "LE" means that the least significant
|
||||
+ * bits are transferred first, "BE" means that the most significant bits are
|
||||
+ * transferred first, and "PADHI" and "PADLO" define which bits - low or high,
|
||||
+ * in the incomplete high byte, are filled with padding bits.
|
||||
+ *
|
||||
+ * The bus formats are grouped by type, bus_width, bits per component, samples
|
||||
+ * per pixel and order of subsamples. Numerical values are sorted using generic
|
||||
+ * numerical sort order (8 thus comes before 10).
|
||||
+ *
|
||||
+ * As their value can't change when a new bus format is inserted in the
|
||||
+ * enumeration, the bus formats are explicitly given a numerical value. The next
|
||||
+ * free values for each category are listed below, update them when inserting
|
||||
+ * new pixel codes.
|
||||
+ */
|
||||
+
|
||||
+#define MEDIA_BUS_FMT_FIXED 0x0001
|
||||
+
|
||||
+/* RGB - next is 0x100e */
|
||||
+#define MEDIA_BUS_FMT_RGB444_2X8_PADHI_BE 0x1001
|
||||
+#define MEDIA_BUS_FMT_RGB444_2X8_PADHI_LE 0x1002
|
||||
+#define MEDIA_BUS_FMT_RGB555_2X8_PADHI_BE 0x1003
|
||||
+#define MEDIA_BUS_FMT_RGB555_2X8_PADHI_LE 0x1004
|
||||
+#define MEDIA_BUS_FMT_BGR565_2X8_BE 0x1005
|
||||
+#define MEDIA_BUS_FMT_BGR565_2X8_LE 0x1006
|
||||
+#define MEDIA_BUS_FMT_RGB565_2X8_BE 0x1007
|
||||
+#define MEDIA_BUS_FMT_RGB565_2X8_LE 0x1008
|
||||
+#define MEDIA_BUS_FMT_RGB666_1X18 0x1009
|
||||
+#define MEDIA_BUS_FMT_RGB888_1X24 0x100a
|
||||
+#define MEDIA_BUS_FMT_RGB888_2X12_BE 0x100b
|
||||
+#define MEDIA_BUS_FMT_RGB888_2X12_LE 0x100c
|
||||
+#define MEDIA_BUS_FMT_ARGB8888_1X32 0x100d
|
||||
+
|
||||
+/* YUV (including grey) - next is 0x2024 */
|
||||
+#define MEDIA_BUS_FMT_Y8_1X8 0x2001
|
||||
+#define MEDIA_BUS_FMT_UV8_1X8 0x2015
|
||||
+#define MEDIA_BUS_FMT_UYVY8_1_5X8 0x2002
|
||||
+#define MEDIA_BUS_FMT_VYUY8_1_5X8 0x2003
|
||||
+#define MEDIA_BUS_FMT_YUYV8_1_5X8 0x2004
|
||||
+#define MEDIA_BUS_FMT_YVYU8_1_5X8 0x2005
|
||||
+#define MEDIA_BUS_FMT_UYVY8_2X8 0x2006
|
||||
+#define MEDIA_BUS_FMT_VYUY8_2X8 0x2007
|
||||
+#define MEDIA_BUS_FMT_YUYV8_2X8 0x2008
|
||||
+#define MEDIA_BUS_FMT_YVYU8_2X8 0x2009
|
||||
+#define MEDIA_BUS_FMT_Y10_1X10 0x200a
|
||||
+#define MEDIA_BUS_FMT_UYVY10_2X10 0x2018
|
||||
+#define MEDIA_BUS_FMT_VYUY10_2X10 0x2019
|
||||
+#define MEDIA_BUS_FMT_YUYV10_2X10 0x200b
|
||||
+#define MEDIA_BUS_FMT_YVYU10_2X10 0x200c
|
||||
+#define MEDIA_BUS_FMT_Y12_1X12 0x2013
|
||||
+#define MEDIA_BUS_FMT_UYVY8_1X16 0x200f
|
||||
+#define MEDIA_BUS_FMT_VYUY8_1X16 0x2010
|
||||
+#define MEDIA_BUS_FMT_YUYV8_1X16 0x2011
|
||||
+#define MEDIA_BUS_FMT_YVYU8_1X16 0x2012
|
||||
+#define MEDIA_BUS_FMT_YDYUYDYV8_1X16 0x2014
|
||||
+#define MEDIA_BUS_FMT_UYVY10_1X20 0x201a
|
||||
+#define MEDIA_BUS_FMT_VYUY10_1X20 0x201b
|
||||
+#define MEDIA_BUS_FMT_YUYV10_1X20 0x200d
|
||||
+#define MEDIA_BUS_FMT_YVYU10_1X20 0x200e
|
||||
+#define MEDIA_BUS_FMT_YUV10_1X30 0x2016
|
||||
+#define MEDIA_BUS_FMT_AYUV8_1X32 0x2017
|
||||
+#define MEDIA_BUS_FMT_UYVY12_2X12 0x201c
|
||||
+#define MEDIA_BUS_FMT_VYUY12_2X12 0x201d
|
||||
+#define MEDIA_BUS_FMT_YUYV12_2X12 0x201e
|
||||
+#define MEDIA_BUS_FMT_YVYU12_2X12 0x201f
|
||||
+#define MEDIA_BUS_FMT_UYVY12_1X24 0x2020
|
||||
+#define MEDIA_BUS_FMT_VYUY12_1X24 0x2021
|
||||
+#define MEDIA_BUS_FMT_YUYV12_1X24 0x2022
|
||||
+#define MEDIA_BUS_FMT_YVYU12_1X24 0x2023
|
||||
+
|
||||
+/* Bayer - next is 0x3019 */
|
||||
+#define MEDIA_BUS_FMT_SBGGR8_1X8 0x3001
|
||||
+#define MEDIA_BUS_FMT_SGBRG8_1X8 0x3013
|
||||
+#define MEDIA_BUS_FMT_SGRBG8_1X8 0x3002
|
||||
+#define MEDIA_BUS_FMT_SRGGB8_1X8 0x3014
|
||||
+#define MEDIA_BUS_FMT_SBGGR10_ALAW8_1X8 0x3015
|
||||
+#define MEDIA_BUS_FMT_SGBRG10_ALAW8_1X8 0x3016
|
||||
+#define MEDIA_BUS_FMT_SGRBG10_ALAW8_1X8 0x3017
|
||||
+#define MEDIA_BUS_FMT_SRGGB10_ALAW8_1X8 0x3018
|
||||
+#define MEDIA_BUS_FMT_SBGGR10_DPCM8_1X8 0x300b
|
||||
+#define MEDIA_BUS_FMT_SGBRG10_DPCM8_1X8 0x300c
|
||||
+#define MEDIA_BUS_FMT_SGRBG10_DPCM8_1X8 0x3009
|
||||
+#define MEDIA_BUS_FMT_SRGGB10_DPCM8_1X8 0x300d
|
||||
+#define MEDIA_BUS_FMT_SBGGR10_2X8_PADHI_BE 0x3003
|
||||
+#define MEDIA_BUS_FMT_SBGGR10_2X8_PADHI_LE 0x3004
|
||||
+#define MEDIA_BUS_FMT_SBGGR10_2X8_PADLO_BE 0x3005
|
||||
+#define MEDIA_BUS_FMT_SBGGR10_2X8_PADLO_LE 0x3006
|
||||
+#define MEDIA_BUS_FMT_SBGGR10_1X10 0x3007
|
||||
+#define MEDIA_BUS_FMT_SGBRG10_1X10 0x300e
|
||||
+#define MEDIA_BUS_FMT_SGRBG10_1X10 0x300a
|
||||
+#define MEDIA_BUS_FMT_SRGGB10_1X10 0x300f
|
||||
+#define MEDIA_BUS_FMT_SBGGR12_1X12 0x3008
|
||||
+#define MEDIA_BUS_FMT_SGBRG12_1X12 0x3010
|
||||
+#define MEDIA_BUS_FMT_SGRBG12_1X12 0x3011
|
||||
+#define MEDIA_BUS_FMT_SRGGB12_1X12 0x3012
|
||||
+
|
||||
+/* JPEG compressed formats - next is 0x4002 */
|
||||
+#define MEDIA_BUS_FMT_JPEG_1X8 0x4001
|
||||
+
|
||||
+/* Vendor specific formats - next is 0x5002 */
|
||||
+
|
||||
+/* S5C73M3 sensor specific interleaved UYVY and JPEG */
|
||||
+#define MEDIA_BUS_FMT_S5C_UYVY_JPEG_1X8 0x5001
|
||||
+
|
||||
+/* HSV - next is 0x6002 */
|
||||
+#define MEDIA_BUS_FMT_AHSV8888_1X32 0x6001
|
||||
+
|
||||
+#endif /* __LINUX_MEDIA_BUS_FORMAT_H */
|
||||
diff --git a/include/linux/v4l2-controls.h b/include/linux/v4l2-controls.h
|
||||
index 8b93021..661f119 100644
|
||||
--- a/include/linux/v4l2-controls.h
|
||||
+++ b/include/linux/v4l2-controls.h
|
||||
@@ -746,6 +746,8 @@ enum v4l2_auto_focus_range {
|
||||
V4L2_AUTO_FOCUS_RANGE_INFINITY = 3,
|
||||
};
|
||||
|
||||
+#define V4L2_CID_PAN_SPEED (V4L2_CID_CAMERA_CLASS_BASE+32)
|
||||
+#define V4L2_CID_TILT_SPEED (V4L2_CID_CAMERA_CLASS_BASE+33)
|
||||
|
||||
/* FM Modulator class control IDs */
|
||||
|
||||
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
|
||||
index 87b83c3..ef4c72a 100644
|
||||
--- a/include/linux/videodev2.h
|
||||
+++ b/include/linux/videodev2.h
|
||||
@@ -77,6 +77,7 @@
|
||||
/* Four-character-code (FOURCC) */
|
||||
#define v4l2_fourcc(a, b, c, d)\
|
||||
((__u32)(a) | ((__u32)(b) << 8) | ((__u32)(c) << 16) | ((__u32)(d) << 24))
|
||||
+#define v4l2_fourcc_be(a, b, c, d) (v4l2_fourcc(a, b, c, d) | (1 << 31))
|
||||
|
||||
/*
|
||||
* E N U M S
|
||||
@@ -305,6 +306,8 @@ struct v4l2_pix_format {
|
||||
#define V4L2_PIX_FMT_XRGB555 v4l2_fourcc('X', 'R', '1', '5') /* 16 XRGB-1-5-5-5 */
|
||||
#define V4L2_PIX_FMT_RGB565 v4l2_fourcc('R', 'G', 'B', 'P') /* 16 RGB-5-6-5 */
|
||||
#define V4L2_PIX_FMT_RGB555X v4l2_fourcc('R', 'G', 'B', 'Q') /* 16 RGB-5-5-5 BE */
|
||||
+#define V4L2_PIX_FMT_ARGB555X v4l2_fourcc_be('A', 'R', '1', '5') /* 16 ARGB-5-5-5 BE */
|
||||
+#define V4L2_PIX_FMT_XRGB555X v4l2_fourcc_be('X', 'R', '1', '5') /* 16 XRGB-5-5-5 BE */
|
||||
#define V4L2_PIX_FMT_RGB565X v4l2_fourcc('R', 'G', 'B', 'R') /* 16 RGB-5-6-5 BE */
|
||||
#define V4L2_PIX_FMT_BGR666 v4l2_fourcc('B', 'G', 'R', 'H') /* 18 BGR-6-6-6 */
|
||||
#define V4L2_PIX_FMT_BGR24 v4l2_fourcc('B', 'G', 'R', '3') /* 24 BGR-8-8-8 */
|
||||
diff --git a/utils/v4l2-ctl/vivid-tpg.c b/utils/v4l2-ctl/vivid-tpg.c
|
||||
index 21e7f4e..cbcd625 100644
|
||||
--- a/utils/v4l2-ctl/vivid-tpg.c
|
||||
+++ b/utils/v4l2-ctl/vivid-tpg.c
|
||||
@@ -183,7 +183,7 @@ bool tpg_s_fourcc(struct tpg_data *tpg, u32 fourcc)
|
||||
case V4L2_PIX_FMT_XBGR32:
|
||||
case V4L2_PIX_FMT_ARGB32:
|
||||
case V4L2_PIX_FMT_ABGR32:
|
||||
- tpg->is_yuv = 0;
|
||||
+ tpg->is_yuv = false;
|
||||
break;
|
||||
case V4L2_PIX_FMT_NV16M:
|
||||
case V4L2_PIX_FMT_NV61M:
|
||||
@@ -193,7 +193,7 @@ bool tpg_s_fourcc(struct tpg_data *tpg, u32 fourcc)
|
||||
case V4L2_PIX_FMT_UYVY:
|
||||
case V4L2_PIX_FMT_YVYU:
|
||||
case V4L2_PIX_FMT_VYUY:
|
||||
- tpg->is_yuv = 1;
|
||||
+ tpg->is_yuv = true;
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
@@ -249,7 +249,7 @@ void tpg_s_crop_compose(struct tpg_data *tpg, const struct v4l2_rect *crop,
|
||||
}
|
||||
|
||||
void tpg_reset_source(struct tpg_data *tpg, unsigned width, unsigned height,
|
||||
- enum v4l2_field field)
|
||||
+ u32 field)
|
||||
{
|
||||
unsigned p;
|
||||
|
||||
diff --git a/utils/v4l2-ctl/vivid-tpg.h.patch b/utils/v4l2-ctl/vivid-tpg.h.patch
|
||||
index f200203..6348c19 100644
|
||||
--- a/utils/v4l2-ctl/vivid-tpg.h.patch
|
||||
+++ b/utils/v4l2-ctl/vivid-tpg.h.patch
|
||||
@@ -1,8 +1,8 @@
|
||||
-diff --git b/utils/v4l2-ctl/vivid-tpg.h a/utils/v4l2-ctl/vivid-tpg.h
|
||||
-index 51ef7d1..76c373a 100644
|
||||
---- b/utils/v4l2-ctl/vivid-tpg.h
|
||||
-+++ a/utils/v4l2-ctl/vivid-tpg.h
|
||||
-@@ -20,13 +20,46 @@
|
||||
+diff --git a/devel/v4l/patchwork//drivers/media/platform/vivid/vivid-tpg.h b/utils/v4l2-ctl/vivid-tpg.h
|
||||
+index 8ef3e52ba3be..76c373a7b4f1 100644
|
||||
+--- a/devel/v4l/patchwork//drivers/media/platform/vivid/vivid-tpg.h
|
||||
++++ b/utils/v4l2-ctl/vivid-tpg.h
|
||||
+@@ -20,14 +20,46 @@
|
||||
#ifndef _VIVID_TPG_H_
|
||||
#define _VIVID_TPG_H_
|
||||
|
||||
@@ -11,6 +11,7 @@ index 51ef7d1..76c373a 100644
|
||||
-#include <linux/errno.h>
|
||||
-#include <linux/random.h>
|
||||
-#include <linux/slab.h>
|
||||
+-#include <linux/vmalloc.h>
|
||||
#include <linux/videodev2.h>
|
||||
|
||||
+#include <stdbool.h>
|
||||
|
|
@ -1,91 +0,0 @@
|
|||
From 757d7910ddf43d9a9187dddae4f51a57fb723e8d Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Thu, 20 Nov 2014 13:03:35 +0100
|
||||
Subject: [PATCH] v4lconvert: Fix decoding of jpeg data with no vertical
|
||||
sub-sampling
|
||||
|
||||
Our YUV output is always 2x subsampled in both vertical and horizontal
|
||||
direction, but some cameras generate JPEG data which is only subsampled in
|
||||
the horizontal direction.
|
||||
|
||||
Since averaging the extra UV data these JPEGs contains is seomwhat slow,
|
||||
and UV data is not all that important anyways, we simple take every other
|
||||
line. Or at least that is the intent.
|
||||
|
||||
But before this commit the code was not doing this properly, for each 16
|
||||
Y input lines 1 - 16 we also get 16 UV input lines 1 - 16, but we only need
|
||||
8 output lines. so we should store input line 1 or 2 in output line 1, input
|
||||
line 3 or 4 in output line 2, etc. Instead we were storing input lines
|
||||
9 - 16 into output lines 1 - 8, which leads to some unwanted color bleeding.
|
||||
|
||||
More over this also leads for 1920x1080 JPEG to us writing (1080 / 8 + 1) / 2
|
||||
* 8 = 544 UV output lines rather then 540, this means that the last 4 U output
|
||||
lines overwrite the first 4 V output lines, and worse that the last 4 V output
|
||||
lines overrun the output buffer.
|
||||
|
||||
So far this only lead to some wrong colors in various places, but since that
|
||||
we dynamically allocate the output buffer to just the right size this actually
|
||||
causes a crash.
|
||||
|
||||
This commit fixes both the crash, and the wrong colors.
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
---
|
||||
lib/libv4lconvert/jpeg.c | 37 ++++++++++++++++++++++++-------------
|
||||
1 file changed, 24 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/lib/libv4lconvert/jpeg.c b/lib/libv4lconvert/jpeg.c
|
||||
index aa9cace..0142d44 100644
|
||||
--- a/lib/libv4lconvert/jpeg.c
|
||||
+++ b/lib/libv4lconvert/jpeg.c
|
||||
@@ -242,23 +242,34 @@ static int decode_libjpeg_h_samp2(struct v4lconvert_data *data,
|
||||
y_rows[y] = ydest;
|
||||
ydest += width;
|
||||
}
|
||||
- for (y = 0; y < 8; y++) {
|
||||
- u_rows[y] = udest;
|
||||
- v_rows[y] = vdest;
|
||||
- udest += width / 2;
|
||||
- vdest += width / 2;
|
||||
+ /*
|
||||
+ * For v_samp == 1 were going to get 1 set of uv values per
|
||||
+ * line, but we need only 1 set per 2 lines since our output
|
||||
+ * has v_samp == 2. We store every 2 sets in 1 line,
|
||||
+ * effectively using the second set for each output line.
|
||||
+ */
|
||||
+ if (v_samp == 1) {
|
||||
+ for (y = 0; y < 8; y++) {
|
||||
+ u_rows[y] = udest;
|
||||
+ v_rows[y] = vdest;
|
||||
+ y++;
|
||||
+ u_rows[y] = udest;
|
||||
+ v_rows[y] = vdest;
|
||||
+ udest += width / 2;
|
||||
+ vdest += width / 2;
|
||||
+ }
|
||||
+ } else { /* v_samp == 2 */
|
||||
+ for (y = 0; y < 8; y++) {
|
||||
+ u_rows[y] = udest;
|
||||
+ v_rows[y] = vdest;
|
||||
+ udest += width / 2;
|
||||
+ vdest += width / 2;
|
||||
+ }
|
||||
}
|
||||
+
|
||||
y = jpeg_read_raw_data(cinfo, rows, 8 * v_samp);
|
||||
if (y != 8 * v_samp)
|
||||
return -1;
|
||||
-
|
||||
- /* For v_samp == 1 were going to get another set of uv values,
|
||||
- but we need only 1 set since our output has v_samp == 2, so
|
||||
- rewind u and vdest and overwrite the previous set. */
|
||||
- if (cinfo->output_scanline % 16) {
|
||||
- udest -= width * 8 / 2;
|
||||
- vdest -= width * 8 / 2;
|
||||
- }
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
2.1.0
|
||||
|
||||
126
0002-use-etc-for-keymaps.patch
Normal file
126
0002-use-etc-for-keymaps.patch
Normal file
|
|
@ -0,0 +1,126 @@
|
|||
diff --git a/configure.ac b/configure.ac
|
||||
index 069913d..26763f5 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -233,8 +233,7 @@ AC_SUBST([libv4l1privdir], [$libdir/$with_libv4l1subdir])
|
||||
AC_SUBST([libv4l2privdir], [$libdir/$with_libv4l2subdir])
|
||||
AC_SUBST([libv4l2plugindir], [$libdir/$with_libv4l2subdir/plugins])
|
||||
AC_SUBST([libv4lconvertprivdir], [$libdir/$with_libv4lconvertsubdir])
|
||||
-AC_SUBST([keytablesystemdir], [$with_udevdir/rc_keymaps])
|
||||
-AC_SUBST([keytableuserdir], [$sysconfdir/rc_keymaps])
|
||||
+AC_SUBST([keytablesystemdir], [$sysconfdir/rc_keymaps])
|
||||
AC_SUBST([udevrulesdir], [$with_udevdir/rules.d])
|
||||
AC_SUBST([pkgconfigdir], [$libdir/pkgconfig])
|
||||
|
||||
@@ -244,7 +243,6 @@ AC_DEFINE_DIR([LIBV4L2_PRIV_DIR], [libv4l2privdir], [libv4l2 private lib directo
|
||||
AC_DEFINE_DIR([LIBV4L2_PLUGIN_DIR], [libv4l2plugindir], [libv4l2 plugin directory])
|
||||
AC_DEFINE_DIR([LIBV4LCONVERT_PRIV_DIR], [libv4lconvertprivdir], [libv4lconvert private lib directory])
|
||||
AC_DEFINE_DIR([IR_KEYTABLE_SYSTEM_DIR], [keytablesystemdir], [ir-keytable preinstalled tables directory])
|
||||
-AC_DEFINE_DIR([IR_KEYTABLE_USER_DIR], [keytableuserdir], [ir-keytable user defined tables directory])
|
||||
|
||||
# options
|
||||
|
||||
diff --git a/utils/keytable/Makefile.am b/utils/keytable/Makefile.am
|
||||
index 3e66eba..9611591 100644
|
||||
--- a/utils/keytable/Makefile.am
|
||||
+++ b/utils/keytable/Makefile.am
|
||||
@@ -1,7 +1,7 @@
|
||||
bin_PROGRAMS = ir-keytable
|
||||
man_MANS = ir-keytable.1
|
||||
sysconf_DATA = rc_maps.cfg
|
||||
-keytablesystem_DATA = $(srcdir)/rc_keymaps/*
|
||||
+sysconf_DATA = $(srcdir)/rc_keymaps/*
|
||||
udevrules_DATA = 70-infrared.rules
|
||||
|
||||
ir_keytable_SOURCES = keytable.c parse.h
|
||||
@@ -9,10 +9,6 @@ ir_keytable_LDFLAGS = $(ARGP_LIBS)
|
||||
|
||||
EXTRA_DIST = 70-infrared.rules rc_keymaps gen_keytables.pl ir-keytable.1 rc_maps.cfg
|
||||
|
||||
-# custom target
|
||||
-install-data-local:
|
||||
- $(install_sh) -d "$(DESTDIR)$(keytableuserdir)"
|
||||
-
|
||||
sync-with-kernel:
|
||||
@if [ ! -f $(KERNEL_DIR)/usr/include/linux/input.h ]; then \
|
||||
echo "Error you must set KERNEL_DIR to point to an extracted kernel source dir"; \
|
||||
diff --git a/utils/keytable/keytable.c b/utils/keytable/keytable.c
|
||||
index 1f42316..90faf99 100644
|
||||
--- a/utils/keytable/keytable.c
|
||||
+++ b/utils/keytable/keytable.c
|
||||
@@ -198,6 +198,7 @@ static error_t parse_keyfile(char *fname, char **table)
|
||||
|
||||
fin = fopen(fname, "r");
|
||||
if (!fin) {
|
||||
+ perror("opening keycode file");
|
||||
return errno;
|
||||
}
|
||||
|
||||
@@ -1610,31 +1611,15 @@ int main(int argc, char *argv[])
|
||||
cur->fname);
|
||||
if (cur->fname[0] == '/' || ((cur->fname[0] == '.') && strchr(cur->fname, '/'))) {
|
||||
fname = cur->fname;
|
||||
- rc = parse_keyfile(fname, &name);
|
||||
- if (rc < 0) {
|
||||
- fprintf(stderr, "Can't load %s table\n", fname);
|
||||
- return -1;
|
||||
- }
|
||||
} else {
|
||||
- fname = malloc(strlen(cur->fname) + strlen(IR_KEYTABLE_USER_DIR) + 2);
|
||||
- strcpy(fname, IR_KEYTABLE_USER_DIR);
|
||||
+ fname = malloc(strlen(cur->fname) + strlen(IR_KEYTABLE_SYSTEM_DIR) + 2);
|
||||
+ strcpy(fname, IR_KEYTABLE_SYSTEM_DIR);
|
||||
strcat(fname, "/");
|
||||
strcat(fname, cur->fname);
|
||||
- rc = parse_keyfile(fname, &name);
|
||||
- if (rc != 0) {
|
||||
- fname = malloc(strlen(cur->fname) + strlen(IR_KEYTABLE_SYSTEM_DIR) + 2);
|
||||
- strcpy(fname, IR_KEYTABLE_SYSTEM_DIR);
|
||||
- strcat(fname, "/");
|
||||
- strcat(fname, cur->fname);
|
||||
- rc = parse_keyfile(fname, &name);
|
||||
- }
|
||||
- if (rc != 0) {
|
||||
- fprintf(stderr, "Can't load %s table from %s or %s\n", cur->fname, IR_KEYTABLE_USER_DIR, IR_KEYTABLE_SYSTEM_DIR);
|
||||
- return -1;
|
||||
- }
|
||||
}
|
||||
- if (!keys.next) {
|
||||
- fprintf(stderr, "Empty table %s\n", fname);
|
||||
+ rc = parse_keyfile(fname, &name);
|
||||
+ if (rc < 0 || !keys.next) {
|
||||
+ fprintf(stderr, "Can't load %s table or empty table\n", fname);
|
||||
return -1;
|
||||
}
|
||||
clear = 1;
|
||||
diff --git a/configure b/configure
|
||||
index c577fbfd4379..672c8f8681eb 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -657,7 +657,6 @@ LIBV4L2_PRIV_DIR
|
||||
LIBV4L1_PRIV_DIR
|
||||
pkgconfigdir
|
||||
udevrulesdir
|
||||
-keytableuserdir
|
||||
keytablesystemdir
|
||||
libv4lconvertprivdir
|
||||
libv4l2plugindir
|
||||
@@ -19701,9 +19700,7 @@ libv4l2plugindir=$libdir/$with_libv4l2subdir/plugins
|
||||
|
||||
libv4lconvertprivdir=$libdir/$with_libv4lconvertsubdir
|
||||
|
||||
-keytablesystemdir=$with_udevdir/rc_keymaps
|
||||
-
|
||||
-keytableuserdir=$sysconfdir/rc_keymaps
|
||||
+keytablesystemdir=$sysconfdir/rc_keymaps
|
||||
|
||||
udevrulesdir=$with_udevdir/rules.d
|
||||
|
||||
@@ -19805,7 +19802,6 @@ _ACEOF
|
||||
exec_prefix_NONE=
|
||||
test "x$prefix" = xNONE && prefix_NONE=yes && prefix=$ac_default_prefix
|
||||
test "x$exec_prefix" = xNONE && exec_prefix_NONE=yes && exec_prefix=$prefix
|
||||
- eval ac_define_dir="\"$keytableuserdir\""
|
||||
eval ac_define_dir="\"$ac_define_dir\""
|
||||
IR_KEYTABLE_USER_DIR="$ac_define_dir"
|
||||
|
||||
164
0003-add-media-header.patch
Normal file
164
0003-add-media-header.patch
Normal file
|
|
@ -0,0 +1,164 @@
|
|||
commit 6d9ab872c7a936a3042b3872cf10560b6b2950e4
|
||||
Author: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
|
||||
Date: Mon Nov 24 11:13:01 2014 -0200
|
||||
|
||||
sync-with-kernel: add include/linux/media.h
|
||||
|
||||
Without this, build breaks when compiling a package for RHEL6,
|
||||
with uses an older media stack.
|
||||
|
||||
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index 758d355..68c61a0 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -37,6 +37,7 @@ sync-with-kernel:
|
||||
cp -a $(KERNEL_DIR)/usr/include/linux/v4l2-subdev.h $(top_srcdir)/include/linux
|
||||
cp -a $(KERNEL_DIR)/usr/include/linux/v4l2-mediabus.h $(top_srcdir)/include/linux
|
||||
cp -a $(KERNEL_DIR)/usr/include/linux/media-bus-format.h $(top_srcdir)/include/linux
|
||||
+ cp -a $(KERNEL_DIR)/usr/include/linux/media.h $(top_srcdir)/include/linux
|
||||
cp -a $(KERNEL_DIR)/usr/include/linux/ivtv.h $(top_srcdir)/include/linux
|
||||
cp -a $(KERNEL_DIR)/usr/include/linux/dvb/frontend.h $(top_srcdir)/include/linux/dvb
|
||||
cp -a $(KERNEL_DIR)/usr/include/linux/dvb/dmx.h $(top_srcdir)/include/linux/dvb
|
||||
diff --git a/include/linux/media.h b/include/linux/media.h
|
||||
new file mode 100644
|
||||
index 0000000..87a0e10
|
||||
--- /dev/null
|
||||
+++ b/include/linux/media.h
|
||||
@@ -0,0 +1,135 @@
|
||||
+/*
|
||||
+ * Multimedia device API
|
||||
+ *
|
||||
+ * Copyright (C) 2010 Nokia Corporation
|
||||
+ *
|
||||
+ * Contacts: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
||||
+ * Sakari Ailus <sakari.ailus@iki.fi>
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or modify
|
||||
+ * it under the terms of the GNU General Public License version 2 as
|
||||
+ * published by the Free Software Foundation.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License
|
||||
+ * along with this program; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
+ */
|
||||
+
|
||||
+#ifndef __LINUX_MEDIA_H
|
||||
+#define __LINUX_MEDIA_H
|
||||
+
|
||||
+#include <linux/ioctl.h>
|
||||
+#include <linux/types.h>
|
||||
+#include <linux/version.h>
|
||||
+
|
||||
+#define MEDIA_API_VERSION KERNEL_VERSION(0, 1, 0)
|
||||
+
|
||||
+struct media_device_info {
|
||||
+ char driver[16];
|
||||
+ char model[32];
|
||||
+ char serial[40];
|
||||
+ char bus_info[32];
|
||||
+ __u32 media_version;
|
||||
+ __u32 hw_revision;
|
||||
+ __u32 driver_version;
|
||||
+ __u32 reserved[31];
|
||||
+};
|
||||
+
|
||||
+#define MEDIA_ENT_ID_FLAG_NEXT (1 << 31)
|
||||
+
|
||||
+#define MEDIA_ENT_TYPE_SHIFT 16
|
||||
+#define MEDIA_ENT_TYPE_MASK 0x00ff0000
|
||||
+#define MEDIA_ENT_SUBTYPE_MASK 0x0000ffff
|
||||
+
|
||||
+#define MEDIA_ENT_T_DEVNODE (1 << MEDIA_ENT_TYPE_SHIFT)
|
||||
+#define MEDIA_ENT_T_DEVNODE_V4L (MEDIA_ENT_T_DEVNODE + 1)
|
||||
+#define MEDIA_ENT_T_DEVNODE_FB (MEDIA_ENT_T_DEVNODE + 2)
|
||||
+#define MEDIA_ENT_T_DEVNODE_ALSA (MEDIA_ENT_T_DEVNODE + 3)
|
||||
+#define MEDIA_ENT_T_DEVNODE_DVB (MEDIA_ENT_T_DEVNODE + 4)
|
||||
+
|
||||
+#define MEDIA_ENT_T_V4L2_SUBDEV (2 << MEDIA_ENT_TYPE_SHIFT)
|
||||
+#define MEDIA_ENT_T_V4L2_SUBDEV_SENSOR (MEDIA_ENT_T_V4L2_SUBDEV + 1)
|
||||
+#define MEDIA_ENT_T_V4L2_SUBDEV_FLASH (MEDIA_ENT_T_V4L2_SUBDEV + 2)
|
||||
+#define MEDIA_ENT_T_V4L2_SUBDEV_LENS (MEDIA_ENT_T_V4L2_SUBDEV + 3)
|
||||
+/* A converter of analogue video to its digital representation. */
|
||||
+#define MEDIA_ENT_T_V4L2_SUBDEV_DECODER (MEDIA_ENT_T_V4L2_SUBDEV + 4)
|
||||
+
|
||||
+#define MEDIA_ENT_FL_DEFAULT (1 << 0)
|
||||
+
|
||||
+struct media_entity_desc {
|
||||
+ __u32 id;
|
||||
+ char name[32];
|
||||
+ __u32 type;
|
||||
+ __u32 revision;
|
||||
+ __u32 flags;
|
||||
+ __u32 group_id;
|
||||
+ __u16 pads;
|
||||
+ __u16 links;
|
||||
+
|
||||
+ __u32 reserved[4];
|
||||
+
|
||||
+ union {
|
||||
+ /* Node specifications */
|
||||
+ struct {
|
||||
+ __u32 major;
|
||||
+ __u32 minor;
|
||||
+ } v4l;
|
||||
+ struct {
|
||||
+ __u32 major;
|
||||
+ __u32 minor;
|
||||
+ } fb;
|
||||
+ struct {
|
||||
+ __u32 card;
|
||||
+ __u32 device;
|
||||
+ __u32 subdevice;
|
||||
+ } alsa;
|
||||
+ int dvb;
|
||||
+
|
||||
+ /* Sub-device specifications */
|
||||
+ /* Nothing needed yet */
|
||||
+ __u8 raw[184];
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+#define MEDIA_PAD_FL_SINK (1 << 0)
|
||||
+#define MEDIA_PAD_FL_SOURCE (1 << 1)
|
||||
+#define MEDIA_PAD_FL_MUST_CONNECT (1 << 2)
|
||||
+
|
||||
+struct media_pad_desc {
|
||||
+ __u32 entity; /* entity ID */
|
||||
+ __u16 index; /* pad index */
|
||||
+ __u32 flags; /* pad flags */
|
||||
+ __u32 reserved[2];
|
||||
+};
|
||||
+
|
||||
+#define MEDIA_LNK_FL_ENABLED (1 << 0)
|
||||
+#define MEDIA_LNK_FL_IMMUTABLE (1 << 1)
|
||||
+#define MEDIA_LNK_FL_DYNAMIC (1 << 2)
|
||||
+
|
||||
+struct media_link_desc {
|
||||
+ struct media_pad_desc source;
|
||||
+ struct media_pad_desc sink;
|
||||
+ __u32 flags;
|
||||
+ __u32 reserved[2];
|
||||
+};
|
||||
+
|
||||
+struct media_links_enum {
|
||||
+ __u32 entity;
|
||||
+ /* Should have enough room for pads elements */
|
||||
+ struct media_pad_desc *pads;
|
||||
+ /* Should have enough room for links elements */
|
||||
+ struct media_link_desc *links;
|
||||
+ __u32 reserved[4];
|
||||
+};
|
||||
+
|
||||
+#define MEDIA_IOC_DEVICE_INFO _IOWR('|', 0x00, struct media_device_info)
|
||||
+#define MEDIA_IOC_ENUM_ENTITIES _IOWR('|', 0x01, struct media_entity_desc)
|
||||
+#define MEDIA_IOC_ENUM_LINKS _IOWR('|', 0x02, struct media_links_enum)
|
||||
+#define MEDIA_IOC_SETUP_LINK _IOWR('|', 0x03, struct media_link_desc)
|
||||
+
|
||||
+#endif /* __LINUX_MEDIA_H */
|
||||
59
0004-fix-qtgl-detection.patch
Normal file
59
0004-fix-qtgl-detection.patch
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
diff --git a/configure.ac b/configure.ac
|
||||
index 7411d92..4375f39 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -148,7 +148,7 @@ else
|
||||
AC_MSG_WARN(Qt4 or higher is not available)
|
||||
fi
|
||||
|
||||
-PKG_CHECK_MODULES(QTGL, [QtOpenGL >= 4.4 gl], [qt_pkgconfig_gl=true], [qt_pkgconfig_gl=false])
|
||||
+PKG_CHECK_MODULES(QTGL, [QtOpenGL >= 4.8 gl], [qt_pkgconfig_gl=true], [qt_pkgconfig_gl=false])
|
||||
if test "x$qt_pkgconfig_gl" = "xtrue"; then
|
||||
AC_DEFINE([HAVE_QTGL], [1], [qt has opengl support])
|
||||
else
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -18190,12 +18190,12 @@ if test -n "$QTGL_CFLAGS"; then
|
||||
pkg_cv_QTGL_CFLAGS="$QTGL_CFLAGS"
|
||||
elif test -n "$PKG_CONFIG"; then
|
||||
if test -n "$PKG_CONFIG" && \
|
||||
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtOpenGL >= 4.4 gl\""; } >&5
|
||||
- ($PKG_CONFIG --exists --print-errors "QtOpenGL >= 4.4 gl") 2>&5
|
||||
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtOpenGL >= 4.8 gl\""; } >&5
|
||||
+ ($PKG_CONFIG --exists --print-errors "QtOpenGL >= 4.8 gl") 2>&5
|
||||
ac_status=$?
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; then
|
||||
- pkg_cv_QTGL_CFLAGS=`$PKG_CONFIG --cflags "QtOpenGL >= 4.4 gl" 2>/dev/null`
|
||||
+ pkg_cv_QTGL_CFLAGS=`$PKG_CONFIG --cflags "QtOpenGL >= 4.8 gl" 2>/dev/null`
|
||||
test "x$?" != "x0" && pkg_failed=yes
|
||||
else
|
||||
pkg_failed=yes
|
||||
@@ -18207,12 +18207,12 @@ if test -n "$QTGL_LIBS"; then
|
||||
pkg_cv_QTGL_LIBS="$QTGL_LIBS"
|
||||
elif test -n "$PKG_CONFIG"; then
|
||||
if test -n "$PKG_CONFIG" && \
|
||||
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtOpenGL >= 4.4 gl\""; } >&5
|
||||
- ($PKG_CONFIG --exists --print-errors "QtOpenGL >= 4.4 gl") 2>&5
|
||||
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtOpenGL >= 4.8 gl\""; } >&5
|
||||
+ ($PKG_CONFIG --exists --print-errors "QtOpenGL >= 4.8 gl") 2>&5
|
||||
ac_status=$?
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; then
|
||||
- pkg_cv_QTGL_LIBS=`$PKG_CONFIG --libs "QtOpenGL >= 4.4 gl" 2>/dev/null`
|
||||
+ pkg_cv_QTGL_LIBS=`$PKG_CONFIG --libs "QtOpenGL >= 4.8 gl" 2>/dev/null`
|
||||
test "x$?" != "x0" && pkg_failed=yes
|
||||
else
|
||||
pkg_failed=yes
|
||||
@@ -18233,9 +18233,9 @@ else
|
||||
_pkg_short_errors_supported=no
|
||||
fi
|
||||
if test $_pkg_short_errors_supported = yes; then
|
||||
- QTGL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "QtOpenGL >= 4.4 gl" 2>&1`
|
||||
+ QTGL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "QtOpenGL >= 4.8 gl" 2>&1`
|
||||
else
|
||||
- QTGL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "QtOpenGL >= 4.4 gl" 2>&1`
|
||||
+ QTGL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "QtOpenGL >= 4.8 gl" 2>&1`
|
||||
fi
|
||||
# Put the nasty error message in config.log where it belongs
|
||||
echo "$QTGL_PKG_ERRORS" >&5
|
||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
921dab41b8d950fb7d1412e39f48703e v4l-utils-1.6.0.tar.bz2
|
||||
9cb3c178f937954e65bf30920af433ef v4l-utils-1.6.2.tar.bz2
|
||||
|
|
|
|||
159
v4l-utils.spec
159
v4l-utils.spec
|
|
@ -1,18 +1,22 @@
|
|||
Name: v4l-utils
|
||||
Version: 1.6.0
|
||||
Release: 2%{?dist}
|
||||
Version: 1.6.2
|
||||
Release: 3%{?dist}
|
||||
Summary: Utilities for video4linux and DVB devices
|
||||
Group: Applications/System
|
||||
# libdvbv5, dvbv5 utils, ir-keytable and v4l2-sysfs-path are GPLv2 only
|
||||
License: GPLv2+ and GPLv2
|
||||
URL: http://www.linuxtv.org/downloads/v4l-utils/
|
||||
Source0: http://linuxtv.org/downloads/v4l-utils/v4l-utils-%{version}.tar.bz2
|
||||
Patch1: 0001-v4lconvert-Fix-decoding-of-jpeg-data-with-no-vertica.patch
|
||||
Patch1: 0001-media-headers-sync.patch
|
||||
Patch2: 0002-use-etc-for-keymaps.patch
|
||||
Patch3: 0003-add-media-header.patch
|
||||
Patch4: 0004-fix-qtgl-detection.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
BuildRequires: libjpeg-devel qt4-devel kernel-headers desktop-file-utils
|
||||
BuildRequires: alsa-lib-devel doxygen
|
||||
# For /lib/udev/rules.d ownership
|
||||
BuildRequires: autoconf
|
||||
# For /etc/udev/rules.d ownership
|
||||
Requires: udev
|
||||
Requires: libv4l%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description
|
||||
v4l-utils is a collection of various video4linux (V4L) and DVB utilities. The
|
||||
|
|
@ -24,7 +28,6 @@ v4l2-sysfs-path.
|
|||
Summary: Utilities for v4l2 / DVB driver development and debugging
|
||||
# decode_tm6000 is GPLv2 only
|
||||
License: GPLv2+ and GPLv2
|
||||
Requires: libv4l%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description devel-tools
|
||||
Utilities for v4l2 / DVB driver authors: decode_tm6000, v4l2-compliance and
|
||||
|
|
@ -34,37 +37,11 @@ v4l2-dbg.
|
|||
%package -n qv4l2
|
||||
Summary: QT v4l2 test control and streaming test application
|
||||
License: GPLv2+
|
||||
Requires: libv4l%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description -n qv4l2
|
||||
QT v4l2 test control and streaming test application.
|
||||
|
||||
|
||||
%package -n libv4l
|
||||
Summary: Collection of video4linux support libraries
|
||||
Group: System Environment/Libraries
|
||||
# Some of the decompression helpers are GPLv2, the rest is LGPLv2+
|
||||
License: LGPLv2+ and GPLv2
|
||||
URL: http://hansdegoede.livejournal.com/3636.html
|
||||
|
||||
%description -n libv4l
|
||||
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
|
||||
easy for application writers to support a wide variety of devices without
|
||||
having to write separate code for different devices in the same class. libv4l
|
||||
consists of 3 different libraries: libv4lconvert, libv4l1 and libv4l2.
|
||||
|
||||
libv4lconvert offers functions to convert from any (known) pixel-format
|
||||
to V4l2_PIX_FMT_BGR24 or V4l2_PIX_FMT_YUV420.
|
||||
|
||||
libv4l1 offers the (deprecated) v4l1 API on top of v4l2 devices, independent
|
||||
of the drivers for those devices supporting v4l1 compatibility (which many
|
||||
v4l2 drivers do not).
|
||||
|
||||
libv4l2 offers the v4l2 API on top of v4l2 devices, while adding for the
|
||||
application transparent libv4lconvert conversion where necessary.
|
||||
|
||||
|
||||
%package -n libdvbv5
|
||||
Summary: Libraries to control, scan and zap on Digital TV channels
|
||||
Group: Development/Libraries
|
||||
|
|
@ -73,18 +50,6 @@ License: GPLv2
|
|||
%description -n libdvbv5
|
||||
Libraries to control, scan and zap on Digital TV channels
|
||||
|
||||
%package -n libv4l-devel
|
||||
Summary: Development files for libv4l
|
||||
Group: Development/Libraries
|
||||
License: LGPLv2+
|
||||
URL: http://hansdegoede.livejournal.com/3636.html
|
||||
Requires: libv4l%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description -n libv4l-devel
|
||||
The libv4l-devel package contains libraries and header files for
|
||||
developing applications that use libv4l.
|
||||
|
||||
|
||||
%package -n libdvbv5-devel
|
||||
Summary: Development files for libdvbv5
|
||||
Group: Development/Libraries
|
||||
|
|
@ -99,10 +64,13 @@ files for developing applications that use libdvbv5.
|
|||
%prep
|
||||
%setup -q
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
|
||||
|
||||
%build
|
||||
%configure --disable-static --enable-libdvbv5 --enable-doxygen-man
|
||||
%configure --disable-shared --enable-libdvbv5 --enable-doxygen-man
|
||||
# Don't use rpath!
|
||||
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
|
||||
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
|
||||
|
|
@ -112,18 +80,13 @@ make doxygen-run
|
|||
|
||||
%install
|
||||
%make_install
|
||||
rm $RPM_BUILD_ROOT/usr/include/libv4l*.h $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/libv4l*.pc $RPM_BUILD_ROOT/%{_libdir}/libv4l*.a
|
||||
rm -r $RPM_BUILD_ROOT/%{_libdir}/libv4l/
|
||||
find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
|
||||
rm $RPM_BUILD_ROOT%{_libdir}/{v4l1compat.so,v4l2convert.so}
|
||||
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man3/
|
||||
cp -arv %{_builddir}/%{name}-%{version}/doxygen-doc/man/man3 $RPM_BUILD_ROOT%{_mandir}/
|
||||
rm $RPM_BUILD_ROOT%{_mandir}/man3/_*3
|
||||
desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop
|
||||
|
||||
|
||||
%post -n libv4l -p /sbin/ldconfig
|
||||
|
||||
%postun -n libv4l -p /sbin/ldconfig
|
||||
|
||||
%post -n libdvbv5 -p /sbin/ldconfig
|
||||
|
||||
%postun -n libdvbv5 -p /sbin/ldconfig
|
||||
|
|
@ -144,9 +107,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
|
|||
%files
|
||||
%doc README
|
||||
%dir %{_sysconfdir}/rc_keymaps
|
||||
%config(noreplace) %{_sysconfdir}/rc_keymaps/*
|
||||
%config(noreplace) %{_sysconfdir}/rc_maps.cfg
|
||||
%{_udevrulesdir}/70-infrared.rules
|
||||
%{_prefix}/lib/udev/rc_keymaps/*
|
||||
%config(noreplace) /lib/udev/rules.d/70-infrared.rules
|
||||
%{_bindir}/cx18-ctl
|
||||
%{_bindir}/dvb*
|
||||
%{_bindir}/ir-keytable
|
||||
|
|
@ -169,96 +132,30 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
|
|||
%{_datadir}/applications/qv4l2.desktop
|
||||
%{_datadir}/icons/hicolor/*/apps/qv4l2.*
|
||||
|
||||
%files -n libv4l
|
||||
%doc COPYING.libv4l COPYING ChangeLog README.libv4l TODO
|
||||
%{_libdir}/libv4l
|
||||
%{_libdir}/libv4l*.so.*
|
||||
|
||||
%files -n libv4l-devel
|
||||
%doc README.lib-multi-threading
|
||||
%{_includedir}/libv4l*.h
|
||||
%{_libdir}/libv4l*.so
|
||||
%{_libdir}/pkgconfig/libv4l*.pc
|
||||
|
||||
%files -n libdvbv5
|
||||
%doc COPYING ChangeLog lib/libdvbv5/README
|
||||
%{_libdir}/libdvbv5*.so.*
|
||||
%{_libdir}/libdvbv5*
|
||||
|
||||
%files -n libdvbv5-devel
|
||||
%{_includedir}/libdvbv5/*.h
|
||||
%{_libdir}/libdvbv5*.so
|
||||
%{_libdir}/pkgconfig/libdvbv5*.pc
|
||||
%{_mandir}/man3/*.3*
|
||||
|
||||
|
||||
%changelog
|
||||
* Thu Nov 20 2014 Hans de Goede <hdegoede@redhat.com> - 1.6.0-2
|
||||
- Fix crash when decoding 1920x1080 jpeg to YUV420
|
||||
* Wed Dec 10 2014 Mauro Carvalho Chehab <mchehab@osg.samsung.com> - 1.6.2-3
|
||||
- Remove libv4l from packaging, to avoid override RHEL6 one
|
||||
|
||||
* Sun Oct 05 2014 Mauro Carvalho Chehab - 1.6.0-1
|
||||
- Upgrade to version 1.6.0
|
||||
* Mon Nov 24 2014 Mauro Carvalho Chehab <mchehab@osg.samsung.com> - 1.6.2-2
|
||||
- Enable qv4l2 package
|
||||
|
||||
* Mon Sep 08 2014 Mauro Carvalho Chehab - 1.4.0-1
|
||||
- Upgrade to version 1.4.0
|
||||
* Sat Nov 22 2014 Mauro Carvalho Chehab <mchehab@osg.samsung.com> - 1.6.2-1
|
||||
- Update to version 1.6.2 with contains several bugfixes
|
||||
|
||||
* Fri Aug 22 2014 Mauro Carvalho Chehab - 1.2.1-3
|
||||
- Add ALSA support on qv4l2 and fix a couple issues at spec file
|
||||
|
||||
* Thu Aug 21 2014 Mauro Carvalho Chehab - 1.2.1-2
|
||||
- Update to version 1.2.1 and add package for libdvbv5
|
||||
|
||||
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Sat Aug 3 2013 Hans de Goede <hdegoede@redhat.com> - 1.0.0-1
|
||||
- New upstream release 1.0.0 final
|
||||
- Drop libdvb5 (made private upstream for now)
|
||||
|
||||
* Fri Jun 14 2013 Hans de Goede <hdegoede@redhat.com> - 0.9.5-2
|
||||
- Add a few libv4l2rds patches from upstream, which bring libv4l2rds to its
|
||||
final API / ABI, so that apps build against it won't need a rebuild in the
|
||||
future
|
||||
|
||||
* Sun Jun 9 2013 Hans de Goede <hdegoede@redhat.com> - 0.9.5-1
|
||||
- New upstream release 0.9.5 (rhbz#970412)
|
||||
- Modernize specfile a bit
|
||||
|
||||
* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.8-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
* Mon Jan 21 2013 Adam Tkac <atkac redhat com> - 0.8.8-5
|
||||
- rebuild due to "jpeg8-ABI" feature drop
|
||||
|
||||
* Fri Dec 21 2012 Adam Tkac <atkac redhat com> - 0.8.8-4
|
||||
- rebuild against new libjpeg
|
||||
|
||||
* Sun Jul 22 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.8-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Mon Jul 9 2012 Hans de Goede <hdegoede@redhat.com> - 0.8.8-2
|
||||
- Cherry-pick 2 patches from upstream git fixing an exotic crash (rhbz#838279)
|
||||
|
||||
* Tue May 22 2012 Hans de Goede <hdegoede@redhat.com> - 0.8.8-1
|
||||
- New upstream release 0.8.8
|
||||
- Add patches from upstream git to improve Pixart JPEG decoding
|
||||
- Add patch from upstream git to fix building with latest kernels (rhbz#823863)
|
||||
|
||||
* Mon Apr 9 2012 Hans de Goede <hdegoede@redhat.com> - 0.8.7-1
|
||||
- New upstream release 0.8.7
|
||||
- Fixes rhbz#807656
|
||||
|
||||
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.5-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||
|
||||
* Sun Jul 17 2011 Hans de Goede <hdegoede@redhat.com> 0.8.5-1
|
||||
- New upstream release 0.8.5
|
||||
- Fixes rhbz#711492
|
||||
|
||||
* Wed Jun 1 2011 Hans de Goede <hdegoede@redhat.com> 0.8.4-1
|
||||
- New upstream release 0.8.4
|
||||
* Fri Oct 7 2011 Mauro Carvalho Chehab <mchehab@redhat.com> 0.9.0.git5f24b816
|
||||
- Based on git changeset 5f24b816, this version will allow adding a v4l-utils
|
||||
package without compiling the libv4l. This avoids a conflict with the
|
||||
existing libv4l package that is part of the RHEL6 repositories.
|
||||
|
||||
* Sat Mar 12 2011 Hans de Goede <hdegoede@redhat.com> 0.8.3-2
|
||||
- Add a .desktop file for qv4l2
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue