diff --git a/.gitignore b/.gitignore index 517a3c9..64e9daf 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ -/v4l-utils-*.tar.bz2 -/v4l-utils-*.tar.xz +/v4l-utils-1.6.2.tar.bz2 diff --git a/0001-media-headers-sync.patch b/0001-media-headers-sync.patch new file mode 100644 index 0000000..cd5c5e4 --- /dev/null +++ b/0001-media-headers-sync.patch @@ -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 ++ * ++ * 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 new file mode 100644 index 0000000..edbc9a0 --- /dev/null +++ b/0002-use-etc-for-keymaps.patch @@ -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" + diff --git a/0003-add-media-header.patch b/0003-add-media-header.patch new file mode 100644 index 0000000..5ad7f17 --- /dev/null +++ b/0003-add-media-header.patch @@ -0,0 +1,164 @@ +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 new file mode 100644 index 0000000..91e26f8 --- /dev/null +++ b/0004-fix-qtgl-detection.patch @@ -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 diff --git a/sbin-location.diff b/sbin-location.diff deleted file mode 100644 index 2030a8e..0000000 --- a/sbin-location.diff +++ /dev/null @@ -1,13 +0,0 @@ -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 4efc8c2..8ba1ca2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (v4l-utils-1.32.0.tar.xz) = 5bf24c28ec66a7ac1a0c9ee976521d825d4c2f8abbbeb59c7ac55e89db10dde6ebb643d238d217d636d79fda363244558fee1effe8c5e8c573c1a3e957fe391f +9cb3c178f937954e65bf30920af433ef v4l-utils-1.6.2.tar.bz2 diff --git a/v4l-utils.spec b/v4l-utils.spec index 0cbadaa..0bc9525 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -1,142 +1,59 @@ -%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.32.0 -Release: 4%{?dist} +Version: 1.6.2 +Release: 3%{?dist} Summary: Utilities for video4linux and DVB devices -# 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 +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: %{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 +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 %description -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. +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. %package devel-tools Summary: Utilities for v4l2 / DVB driver development and debugging -License: GPL-2.0-or-later AND GPL-2.0-only -Requires: libv4l%{?_isa} = %{version}-%{release} +# decode_tm6000 is GPLv2 only +License: GPLv2+ and GPLv2 %description devel-tools -Utilities for v4l2 driver authors: v4l2-compliance and +Utilities for v4l2 / DVB driver authors: decode_tm6000, v4l2-compliance and v4l2-dbg. -%if %{with qt} %package -n qv4l2 Summary: QT v4l2 test control and streaming test application -# 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} +License: GPLv2+ %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 -# /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 +Group: Development/Libraries +License: GPLv2 %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 -License: LGPL-2.1-or-later AND LGPL-2.1-or-later WITH Linux-syscall-note +Group: Development/Libraries +License: GPLv2 Requires: libdvbv5%{?_isa} = %{version}-%{release} %description -n libdvbv5-devel @@ -144,419 +61,101 @@ The libdvbv5-devel package contains libraries and header files for developing applications that use libdvbv5. -%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 +%setup -q +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 + %build -%meson -Dbpf=auto \ - -Ddoxygen-doc=disabled -Ddoxygen-man=false -Ddoxygen-html=false \ - %{!?with_dvb:-Dlibdvbv5=disabled} \ - %{!?with_qt:-Dqv4l2=disabled -Dqvidcap=disabled} +%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_build %install -%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} +%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}/ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop -desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qvidcap.desktop -%endif -%find_lang %{name} -%find_lang libdvbv5 +%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 || : -%ldconfig_scriptlets -n libv4l - -%ldconfig_scriptlets -n libdvbv5 - -%files -f %{name}.lang -%doc README.md -%{_bindir}/cec-ctl -%{_bindir}/cec-follower -%{_bindir}/edid-decode +%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 %{_bindir}/media-ctl %{_bindir}/rds-ctl %{_bindir}/v4l2-ctl %{_bindir}/v4l2-sysfs-path -%{_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* +%{_mandir}/man1/*.1* %files devel-tools -%doc README.md -%{_bindir}/cec-compliance +%doc README +%{_bindir}/decode_tm6000 %{_bindir}/v4l2-compliance -%{_mandir}/man1/cec-compliance.1* -%{_mandir}/man1/v4l2-compliance.1* %{_sbindir}/v4l2-dbg -%files -n libv4l -%license COPYING.libv4l COPYING -%doc README.libv4l -%dir %{_libdir}/libv4l -%{_libdir}/libv4l/v4l* -%{_libdir}/libv4l/plugins -%{_libdir}/libv4l*.so.* - -%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 +%doc README %{_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 +%doc COPYING ChangeLog lib/libdvbv5/README +%{_libdir}/libdvbv5* %files -n libdvbv5-devel %{_includedir}/libdvbv5/*.h -%{_libdir}/libdvbv5*.so %{_libdir}/pkgconfig/libdvbv5*.pc - -%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 +%{_mandir}/man3/*.3* %changelog -* Fri Jul 17 2026 Fedora Release Engineering - 1.32.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild +* Wed Dec 10 2014 Mauro Carvalho Chehab - 1.6.2-3 +- Remove libv4l from packaging, to avoid override RHEL6 one -* 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 +* Mon Nov 24 2014 Mauro Carvalho Chehab - 1.6.2-2 +- Enable qv4l2 package * Sat Nov 22 2014 Mauro Carvalho Chehab - 1.6.2-1 - Update to version 1.6.2 with contains several bugfixes -* 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 +* 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. * Sat Mar 12 2011 Hans de Goede 0.8.3-2 - Add a .desktop file for qv4l2