diff --git a/.gitignore b/.gitignore index 64e9daf..517a3c9 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -/v4l-utils-1.6.2.tar.bz2 +/v4l-utils-*.tar.bz2 +/v4l-utils-*.tar.xz diff --git a/0001-media-headers-sync.patch b/0001-media-headers-sync.patch deleted file mode 100644 index cd5c5e4..0000000 --- a/0001-media-headers-sync.patch +++ /dev/null @@ -1,268 +0,0 @@ -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 -+ * -+ * 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 - -#include - -#include -+-#include - #include - - +#include diff --git a/0002-use-etc-for-keymaps.patch b/0002-use-etc-for-keymaps.patch deleted file mode 100644 index edbc9a0..0000000 --- a/0002-use-etc-for-keymaps.patch +++ /dev/null @@ -1,126 +0,0 @@ -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" - diff --git a/0003-add-media-header.patch b/0003-add-media-header.patch deleted file mode 100644 index 5ad7f17..0000000 --- a/0003-add-media-header.patch +++ /dev/null @@ -1,164 +0,0 @@ -commit 6d9ab872c7a936a3042b3872cf10560b6b2950e4 -Author: Mauro Carvalho Chehab -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 - -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 -+ * Sakari Ailus -+ * -+ * 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 -+#include -+#include -+ -+#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 */ diff --git a/0004-fix-qtgl-detection.patch b/0004-fix-qtgl-detection.patch deleted file mode 100644 index 91e26f8..0000000 --- a/0004-fix-qtgl-detection.patch +++ /dev/null @@ -1,59 +0,0 @@ -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 diff --git a/sbin-location.diff b/sbin-location.diff new file mode 100644 index 0000000..2030a8e --- /dev/null +++ b/sbin-location.diff @@ -0,0 +1,13 @@ +diff --git v4l-utils-1.26.1/utils/v4l2-dbg/meson.build~ v4l-utils-1.26.1/utils/v4l2-dbg/meson.build +index c23bf8f351..bfbc10c616 100644 +--- v4l-utils-1.26.1/utils/v4l2-dbg/meson.build~ ++++ v4l-utils-1.26.1/utils/v4l2-dbg/meson.build +@@ -13,7 +13,7 @@ v4l2_dbg_sources = files( + v4l2_dbg = executable('v4l2-dbg', + v4l2_dbg_sources, + install : true, +- install_dir : 'sbin', ++ install_dir : get_option('sbindir'), + include_directories : [ + v4l2_utils_incdir, + utils_common_incdir, diff --git a/sources b/sources index 8ba1ca2..4efc8c2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9cb3c178f937954e65bf30920af433ef v4l-utils-1.6.2.tar.bz2 +SHA512 (v4l-utils-1.32.0.tar.xz) = 5bf24c28ec66a7ac1a0c9ee976521d825d4c2f8abbbeb59c7ac55e89db10dde6ebb643d238d217d636d79fda363244558fee1effe8c5e8c573c1a3e957fe391f diff --git a/v4l-utils.spec b/v4l-utils.spec index 0bc9525..0cbadaa 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -1,59 +1,142 @@ +%bcond qt %[%{undefined rhel} || 0%{?rhel} < 10] + +# Currently broken without DVB due to a bunch of random bits +# being built/installed even though they're DVB specific +%define with_dvb 1 + Name: v4l-utils -Version: 1.6.2 -Release: 3%{?dist} +Version: 1.32.0 +Release: 4%{?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 +# libdvbv5, dvbv5 utils, ir-keytable are GPL-2.0-only +# e.g. utils/cec-follower/cec-follower.cpp is (GPL-2.0-only OR BSD-3-Clause) +# utils/qvidcap/capture.cpp, paint.cpp are LicenseRef-Fedora-Public-Domain +# utils/v4l2-sysfs-path/v4l2-sysfs-path.c is HPND-sell-variant +License: GPL-2.0-or-later AND GPL-2.0-only AND (GPL-2.0-only OR BSD-3-Clause) AND LicenseRef-Fedora-Public-Domain AND HPND-sell-variant URL: http://www.linuxtv.org/downloads/v4l-utils/ -Source0: http://linuxtv.org/downloads/v4l-utils/v4l-utils-%{version}.tar.bz2 -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 -BuildRequires: autoconf -# For /etc/udev/rules.d ownership -Requires: udev + +Source0: %{url}/v4l-utils-%{version}.tar.xz +# TODO: submit upstream +Patch0: sbin-location.diff + +BuildRequires: alsa-lib-devel +BuildRequires: gettext +BuildRequires: json-c-devel +BuildRequires: kernel-headers +BuildRequires: libjpeg-devel +BuildRequires: meson >= 0.56 +BuildRequires: perl-interpreter +%if %{with qt} +BuildRequires: desktop-file-utils +%if 0%{?fedora} < 41 || 0%{?rhel} +BuildRequires: qt5-qtbase-devel +%else +BuildRequires: qt6-qtbase-devel +BuildRequires: qt6-qt5compat-devel +%endif +%endif +BuildRequires: systemd-devel +# For /usr/share/pkgconfig/udev.pc +BuildRequires: systemd +# BPF decoder dependencies +BuildRequires: clang +BuildRequires: elfutils-libelf-devel +BuildRequires: libbpf-devel + +# For /lib/udev/rules.d ownership +Requires: systemd-udev +Requires: libv4l%{?_isa} = %{version}-%{release} + +Provides: edid-decode = %{version}-%{release} +Obsoletes: edid-decode < 1 %description -v4l-utils is a collection of various video4linux (V4L) and DVB utilities. The -main v4l-utils package contains cx18-ctl, ir-keytable, ivtv-ctl, v4l2-ctl and -v4l2-sysfs-path. +v4l-utils is a collection of various video4linux (V4L), RC core and DVB +utilities. The main v4l-utils package contains cx18-ctl, ivtv-ctl, v4l2-ctl +and v4l2-sysfs-path. + + +%package -n libv4l +Summary: Collection of video4linux support libraries +# Some of the decompression helpers are GPL-2.0-or-later, the rest is LGPL-2.1-or-later +# lib/libv4lconvert/jidctflt.c and jpeg_memsrcdest.c are IJG-short +# lib/libv4lconvert/helper-funcs.h and libv4lsyscall-priv.h are BSD-2-Clause +License: LGPL-2.1-or-later AND GPL-2.0-or-later AND IJG-short AND BSD-2-Clause +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 libv4l-devel +Summary: Development files for libv4l +License: LGPL-2.1-or-later AND GPL-2.0-or-later AND IJG-short AND BSD-2-Clause +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 devel-tools Summary: Utilities for v4l2 / DVB driver development and debugging -# decode_tm6000 is GPLv2 only -License: GPLv2+ and GPLv2 +License: GPL-2.0-or-later AND GPL-2.0-only +Requires: libv4l%{?_isa} = %{version}-%{release} %description devel-tools -Utilities for v4l2 / DVB driver authors: decode_tm6000, v4l2-compliance and +Utilities for v4l2 driver authors: v4l2-compliance and v4l2-dbg. +%if %{with qt} %package -n qv4l2 Summary: QT v4l2 test control and streaming test application -License: GPLv2+ +# utils/qv4l2/qv4l2.svg is CC-BY-SA-3.0 +License: GPL-2.0-or-later AND CC-BY-SA-3.0 +Requires: libv4l%{?_isa} = %{version}-%{release} %description -n qv4l2 QT v4l2 test control and streaming test application. +%endif +%if %{with dvb} %package -n libdvbv5 Summary: Libraries to control, scan and zap on Digital TV channels -Group: Development/Libraries -License: GPLv2 +# /lib/include/libdvbv5/dvb-frontend.h is LGPL-2.1-or-later WITH Linux-syscall-note +License: LGPL-2.1-or-later AND LGPL-2.1-or-later WITH Linux-syscall-note %description -n libdvbv5 Libraries to control, scan and zap on Digital TV channels + +%package -n libdvbv5-gconv +Summary: Gconv files with the charsets For Digital TV. +License: LGPL-2.1-or-later + +%description -n libdvbv5-gconv +Some digital TV standards define their own charsets. Add library +support for them: EN 300 468 and ARIB STD-B24 + + %package -n libdvbv5-devel Summary: Development files for libdvbv5 -Group: Development/Libraries -License: GPLv2 +License: LGPL-2.1-or-later AND LGPL-2.1-or-later WITH Linux-syscall-note Requires: libdvbv5%{?_isa} = %{version}-%{release} %description -n libdvbv5-devel @@ -61,101 +144,419 @@ The libdvbv5-devel package contains libraries and header files for developing applications that use libdvbv5. -%prep -%setup -q -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 +%package -n dvb-tools +Summary: Utilities for DVB driver +License: GPL-2.0-or-later AND GPL-2.0-only +Requires: libdvbv5%{?_isa} = %{version}-%{release} +Requires: libv4l%{?_isa} = %{version}-%{release} +Requires: v4l-utils%{?_isa} = %{version}-%{release} +%description -n dvb-tools +Utilities and tools for DVB receivers. +%endif + +%package -n rc-tools +Summary: Utilities for RC core +License: GPL-2.0-or-later AND GPL-2.0-only +Requires: v4l-utils%{?_isa} = %{version}-%{release} + +%description -n rc-tools +Utilities for Infrared receivers and transmitters using RC core. + + +%prep +%autosetup -p1 %build -%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 -make %{?_smp_mflags} -make doxygen-run +%meson -Dbpf=auto \ + -Ddoxygen-doc=disabled -Ddoxygen-man=false -Ddoxygen-html=false \ + %{!?with_dvb:-Dlibdvbv5=disabled} \ + %{!?with_qt:-Dqv4l2=disabled -Dqvidcap=disabled} +%meson_build %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 {} ';' -mkdir -p $RPM_BUILD_ROOT%{_mandir}/man3/ -cp -arv %{_builddir}/%{name}-%{version}/doxygen-doc/man/man3 $RPM_BUILD_ROOT%{_mandir}/ +%meson_install + +find $RPM_BUILD_ROOT -name '*.la' -delete +# Driver removed from upstream +rm -f $RPM_BUILD_ROOT%{_bindir}/decode_tm6000 +rm -f $RPM_BUILD_ROOT%{_libdir}/{v4l1compat.so,v4l2convert.so} +mkdir $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules.d +mv $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules.d/libdvbv5.conf + +%if %{with qt} desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop +desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qvidcap.desktop +%endif -%post -n libdvbv5 -p /sbin/ldconfig - -%postun -n libdvbv5 -p /sbin/ldconfig - -%post -n qv4l2 -touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : - -%postun -n qv4l2 -if [ $1 -eq 0 ] ; then - touch --no-create %{_datadir}/icons/hicolor &>/dev/null - gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : -fi - -%posttrans -n qv4l2 -gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : +%find_lang %{name} +%find_lang libdvbv5 -%files -%doc README -%dir %{_sysconfdir}/rc_keymaps -%config(noreplace) %{_sysconfdir}/rc_keymaps/* -%config(noreplace) %{_sysconfdir}/rc_maps.cfg -%config(noreplace) /lib/udev/rules.d/70-infrared.rules -%{_bindir}/cx18-ctl -%{_bindir}/dvb* -%{_bindir}/ir-keytable -%{_bindir}/ivtv-ctl +%ldconfig_scriptlets -n libv4l + +%ldconfig_scriptlets -n libdvbv5 + +%files -f %{name}.lang +%doc README.md +%{_bindir}/cec-ctl +%{_bindir}/cec-follower +%{_bindir}/edid-decode %{_bindir}/media-ctl %{_bindir}/rds-ctl %{_bindir}/v4l2-ctl %{_bindir}/v4l2-sysfs-path -%{_mandir}/man1/*.1* +%{_bindir}/v4l2-tracer +%{_mandir}/man1/cec-ctl*.1* +%{_mandir}/man1/cec-follower*.1* +%{_mandir}/man1/edid-decode*.1* +%{_mandir}/man1/v4l*.1* +%exclude %{_mandir}/man1/v4l2-compliance.1* %files devel-tools -%doc README -%{_bindir}/decode_tm6000 +%doc README.md +%{_bindir}/cec-compliance %{_bindir}/v4l2-compliance +%{_mandir}/man1/cec-compliance.1* +%{_mandir}/man1/v4l2-compliance.1* %{_sbindir}/v4l2-dbg -%files -n qv4l2 -%doc README -%{_bindir}/qv4l2 -%{_datadir}/applications/qv4l2.desktop -%{_datadir}/icons/hicolor/*/apps/qv4l2.* +%files -n libv4l +%license COPYING.libv4l COPYING +%doc README.libv4l +%dir %{_libdir}/libv4l +%{_libdir}/libv4l/v4l* +%{_libdir}/libv4l/plugins +%{_libdir}/libv4l*.so.* -%files -n libdvbv5 -%doc COPYING ChangeLog lib/libdvbv5/README -%{_libdir}/libdvbv5* +%files -n libv4l-devel +%doc README.lib-multi-threading ChangeLog TODO +%{_includedir}/libv4l*.h +%{_libdir}/libv4l*.so +%{_libdir}/libv4l/ov* +%{_libdir}/libv4l/libv4l2tracer.so +%{_libdir}/pkgconfig/libv4l*.pc + +%if %{with qt} +%files -n qv4l2 +%doc README.md +%{_bindir}/qv4l2 +%{_bindir}/qvidcap +%{_datadir}/applications/qv4l2.desktop +%{_datadir}/applications/qvidcap.desktop +%{_datadir}/icons/hicolor/*/apps/qv4l2.* +%{_datadir}/icons/hicolor/*/apps/qvidcap.* +%{_mandir}/man1/qv4l2.1* +%{_mandir}/man1/qvidcap.1* +%endif + +%if %{with dvb} +%files -n libdvbv5 -f libdvbv5.lang +%license COPYING.libdvbv5 COPYING +%doc lib/libdvbv5/README +%{_libdir}/libdvbv5*.so.* + +%files -n libdvbv5-gconv +%{_libdir}/gconv/*.so +%{_libdir}/gconv/gconv-modules.d/libdvbv5.conf %files -n libdvbv5-devel %{_includedir}/libdvbv5/*.h +%{_libdir}/libdvbv5*.so %{_libdir}/pkgconfig/libdvbv5*.pc -%{_mandir}/man3/*.3* + +%files -n dvb-tools +%{_bindir}/cx18-ctl +%{_bindir}/dvb* +%{_bindir}/ivtv-ctl +%{_mandir}/man1/dvb*.1* + +%files -n rc-tools +%dir %{_sysconfdir}/rc_keymaps +%config(noreplace) %{_sysconfdir}/rc_maps.cfg +%{_udevrulesdir}/70-infrared.rules +%{_udevrulesdir}/../rc_keymaps/* +%{_bindir}/ir-ctl +%{_bindir}/ir-keytable +%{_mandir}/man1/ir*.1* +%{_mandir}/man5/rc_keymap*.5* + +%endif %changelog -* Wed Dec 10 2014 Mauro Carvalho Chehab - 1.6.2-3 -- Remove libv4l from packaging, to avoid override RHEL6 one +* Fri Jul 17 2026 Fedora Release Engineering - 1.32.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild -* Mon Nov 24 2014 Mauro Carvalho Chehab - 1.6.2-2 -- Enable qv4l2 package +* Sat Jan 17 2026 Fedora Release Engineering - 1.32.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Tue Jan 13 2026 Yaakov Selkowitz - 1.32.0-2 +- Disable doxygen manpages + +* Mon Oct 06 2025 Peter Robinson - 1.32.0-1 +- Update to 1.32.0 + +* Fri Jul 25 2025 Fedora Release Engineering - 1.30.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sat Jun 7 2025 Sean Young - 1.30.1-3 +- Move rc-tools into separate package so they can be replaced with new tools in the future. + +* Fri May 02 2025 Peter Robinson - 1.30.1-2 +- Fix obsolete of edid-decode + +* Thu May 1 2025 Yanko Kaneti - 1.30.1-1 +- Update to 1.30.1 +- Provides and obsoletes edid-decode which has moved to v4l-utils upstream + +* Sun Jan 19 2025 Fedora Release Engineering - 1.28.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sun Jan 12 2025 Zbigniew Jędrzejewski-Szmek - 1.28.1-2 +- Rebuilt for the bin-sbin merge (2nd attempt) + +* Thu Jul 25 2024 Peter Robinson - 1.28.1-1 +- Update to 1.28.1 +- Build f41+ with QT6 + +* Mon Jul 22 2024 Peter Robinson - 1.28.0-1 +- Update to 1.28.0 +- spec file cleanups, fixes, minor reorg + +* Sat Jul 20 2024 Fedora Release Engineering - 1.26.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Jul 09 2024 Zbigniew Jędrzejewski-Szmek - 1.26.1-5 +- Rebuilt for the bin-sbin merge + +* Wed Apr 24 2024 Peter Robinson - 1.26.1-4 +- Fix location of gconv conflicts + +* Tue Apr 23 2024 Peter Robinson - 1.26.1-3 +- Split dvb tools to it's own sub package + +* Sat Jan 27 2024 Fedora Release Engineering - 1.26.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Dec 13 2023 Peter Robinson - 1.26.1-1 +- Update to 1.26.1 + +* Mon Dec 04 2023 Peter Robinson - 1.26.0-1 +- Update to 1.26.0 + +* Wed Aug 16 2023 Yaakov Selkowitz - 1.25.0-4 +- Disable qv4l2 in RHEL 10 builds + +* Sat Jul 22 2023 Fedora Release Engineering - 1.25.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Mon Mar 20 2023 Mauro Carvalho Chehab 1.25.0-1 +- Updated to latest development branch + +* Sat Jan 21 2023 Fedora Release Engineering - 1.22.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sun Oct 23 2022 Hans de Goede - 1.22.1-4 +- Fix libv4lconvert issues when stride > width (with some formats) + +* Sat Jul 23 2022 Fedora Release Engineering - 1.22.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jan 22 2022 Fedora Release Engineering - 1.22.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Dec 08 2021 Peter Robinson - 1.22.1-1 +- Update to 1.22.1 + +* Fri Jul 23 2021 Fedora Release Engineering - 1.20.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jan 27 2021 Fedora Release Engineering - 1.20.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Aug 18 2020 Jeff Law - 1.20.0-2 +- Force C++14 as this code is not C++17 ready + +* Wed Aug 12 2020 Peter Robinson - 1.20.0-1 +- Update to 1.20.0 + +* Wed Jul 29 2020 Fedora Release Engineering - 1.18.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Feb 25 2020 Than Ngo - 1.18.0-4 +- Fixed FTBFS + +* Fri Jan 31 2020 Fedora Release Engineering - 1.18.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sun Sep 22 2019 Mauro Carvalho Chehab 1.18.0-1 +- Updated to latest stable release + +* Mon Sep 02 2019 Mauro Carvalho Chehab 1.16.7-1 +- Updated to new fix release with NIT parsing fix + +* Sat Jul 27 2019 Fedora Release Engineering - 1.16.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed May 1 2019 Peter Robinson 1.16.5-3 +- The actual fix for libdvbv5 (rhbz 1695023) + +* Tue Apr 16 2019 Peter Robinson 1.16.5-2 +- Upstream fix for libdvbv5 (rhbz 1695023) + +* Sun Mar 31 2019 Peter Robinson 1.16.5-1 +- New upstream release 1.16.5 + +* Sun Feb 03 2019 Fedora Release Engineering - 1.16.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Dec 17 2018 Mauro Carvalho Chehab 1.6.3-1 +- Updated to new fix release, with should solve BPF protocol packaging issues + +* Thu Nov 22 2018 Mauro Carvalho Chehab 1.6.2-2 +- Add dependencies needed to build BPF code + +* Mon Nov 19 2018 Peter Robinson 1.16.2-1 +- New upstream release 1.16.2 + +* Sat Jul 14 2018 Fedora Release Engineering - 1.14.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Sun Apr 29 2018 Peter Robinson 1.14.2-2 +- Add sys/sysmacros.h include fix patch + +* Sun Apr 29 2018 Peter Robinson 1.14.2-1 +- New upstream release 1.14.2 + +* Fri Feb 09 2018 Fedora Release Engineering - 1.12.5-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Jan 18 2018 Igor Gnatenko - 1.12.5-6 +- Remove obsolete scriptlets + +* Thu Nov 02 2017 Hans de Goede - 1.12.5-5 +- Fix libv4lconvert failing on some hardware (rhbz#1508706) + +* Thu Aug 03 2017 Fedora Release Engineering - 1.12.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 1.12.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon May 15 2017 Fedora Release Engineering - 1.12.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild + +* Fri May 12 2017 Hans de Goede - 1.12.5-1 +- New upstream bugfix release 1.12.5 + +* Mon May 8 2017 Hans de Goede - 1.12.4-1 +- New upstream release 1.12.4 + +* Sun Mar 12 2017 Peter Robinson 1.12.3-1 +- New upstream release 1.12.3 + +* Sun Feb 12 2017 Peter Robinson 1.12.2-1 +- New upstream release 1.12.2 +- Add new CEC utils + +* Sat Feb 11 2017 Fedora Release Engineering - 1.10.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Dec 15 2016 Hans de Goede - 1.10.1-1 +- New upstream release 1.10.1 +- Fix FTBFS (rhbz#1402087) + +* Tue Mar 1 2016 Hans de Goede - 1.10.0-2 +- Update upside down table to apply to PEGATRON laptops (rhbz#1311545) + +* Wed Feb 24 2016 Hans de Goede - 1.10.0-1 +- Upgrade to new upstream release 1.10.0 +- Use qt5 instead of qt4 for qv4l2 + +* Fri Feb 05 2016 Fedora Release Engineering - 1.8.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Oct 12 2015 Gregor Jasny - 1.8.1-1 +- Upgrade to version 1.8.1 + +* Fri Jun 19 2015 Fedora Release Engineering - 1.6.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat May 02 2015 Kalev Lember - 1.6.2-2 +- Rebuilt for GCC 5 C++11 ABI change * Sat Nov 22 2014 Mauro Carvalho Chehab - 1.6.2-1 - Update to version 1.6.2 with contains several bugfixes -* Fri Oct 7 2011 Mauro Carvalho Chehab 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. +* Thu Nov 20 2014 Hans de Goede - 1.6.0-2 +- Fix crash when decoding 1920x1080 jpeg to YUV420 + +* Sun Oct 05 2014 Mauro Carvalho Chehab - 1.6.0-1 +- Upgrade to version 1.6.0 + +* Mon Sep 08 2014 Mauro Carvalho Chehab - 1.4.0-1 +- Upgrade to version 1.4.0 + +* 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 - 1.0.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sun Jun 08 2014 Fedora Release Engineering - 1.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sat Aug 3 2013 Hans de Goede - 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 - 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 - 0.9.5-1 +- New upstream release 0.9.5 (rhbz#970412) +- Modernize specfile a bit + +* Fri Feb 15 2013 Fedora Release Engineering - 0.8.8-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Mon Jan 21 2013 Adam Tkac - 0.8.8-5 +- rebuild due to "jpeg8-ABI" feature drop + +* Fri Dec 21 2012 Adam Tkac - 0.8.8-4 +- rebuild against new libjpeg + +* Sun Jul 22 2012 Fedora Release Engineering - 0.8.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Mon Jul 9 2012 Hans de Goede - 0.8.8-2 +- Cherry-pick 2 patches from upstream git fixing an exotic crash (rhbz#838279) + +* Tue May 22 2012 Hans de Goede - 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 - 0.8.7-1 +- New upstream release 0.8.7 +- Fixes rhbz#807656 + +* Sat Jan 14 2012 Fedora Release Engineering - 0.8.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Sun Jul 17 2011 Hans de Goede 0.8.5-1 +- New upstream release 0.8.5 +- Fixes rhbz#711492 + +* Wed Jun 1 2011 Hans de Goede 0.8.4-1 +- New upstream release 0.8.4 * Sat Mar 12 2011 Hans de Goede 0.8.3-2 - Add a .desktop file for qv4l2