From a36da5846c6e286211465e179d3ecefd800ebddc Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 22 Jan 2022 03:44:07 +0000 Subject: [PATCH 01/32] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- v4l-utils.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/v4l-utils.spec b/v4l-utils.spec index 9ce2401..4335b72 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -1,6 +1,6 @@ Name: v4l-utils Version: 1.22.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Utilities for video4linux and DVB devices # libdvbv5, dvbv5 utils, ir-keytable and v4l2-sysfs-path are GPLv2 only License: GPLv2+ and GPLv2 @@ -202,6 +202,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %changelog +* 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 From 3e88f30b32917ee1c695544ce2f0cbbe156f80bb Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 23 Jul 2022 11:37:23 +0000 Subject: [PATCH 02/32] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- v4l-utils.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/v4l-utils.spec b/v4l-utils.spec index 4335b72..f32c426 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -1,6 +1,6 @@ Name: v4l-utils Version: 1.22.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Utilities for video4linux and DVB devices # libdvbv5, dvbv5 utils, ir-keytable and v4l2-sysfs-path are GPLv2 only License: GPLv2+ and GPLv2 @@ -202,6 +202,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %changelog +* 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 From 8dbaa426a8c2dd57ccaad3624f095a2bc91e626e Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Sun, 23 Oct 2022 21:32:42 +0200 Subject: [PATCH 03/32] Fix libv4lconvert issues when stride > width (with some formats) --- ...x-v4lconvert_yuv420_to_rgb-bgr24-not.patch | 168 ++++++++++++++++++ ...x-v4lconvert_rgb565_to_rgb-bgr24-not.patch | 91 ++++++++++ ...x-v4lconvert_nv12_-not-taking-stride.patch | 125 +++++++++++++ ...x-v4lconvert_nv16_to_yuyv-not-taking.patch | 97 ++++++++++ v4l-utils.spec | 9 +- 5 files changed, 489 insertions(+), 1 deletion(-) create mode 100644 0002-libv4lconvert-Fix-v4lconvert_yuv420_to_rgb-bgr24-not.patch create mode 100644 0003-libv4lconvert-Fix-v4lconvert_rgb565_to_rgb-bgr24-not.patch create mode 100644 0004-libv4lconvert-Fix-v4lconvert_nv12_-not-taking-stride.patch create mode 100644 0005-libv4lconvert-Fix-v4lconvert_nv16_to_yuyv-not-taking.patch diff --git a/0002-libv4lconvert-Fix-v4lconvert_yuv420_to_rgb-bgr24-not.patch b/0002-libv4lconvert-Fix-v4lconvert_yuv420_to_rgb-bgr24-not.patch new file mode 100644 index 0000000..da5963f --- /dev/null +++ b/0002-libv4lconvert-Fix-v4lconvert_yuv420_to_rgb-bgr24-not.patch @@ -0,0 +1,168 @@ +From c5e108f7ef4f8ba7761ddc7bad8dc88f6cae82cc Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Sun, 16 Oct 2022 11:58:58 +0200 +Subject: [PATCH v4l-utils 2/5] libv4lconvert: Fix + v4lconvert_yuv420_to_rgb/bgr24() not taking stride into account + +The atomisp driver can generate V4L2_PIX_FMT_YUV420 buffers where +stride != width. Where as v4lconvert_yuv420_to_rgb/bgr24() assumed that +stride == width is always true. + +Add a stride argument to v4lconvert_yuv420_to_rgb/bgr24() to fix this. + +Signed-off-by: Hans de Goede +--- + lib/libv4lconvert/libv4lconvert-priv.h | 4 ++-- + lib/libv4lconvert/libv4lconvert.c | 12 +++++------ + lib/libv4lconvert/rgbyuv.c | 30 ++++++++++++++++---------- + 3 files changed, 27 insertions(+), 19 deletions(-) + +diff --git a/lib/libv4lconvert/libv4lconvert-priv.h b/lib/libv4lconvert/libv4lconvert-priv.h +index 6b9128ce..495f726d 100644 +--- a/lib/libv4lconvert/libv4lconvert-priv.h ++++ b/lib/libv4lconvert/libv4lconvert-priv.h +@@ -118,10 +118,10 @@ void v4lconvert_rgb24_to_yuv420(const unsigned char *src, unsigned char *dest, + const struct v4l2_format *src_fmt, int bgr, int yvu, int bpp); + + void v4lconvert_yuv420_to_rgb24(const unsigned char *src, unsigned char *dst, +- int width, int height, int yvu); ++ int width, int height, int stride, int yvu); + + void v4lconvert_yuv420_to_bgr24(const unsigned char *src, unsigned char *dst, +- int width, int height, int yvu); ++ int width, int height, int stride, int yvu); + + void v4lconvert_yuyv_to_rgb24(const unsigned char *src, unsigned char *dst, + int width, int height, int stride); +diff --git a/lib/libv4lconvert/libv4lconvert.c b/lib/libv4lconvert/libv4lconvert.c +index e794ec00..e5d5ddde 100644 +--- a/lib/libv4lconvert/libv4lconvert.c ++++ b/lib/libv4lconvert/libv4lconvert.c +@@ -905,11 +905,11 @@ static int v4lconvert_convert_pixfmt(struct v4lconvert_data *data, + switch (dest_pix_fmt) { + case V4L2_PIX_FMT_RGB24: + v4lconvert_yuv420_to_rgb24(data->convert_pixfmt_buf, dest, width, +- height, yvu); ++ height, bytesperline, yvu); + break; + case V4L2_PIX_FMT_BGR24: + v4lconvert_yuv420_to_bgr24(data->convert_pixfmt_buf, dest, width, +- height, yvu); ++ height, bytesperline, yvu); + break; + } + break; +@@ -1398,11 +1398,11 @@ static int v4lconvert_convert_pixfmt(struct v4lconvert_data *data, + switch (dest_pix_fmt) { + case V4L2_PIX_FMT_RGB24: + v4lconvert_yuv420_to_rgb24(src, dest, width, +- height, 0); ++ height, bytesperline, 0); + break; + case V4L2_PIX_FMT_BGR24: + v4lconvert_yuv420_to_bgr24(src, dest, width, +- height, 0); ++ height, bytesperline, 0); + break; + case V4L2_PIX_FMT_YUV420: + memcpy(dest, src, width * height * 3 / 2); +@@ -1422,11 +1422,11 @@ static int v4lconvert_convert_pixfmt(struct v4lconvert_data *data, + switch (dest_pix_fmt) { + case V4L2_PIX_FMT_RGB24: + v4lconvert_yuv420_to_rgb24(src, dest, width, +- height, 1); ++ height, bytesperline, 1); + break; + case V4L2_PIX_FMT_BGR24: + v4lconvert_yuv420_to_bgr24(src, dest, width, +- height, 1); ++ height, bytesperline, 1); + break; + case V4L2_PIX_FMT_YUV420: + v4lconvert_swap_uv(src, dest, fmt); +diff --git a/lib/libv4lconvert/rgbyuv.c b/lib/libv4lconvert/rgbyuv.c +index b54b4577..1ca821ab 100644 +--- a/lib/libv4lconvert/rgbyuv.c ++++ b/lib/libv4lconvert/rgbyuv.c +@@ -93,7 +93,7 @@ void v4lconvert_rgb24_to_yuv420(const unsigned char *src, unsigned char *dest, + #define CLIP(color) (unsigned char)(((color) > 0xFF) ? 0xff : (((color) < 0) ? 0 : (color))) + + void v4lconvert_yuv420_to_bgr24(const unsigned char *src, unsigned char *dest, +- int width, int height, int yvu) ++ int width, int height, int stride, int yvu) + { + int i, j; + +@@ -101,11 +101,11 @@ void v4lconvert_yuv420_to_bgr24(const unsigned char *src, unsigned char *dest, + const unsigned char *usrc, *vsrc; + + if (yvu) { +- vsrc = src + width * height; +- usrc = vsrc + (width * height) / 4; ++ vsrc = src + stride * height; ++ usrc = vsrc + (stride * height) / 4; + } else { +- usrc = src + width * height; +- vsrc = usrc + (width * height) / 4; ++ usrc = src + stride * height; ++ vsrc = usrc + (stride * height) / 4; + } + + for (i = 0; i < height; i++) { +@@ -138,16 +138,20 @@ void v4lconvert_yuv420_to_bgr24(const unsigned char *src, unsigned char *dest, + usrc++; + vsrc++; + } ++ ysrc += stride - width; + /* Rewind u and v for next line */ + if (!(i & 1)) { + usrc -= width / 2; + vsrc -= width / 2; ++ } else { ++ usrc += (stride - width) / 2; ++ vsrc += (stride - width) / 2; + } + } + } + + void v4lconvert_yuv420_to_rgb24(const unsigned char *src, unsigned char *dest, +- int width, int height, int yvu) ++ int width, int height, int stride, int yvu) + { + int i, j; + +@@ -155,11 +159,11 @@ void v4lconvert_yuv420_to_rgb24(const unsigned char *src, unsigned char *dest, + const unsigned char *usrc, *vsrc; + + if (yvu) { +- vsrc = src + width * height; +- usrc = vsrc + (width * height) / 4; ++ vsrc = src + stride * height; ++ usrc = vsrc + (stride * height) / 4; + } else { +- usrc = src + width * height; +- vsrc = usrc + (width * height) / 4; ++ usrc = src + stride * height; ++ vsrc = usrc + (stride * height) / 4; + } + + for (i = 0; i < height; i++) { +@@ -192,10 +196,14 @@ void v4lconvert_yuv420_to_rgb24(const unsigned char *src, unsigned char *dest, + usrc++; + vsrc++; + } ++ ysrc += stride - width; + /* Rewind u and v for next line */ +- if (!(i&1)) { ++ if (!(i & 1)) { + usrc -= width / 2; + vsrc -= width / 2; ++ } else { ++ usrc += (stride - width) / 2; ++ vsrc += (stride - width) / 2; + } + } + } +-- +2.37.3 + diff --git a/0003-libv4lconvert-Fix-v4lconvert_rgb565_to_rgb-bgr24-not.patch b/0003-libv4lconvert-Fix-v4lconvert_rgb565_to_rgb-bgr24-not.patch new file mode 100644 index 0000000..93c5c45 --- /dev/null +++ b/0003-libv4lconvert-Fix-v4lconvert_rgb565_to_rgb-bgr24-not.patch @@ -0,0 +1,91 @@ +From e864210793795a50b88e77af5b7d29e6bad584e8 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Sun, 16 Oct 2022 15:40:02 +0200 +Subject: [PATCH v4l-utils 3/5] libv4lconvert: Fix + v4lconvert_rgb565_to_rgb/bgr24() not taking stride into account + +The atomisp driver can generate V4L2_PIX_FMT_RGB565 buffers where +stride != width. Where as v4lconvert_rgb565_to_rgb/bgr24() assumed that +stride == width is always true. + +Add a stride argument to v4lconvert_rgb565_to_rgb/bgr24() to fix this. + +Signed-off-by: Hans de Goede +--- + lib/libv4lconvert/libv4lconvert-priv.h | 4 ++-- + lib/libv4lconvert/libv4lconvert.c | 4 ++-- + lib/libv4lconvert/rgbyuv.c | 6 ++++-- + 3 files changed, 8 insertions(+), 6 deletions(-) + +diff --git a/lib/libv4lconvert/libv4lconvert-priv.h b/lib/libv4lconvert/libv4lconvert-priv.h +index 495f726d..f87a43a4 100644 +--- a/lib/libv4lconvert/libv4lconvert-priv.h ++++ b/lib/libv4lconvert/libv4lconvert-priv.h +@@ -178,10 +178,10 @@ int v4lconvert_y10b_to_yuv420(struct v4lconvert_data *data, + const unsigned char *src, unsigned char *dest, int width, int height); + + void v4lconvert_rgb565_to_rgb24(const unsigned char *src, unsigned char *dest, +- int width, int height); ++ int width, int height, int stride); + + void v4lconvert_rgb565_to_bgr24(const unsigned char *src, unsigned char *dest, +- int width, int height); ++ int width, int height, int stride); + + void v4lconvert_rgb565_to_yuv420(const unsigned char *src, unsigned char *dest, + const struct v4l2_format *src_fmt, int yvu); +diff --git a/lib/libv4lconvert/libv4lconvert.c b/lib/libv4lconvert/libv4lconvert.c +index e5d5ddde..77f9eca5 100644 +--- a/lib/libv4lconvert/libv4lconvert.c ++++ b/lib/libv4lconvert/libv4lconvert.c +@@ -1282,10 +1282,10 @@ static int v4lconvert_convert_pixfmt(struct v4lconvert_data *data, + } + switch (dest_pix_fmt) { + case V4L2_PIX_FMT_RGB24: +- v4lconvert_rgb565_to_rgb24(src, dest, width, height); ++ v4lconvert_rgb565_to_rgb24(src, dest, width, height, bytesperline); + break; + case V4L2_PIX_FMT_BGR24: +- v4lconvert_rgb565_to_bgr24(src, dest, width, height); ++ v4lconvert_rgb565_to_bgr24(src, dest, width, height, bytesperline); + break; + case V4L2_PIX_FMT_YUV420: + v4lconvert_rgb565_to_yuv420(src, dest, fmt, 0); +diff --git a/lib/libv4lconvert/rgbyuv.c b/lib/libv4lconvert/rgbyuv.c +index 1ca821ab..f9017016 100644 +--- a/lib/libv4lconvert/rgbyuv.c ++++ b/lib/libv4lconvert/rgbyuv.c +@@ -511,7 +511,7 @@ void v4lconvert_swap_uv(const unsigned char *src, unsigned char *dest, + } + + void v4lconvert_rgb565_to_rgb24(const unsigned char *src, unsigned char *dest, +- int width, int height) ++ int width, int height, int stride) + { + int j; + while (--height >= 0) { +@@ -525,11 +525,12 @@ void v4lconvert_rgb565_to_rgb24(const unsigned char *src, unsigned char *dest, + + src += 2; + } ++ src += stride - 2 * width; + } + } + + void v4lconvert_rgb565_to_bgr24(const unsigned char *src, unsigned char *dest, +- int width, int height) ++ int width, int height, int stride) + { + int j; + while (--height >= 0) { +@@ -543,6 +544,7 @@ void v4lconvert_rgb565_to_bgr24(const unsigned char *src, unsigned char *dest, + + src += 2; + } ++ src += stride - 2 * width; + } + } + +-- +2.37.3 + diff --git a/0004-libv4lconvert-Fix-v4lconvert_nv12_-not-taking-stride.patch b/0004-libv4lconvert-Fix-v4lconvert_nv12_-not-taking-stride.patch new file mode 100644 index 0000000..1ed8f80 --- /dev/null +++ b/0004-libv4lconvert-Fix-v4lconvert_nv12_-not-taking-stride.patch @@ -0,0 +1,125 @@ +From 8cbe059875452301c61db309d3087fb496b7223d Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Sun, 16 Oct 2022 16:04:13 +0200 +Subject: [PATCH v4l-utils 4/5] libv4lconvert: Fix v4lconvert_nv12_*() not + taking stride into account + +The atomisp driver can generate V4L2_PIX_FMT_NV12 buffers where +stride != width. Where as v4lconvert_nv12_*() assumed that +stride == width is always true. + +Add a stride argument to v4lconvert_nv12_*() to fix this. + +Signed-off-by: Hans de Goede +--- + lib/libv4lconvert/libv4lconvert-priv.h | 4 ++-- + lib/libv4lconvert/libv4lconvert.c | 8 ++++---- + lib/libv4lconvert/rgbyuv.c | 18 +++++++++++++----- + 3 files changed, 19 insertions(+), 11 deletions(-) + +diff --git a/lib/libv4lconvert/libv4lconvert-priv.h b/lib/libv4lconvert/libv4lconvert-priv.h +index f87a43a4..f361f2a0 100644 +--- a/lib/libv4lconvert/libv4lconvert-priv.h ++++ b/lib/libv4lconvert/libv4lconvert-priv.h +@@ -287,10 +287,10 @@ void v4lconvert_hsv_to_rgb24(const unsigned char *src, unsigned char *dest, + int width, int height, int bgr, int Xin, unsigned char hsv_enc); + + void v4lconvert_nv12_to_rgb24(const unsigned char *src, unsigned char *dest, +- int width, int height, int bgr); ++ int width, int height, int stride, int bgr); + + void v4lconvert_nv12_to_yuv420(const unsigned char *src, unsigned char *dest, +- int width, int height, int yvu); ++ int width, int height, int stride, int yvu); + + void v4lconvert_rotate90(unsigned char *src, unsigned char *dest, + struct v4l2_format *fmt); +diff --git a/lib/libv4lconvert/libv4lconvert.c b/lib/libv4lconvert/libv4lconvert.c +index 77f9eca5..d0d38286 100644 +--- a/lib/libv4lconvert/libv4lconvert.c ++++ b/lib/libv4lconvert/libv4lconvert.c +@@ -937,16 +937,16 @@ static int v4lconvert_convert_pixfmt(struct v4lconvert_data *data, + case V4L2_PIX_FMT_NV12: + switch (dest_pix_fmt) { + case V4L2_PIX_FMT_RGB24: +- v4lconvert_nv12_to_rgb24(src, dest, width, height, 0); ++ v4lconvert_nv12_to_rgb24(src, dest, width, height, bytesperline, 0); + break; + case V4L2_PIX_FMT_BGR24: +- v4lconvert_nv12_to_rgb24(src, dest, width, height, 1); ++ v4lconvert_nv12_to_rgb24(src, dest, width, height, bytesperline, 1); + break; + case V4L2_PIX_FMT_YUV420: +- v4lconvert_nv12_to_yuv420(src, dest, width, height, 0); ++ v4lconvert_nv12_to_yuv420(src, dest, width, height, bytesperline, 0); + break; + case V4L2_PIX_FMT_YVU420: +- v4lconvert_nv12_to_yuv420(src, dest, width, height, 1); ++ v4lconvert_nv12_to_yuv420(src, dest, width, height, bytesperline, 1); + break; + } + break; +diff --git a/lib/libv4lconvert/rgbyuv.c b/lib/libv4lconvert/rgbyuv.c +index f9017016..e9fe6df9 100644 +--- a/lib/libv4lconvert/rgbyuv.c ++++ b/lib/libv4lconvert/rgbyuv.c +@@ -857,11 +857,11 @@ void v4lconvert_hsv_to_rgb24(const unsigned char *src, unsigned char *dest, + } + + void v4lconvert_nv12_to_rgb24(const unsigned char *src, unsigned char *dest, +- int width, int height, int bgr) ++ int width, int height, int stride, int bgr) + { + int i, j; + const unsigned char *ysrc = src; +- const unsigned char *uvsrc = src + width * height; ++ const unsigned char *uvsrc = src + stride * height; + + for (i = 0; i < height; i++) { + for (j = 0; j < width; j ++) { +@@ -879,18 +879,21 @@ void v4lconvert_nv12_to_rgb24(const unsigned char *src, unsigned char *dest, + uvsrc += 2; + } + ++ ysrc += stride - width; + /* Rewind u and v for next line */ + if (!(i&1)) + uvsrc -= width; ++ else ++ uvsrc += stride - width; + } + } + + void v4lconvert_nv12_to_yuv420(const unsigned char *src, unsigned char *dest, +- int width, int height, int yvu) ++ int width, int height, int stride, int yvu) + { + int i, j; + const unsigned char *ysrc = src; +- const unsigned char *uvsrc = src + width * height; ++ const unsigned char *uvsrc = src + stride * height; + unsigned char *ydst = dest; + unsigned char *udst, *vdst; + +@@ -902,7 +905,7 @@ void v4lconvert_nv12_to_yuv420(const unsigned char *src, unsigned char *dest, + vdst = udst + ((width / 2) * (height / 2)); + } + +- for (i = 0; i < height; i++) ++ for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + *ydst++ = *ysrc++; + if (((i % 2) == 0) && ((j % 2) == 0)) { +@@ -910,4 +913,9 @@ void v4lconvert_nv12_to_yuv420(const unsigned char *src, unsigned char *dest, + *vdst++ = *uvsrc++; + } + } ++ ++ ysrc += stride - width; ++ if ((i % 2) == 0) ++ uvsrc += stride - width; ++ } + } +-- +2.37.3 + diff --git a/0005-libv4lconvert-Fix-v4lconvert_nv16_to_yuyv-not-taking.patch b/0005-libv4lconvert-Fix-v4lconvert_nv16_to_yuyv-not-taking.patch new file mode 100644 index 0000000..ddad7bf --- /dev/null +++ b/0005-libv4lconvert-Fix-v4lconvert_nv16_to_yuyv-not-taking.patch @@ -0,0 +1,97 @@ +From 2cfd6dc33d7f7743843e9ad65d31baef5508f636 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Sun, 16 Oct 2022 16:15:53 +0200 +Subject: [PATCH v4l-utils 5/5] libv4lconvert: Fix v4lconvert_nv16_to_yuyv() + not taking stride into account + +The atomisp driver can generate V4L2_PIX_FMT_NV16 buffers where +stride != width. Where as v4lconvert_nv16_to_yuyv() assumed that +stride == width is always true. + +Add a stride argument to v4lconvert_nv16_to_yuyv() to fix this. + +Signed-off-by: Hans de Goede +--- + lib/libv4lconvert/libv4lconvert-priv.h | 2 +- + lib/libv4lconvert/libv4lconvert.c | 8 ++++---- + lib/libv4lconvert/rgbyuv.c | 16 ++++++++++------ + 3 files changed, 15 insertions(+), 11 deletions(-) + +diff --git a/lib/libv4lconvert/libv4lconvert-priv.h b/lib/libv4lconvert/libv4lconvert-priv.h +index f361f2a0..00a03f9e 100644 +--- a/lib/libv4lconvert/libv4lconvert-priv.h ++++ b/lib/libv4lconvert/libv4lconvert-priv.h +@@ -133,7 +133,7 @@ void v4lconvert_yuyv_to_yuv420(const unsigned char *src, unsigned char *dst, + int width, int height, int stride, int yvu); + + void v4lconvert_nv16_to_yuyv(const unsigned char *src, unsigned char *dest, +- int width, int height); ++ int width, int height, int stride); + + void v4lconvert_yvyu_to_rgb24(const unsigned char *src, unsigned char *dst, + int width, int height, int stride); +diff --git a/lib/libv4lconvert/libv4lconvert.c b/lib/libv4lconvert/libv4lconvert.c +index d0d38286..b07bf3ba 100644 +--- a/lib/libv4lconvert/libv4lconvert.c ++++ b/lib/libv4lconvert/libv4lconvert.c +@@ -1445,10 +1445,10 @@ static int v4lconvert_convert_pixfmt(struct v4lconvert_data *data, + if (!tmpbuf) + return v4lconvert_oom_error(data); + +- v4lconvert_nv16_to_yuyv(src, tmpbuf, width, height); ++ v4lconvert_nv16_to_yuyv(src, tmpbuf, width, height, bytesperline); + src_pix_fmt = V4L2_PIX_FMT_YUYV; + src = tmpbuf; +- bytesperline = bytesperline * 2; ++ bytesperline = width * 2; + /* fall through */ + } + case V4L2_PIX_FMT_YUYV: +@@ -1482,10 +1482,10 @@ static int v4lconvert_convert_pixfmt(struct v4lconvert_data *data, + return v4lconvert_oom_error(data); + + /* Note NV61 is NV16 with U and V swapped so this becomes yvyu. */ +- v4lconvert_nv16_to_yuyv(src, tmpbuf, width, height); ++ v4lconvert_nv16_to_yuyv(src, tmpbuf, width, height, bytesperline); + src_pix_fmt = V4L2_PIX_FMT_YVYU; + src = tmpbuf; +- bytesperline = bytesperline * 2; ++ bytesperline = width * 2; + /* fall through */ + } + case V4L2_PIX_FMT_YVYU: +diff --git a/lib/libv4lconvert/rgbyuv.c b/lib/libv4lconvert/rgbyuv.c +index e9fe6df9..ce31a1ba 100644 +--- a/lib/libv4lconvert/rgbyuv.c ++++ b/lib/libv4lconvert/rgbyuv.c +@@ -304,17 +304,21 @@ void v4lconvert_yuyv_to_yuv420(const unsigned char *src, unsigned char *dest, + } + + void v4lconvert_nv16_to_yuyv(const unsigned char *src, unsigned char *dest, +- int width, int height) ++ int width, int height, int stride) + { + const unsigned char *y, *cbcr; +- int count = 0; ++ int i, j; + + y = src; +- cbcr = src + width*height; ++ cbcr = src + stride * height; + +- while (count++ < width*height) { +- *dest++ = *y++; +- *dest++ = *cbcr++; ++ for (i = 0; i < height; i++) { ++ for (j = 0; j < width; j++) { ++ *dest++ = *y++; ++ *dest++ = *cbcr++; ++ } ++ y += stride - width; ++ cbcr += stride - width; + } + } + +-- +2.37.3 + diff --git a/v4l-utils.spec b/v4l-utils.spec index f32c426..9ac4aaf 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -1,6 +1,6 @@ Name: v4l-utils Version: 1.22.1 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Utilities for video4linux and DVB devices # libdvbv5, dvbv5 utils, ir-keytable and v4l2-sysfs-path are GPLv2 only License: GPLv2+ and GPLv2 @@ -8,6 +8,10 @@ URL: http://www.linuxtv.org/downloads/v4l-utils/ Source0: http://linuxtv.org/downloads/v4l-utils/v4l-utils-%{version}.tar.bz2 Patch0: 0001-utils-v4l2-TPG-Update-use-of-typeof.patch +Patch1: 0002-libv4lconvert-Fix-v4lconvert_yuv420_to_rgb-bgr24-not.patch +Patch2: 0003-libv4lconvert-Fix-v4lconvert_rgb565_to_rgb-bgr24-not.patch +Patch3: 0004-libv4lconvert-Fix-v4lconvert_nv12_-not-taking-stride.patch +Patch4: 0005-libv4lconvert-Fix-v4lconvert_nv16_to_yuyv-not-taking.patch BuildRequires: alsa-lib-devel BuildRequires: desktop-file-utils @@ -202,6 +206,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %changelog +* 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 From a258507f9dba61673bfaa3a6249311d478befa34 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Sun, 30 Oct 2022 21:02:03 +0100 Subject: [PATCH 04/32] Add BuildRequires: systemd for /usr/share/pkgconfig/udev.pc --- v4l-utils.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/v4l-utils.spec b/v4l-utils.spec index 9ac4aaf..492fecd 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -22,6 +22,8 @@ BuildRequires: libjpeg-devel BuildRequires: make BuildRequires: qt5-qtbase-devel BuildRequires: systemd-devel +# For /usr/share/pkgconfig/udev.pc +BuildRequires: systemd # BPF decoder dependencies %define with_bpf 1 From e5760726967bf816cd1e2519bdd1397e54f2a9ff Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 21 Jan 2023 06:03:04 +0000 Subject: [PATCH 05/32] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- v4l-utils.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/v4l-utils.spec b/v4l-utils.spec index 492fecd..2e99339 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -1,6 +1,6 @@ Name: v4l-utils Version: 1.22.1 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Utilities for video4linux and DVB devices # libdvbv5, dvbv5 utils, ir-keytable and v4l2-sysfs-path are GPLv2 only License: GPLv2+ and GPLv2 @@ -208,6 +208,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %changelog +* 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) From f20083905689337819f7fcfb59adabe40bbf5025 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Mon, 20 Mar 2023 11:15:07 +0100 Subject: [PATCH 06/32] Bump to git's version, based on meson v4l-utils now uses meson. Add support for it on rawhide. Signed-off-by: Mauro Carvalho Chehab --- .gitignore | 1 + ...-utils-v4l2-TPG-Update-use-of-typeof.patch | 51 ------ ...x-v4lconvert_yuv420_to_rgb-bgr24-not.patch | 168 ------------------ ...x-v4lconvert_rgb565_to_rgb-bgr24-not.patch | 91 ---------- ...x-v4lconvert_nv12_-not-taking-stride.patch | 125 ------------- ...x-v4lconvert_nv16_to_yuyv-not-taking.patch | 97 ---------- sources | 2 +- v4l-utils.spec | 57 +++--- 8 files changed, 33 insertions(+), 559 deletions(-) delete mode 100644 0001-utils-v4l2-TPG-Update-use-of-typeof.patch delete mode 100644 0002-libv4lconvert-Fix-v4lconvert_yuv420_to_rgb-bgr24-not.patch delete mode 100644 0003-libv4lconvert-Fix-v4lconvert_rgb565_to_rgb-bgr24-not.patch delete mode 100644 0004-libv4lconvert-Fix-v4lconvert_nv12_-not-taking-stride.patch delete mode 100644 0005-libv4lconvert-Fix-v4lconvert_nv16_to_yuyv-not-taking.patch diff --git a/.gitignore b/.gitignore index 7553d11..600bda2 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /v4l-utils-*.tar.bz2 +/v4l-utils-1.25.0.tar.xz diff --git a/0001-utils-v4l2-TPG-Update-use-of-typeof.patch b/0001-utils-v4l2-TPG-Update-use-of-typeof.patch deleted file mode 100644 index e6b61d3..0000000 --- a/0001-utils-v4l2-TPG-Update-use-of-typeof.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 9f799271e5e92cb84cbce002896ce7c25dad4fd8 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -Date: Mon, 27 Dec 2021 15:25:21 +0000 -Subject: [PATCH] utils: v4l2 TPG: Update use of typeof - -It seems the way to use typeof with newer gcc's is by using -__typeof__ - -Signed-off-by: Peter Robinson ---- - utils/common/v4l2-tpg.h | 6 +++--- - utils/common/v4l2-tpg.patch | 6 +++--- - 2 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/utils/common/v4l2-tpg.h b/utils/common/v4l2-tpg.h -index ecdb6eba..ba351c28 100644 ---- a/utils/common/v4l2-tpg.h -+++ b/utils/common/v4l2-tpg.h -@@ -46,9 +46,9 @@ static inline void *vzalloc(unsigned long size) - } - - #define clamp(val, min, max) ({ \ -- typeof(val) __val = (val); \ -- typeof(min) __min = (min); \ -- typeof(max) __max = (max); \ -+ __typeof__(val) __val = (val); \ -+ __typeof__(min) __min = (min); \ -+ __typeof__(max) __max = (max); \ - (void) (&__val == &__min); \ - (void) (&__val == &__max); \ - __val = __val < __min ? __min: __val; \ -diff --git a/utils/common/v4l2-tpg.patch b/utils/common/v4l2-tpg.patch -index 2381ebd9..d7edc1f3 100644 ---- a/utils/common/v4l2-tpg.patch -+++ b/utils/common/v4l2-tpg.patch -@@ -214,9 +214,9 @@ index 0b0ddb87..91da74ec 100644 - +} - + - +#define clamp(val, min, max) ({ \ --+ typeof(val) __val = (val); \ --+ typeof(min) __min = (min); \ --+ typeof(max) __max = (max); \ -++ __typeof__(val) __val = (val); \ -++ __typeof__(min) __min = (min); \ -++ __typeof__(max) __max = (max); \ - + (void) (&__val == &__min); \ - + (void) (&__val == &__max); \ - + __val = __val < __min ? __min: __val; \ --- -2.33.1 - diff --git a/0002-libv4lconvert-Fix-v4lconvert_yuv420_to_rgb-bgr24-not.patch b/0002-libv4lconvert-Fix-v4lconvert_yuv420_to_rgb-bgr24-not.patch deleted file mode 100644 index da5963f..0000000 --- a/0002-libv4lconvert-Fix-v4lconvert_yuv420_to_rgb-bgr24-not.patch +++ /dev/null @@ -1,168 +0,0 @@ -From c5e108f7ef4f8ba7761ddc7bad8dc88f6cae82cc Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Sun, 16 Oct 2022 11:58:58 +0200 -Subject: [PATCH v4l-utils 2/5] libv4lconvert: Fix - v4lconvert_yuv420_to_rgb/bgr24() not taking stride into account - -The atomisp driver can generate V4L2_PIX_FMT_YUV420 buffers where -stride != width. Where as v4lconvert_yuv420_to_rgb/bgr24() assumed that -stride == width is always true. - -Add a stride argument to v4lconvert_yuv420_to_rgb/bgr24() to fix this. - -Signed-off-by: Hans de Goede ---- - lib/libv4lconvert/libv4lconvert-priv.h | 4 ++-- - lib/libv4lconvert/libv4lconvert.c | 12 +++++------ - lib/libv4lconvert/rgbyuv.c | 30 ++++++++++++++++---------- - 3 files changed, 27 insertions(+), 19 deletions(-) - -diff --git a/lib/libv4lconvert/libv4lconvert-priv.h b/lib/libv4lconvert/libv4lconvert-priv.h -index 6b9128ce..495f726d 100644 ---- a/lib/libv4lconvert/libv4lconvert-priv.h -+++ b/lib/libv4lconvert/libv4lconvert-priv.h -@@ -118,10 +118,10 @@ void v4lconvert_rgb24_to_yuv420(const unsigned char *src, unsigned char *dest, - const struct v4l2_format *src_fmt, int bgr, int yvu, int bpp); - - void v4lconvert_yuv420_to_rgb24(const unsigned char *src, unsigned char *dst, -- int width, int height, int yvu); -+ int width, int height, int stride, int yvu); - - void v4lconvert_yuv420_to_bgr24(const unsigned char *src, unsigned char *dst, -- int width, int height, int yvu); -+ int width, int height, int stride, int yvu); - - void v4lconvert_yuyv_to_rgb24(const unsigned char *src, unsigned char *dst, - int width, int height, int stride); -diff --git a/lib/libv4lconvert/libv4lconvert.c b/lib/libv4lconvert/libv4lconvert.c -index e794ec00..e5d5ddde 100644 ---- a/lib/libv4lconvert/libv4lconvert.c -+++ b/lib/libv4lconvert/libv4lconvert.c -@@ -905,11 +905,11 @@ static int v4lconvert_convert_pixfmt(struct v4lconvert_data *data, - switch (dest_pix_fmt) { - case V4L2_PIX_FMT_RGB24: - v4lconvert_yuv420_to_rgb24(data->convert_pixfmt_buf, dest, width, -- height, yvu); -+ height, bytesperline, yvu); - break; - case V4L2_PIX_FMT_BGR24: - v4lconvert_yuv420_to_bgr24(data->convert_pixfmt_buf, dest, width, -- height, yvu); -+ height, bytesperline, yvu); - break; - } - break; -@@ -1398,11 +1398,11 @@ static int v4lconvert_convert_pixfmt(struct v4lconvert_data *data, - switch (dest_pix_fmt) { - case V4L2_PIX_FMT_RGB24: - v4lconvert_yuv420_to_rgb24(src, dest, width, -- height, 0); -+ height, bytesperline, 0); - break; - case V4L2_PIX_FMT_BGR24: - v4lconvert_yuv420_to_bgr24(src, dest, width, -- height, 0); -+ height, bytesperline, 0); - break; - case V4L2_PIX_FMT_YUV420: - memcpy(dest, src, width * height * 3 / 2); -@@ -1422,11 +1422,11 @@ static int v4lconvert_convert_pixfmt(struct v4lconvert_data *data, - switch (dest_pix_fmt) { - case V4L2_PIX_FMT_RGB24: - v4lconvert_yuv420_to_rgb24(src, dest, width, -- height, 1); -+ height, bytesperline, 1); - break; - case V4L2_PIX_FMT_BGR24: - v4lconvert_yuv420_to_bgr24(src, dest, width, -- height, 1); -+ height, bytesperline, 1); - break; - case V4L2_PIX_FMT_YUV420: - v4lconvert_swap_uv(src, dest, fmt); -diff --git a/lib/libv4lconvert/rgbyuv.c b/lib/libv4lconvert/rgbyuv.c -index b54b4577..1ca821ab 100644 ---- a/lib/libv4lconvert/rgbyuv.c -+++ b/lib/libv4lconvert/rgbyuv.c -@@ -93,7 +93,7 @@ void v4lconvert_rgb24_to_yuv420(const unsigned char *src, unsigned char *dest, - #define CLIP(color) (unsigned char)(((color) > 0xFF) ? 0xff : (((color) < 0) ? 0 : (color))) - - void v4lconvert_yuv420_to_bgr24(const unsigned char *src, unsigned char *dest, -- int width, int height, int yvu) -+ int width, int height, int stride, int yvu) - { - int i, j; - -@@ -101,11 +101,11 @@ void v4lconvert_yuv420_to_bgr24(const unsigned char *src, unsigned char *dest, - const unsigned char *usrc, *vsrc; - - if (yvu) { -- vsrc = src + width * height; -- usrc = vsrc + (width * height) / 4; -+ vsrc = src + stride * height; -+ usrc = vsrc + (stride * height) / 4; - } else { -- usrc = src + width * height; -- vsrc = usrc + (width * height) / 4; -+ usrc = src + stride * height; -+ vsrc = usrc + (stride * height) / 4; - } - - for (i = 0; i < height; i++) { -@@ -138,16 +138,20 @@ void v4lconvert_yuv420_to_bgr24(const unsigned char *src, unsigned char *dest, - usrc++; - vsrc++; - } -+ ysrc += stride - width; - /* Rewind u and v for next line */ - if (!(i & 1)) { - usrc -= width / 2; - vsrc -= width / 2; -+ } else { -+ usrc += (stride - width) / 2; -+ vsrc += (stride - width) / 2; - } - } - } - - void v4lconvert_yuv420_to_rgb24(const unsigned char *src, unsigned char *dest, -- int width, int height, int yvu) -+ int width, int height, int stride, int yvu) - { - int i, j; - -@@ -155,11 +159,11 @@ void v4lconvert_yuv420_to_rgb24(const unsigned char *src, unsigned char *dest, - const unsigned char *usrc, *vsrc; - - if (yvu) { -- vsrc = src + width * height; -- usrc = vsrc + (width * height) / 4; -+ vsrc = src + stride * height; -+ usrc = vsrc + (stride * height) / 4; - } else { -- usrc = src + width * height; -- vsrc = usrc + (width * height) / 4; -+ usrc = src + stride * height; -+ vsrc = usrc + (stride * height) / 4; - } - - for (i = 0; i < height; i++) { -@@ -192,10 +196,14 @@ void v4lconvert_yuv420_to_rgb24(const unsigned char *src, unsigned char *dest, - usrc++; - vsrc++; - } -+ ysrc += stride - width; - /* Rewind u and v for next line */ -- if (!(i&1)) { -+ if (!(i & 1)) { - usrc -= width / 2; - vsrc -= width / 2; -+ } else { -+ usrc += (stride - width) / 2; -+ vsrc += (stride - width) / 2; - } - } - } --- -2.37.3 - diff --git a/0003-libv4lconvert-Fix-v4lconvert_rgb565_to_rgb-bgr24-not.patch b/0003-libv4lconvert-Fix-v4lconvert_rgb565_to_rgb-bgr24-not.patch deleted file mode 100644 index 93c5c45..0000000 --- a/0003-libv4lconvert-Fix-v4lconvert_rgb565_to_rgb-bgr24-not.patch +++ /dev/null @@ -1,91 +0,0 @@ -From e864210793795a50b88e77af5b7d29e6bad584e8 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Sun, 16 Oct 2022 15:40:02 +0200 -Subject: [PATCH v4l-utils 3/5] libv4lconvert: Fix - v4lconvert_rgb565_to_rgb/bgr24() not taking stride into account - -The atomisp driver can generate V4L2_PIX_FMT_RGB565 buffers where -stride != width. Where as v4lconvert_rgb565_to_rgb/bgr24() assumed that -stride == width is always true. - -Add a stride argument to v4lconvert_rgb565_to_rgb/bgr24() to fix this. - -Signed-off-by: Hans de Goede ---- - lib/libv4lconvert/libv4lconvert-priv.h | 4 ++-- - lib/libv4lconvert/libv4lconvert.c | 4 ++-- - lib/libv4lconvert/rgbyuv.c | 6 ++++-- - 3 files changed, 8 insertions(+), 6 deletions(-) - -diff --git a/lib/libv4lconvert/libv4lconvert-priv.h b/lib/libv4lconvert/libv4lconvert-priv.h -index 495f726d..f87a43a4 100644 ---- a/lib/libv4lconvert/libv4lconvert-priv.h -+++ b/lib/libv4lconvert/libv4lconvert-priv.h -@@ -178,10 +178,10 @@ int v4lconvert_y10b_to_yuv420(struct v4lconvert_data *data, - const unsigned char *src, unsigned char *dest, int width, int height); - - void v4lconvert_rgb565_to_rgb24(const unsigned char *src, unsigned char *dest, -- int width, int height); -+ int width, int height, int stride); - - void v4lconvert_rgb565_to_bgr24(const unsigned char *src, unsigned char *dest, -- int width, int height); -+ int width, int height, int stride); - - void v4lconvert_rgb565_to_yuv420(const unsigned char *src, unsigned char *dest, - const struct v4l2_format *src_fmt, int yvu); -diff --git a/lib/libv4lconvert/libv4lconvert.c b/lib/libv4lconvert/libv4lconvert.c -index e5d5ddde..77f9eca5 100644 ---- a/lib/libv4lconvert/libv4lconvert.c -+++ b/lib/libv4lconvert/libv4lconvert.c -@@ -1282,10 +1282,10 @@ static int v4lconvert_convert_pixfmt(struct v4lconvert_data *data, - } - switch (dest_pix_fmt) { - case V4L2_PIX_FMT_RGB24: -- v4lconvert_rgb565_to_rgb24(src, dest, width, height); -+ v4lconvert_rgb565_to_rgb24(src, dest, width, height, bytesperline); - break; - case V4L2_PIX_FMT_BGR24: -- v4lconvert_rgb565_to_bgr24(src, dest, width, height); -+ v4lconvert_rgb565_to_bgr24(src, dest, width, height, bytesperline); - break; - case V4L2_PIX_FMT_YUV420: - v4lconvert_rgb565_to_yuv420(src, dest, fmt, 0); -diff --git a/lib/libv4lconvert/rgbyuv.c b/lib/libv4lconvert/rgbyuv.c -index 1ca821ab..f9017016 100644 ---- a/lib/libv4lconvert/rgbyuv.c -+++ b/lib/libv4lconvert/rgbyuv.c -@@ -511,7 +511,7 @@ void v4lconvert_swap_uv(const unsigned char *src, unsigned char *dest, - } - - void v4lconvert_rgb565_to_rgb24(const unsigned char *src, unsigned char *dest, -- int width, int height) -+ int width, int height, int stride) - { - int j; - while (--height >= 0) { -@@ -525,11 +525,12 @@ void v4lconvert_rgb565_to_rgb24(const unsigned char *src, unsigned char *dest, - - src += 2; - } -+ src += stride - 2 * width; - } - } - - void v4lconvert_rgb565_to_bgr24(const unsigned char *src, unsigned char *dest, -- int width, int height) -+ int width, int height, int stride) - { - int j; - while (--height >= 0) { -@@ -543,6 +544,7 @@ void v4lconvert_rgb565_to_bgr24(const unsigned char *src, unsigned char *dest, - - src += 2; - } -+ src += stride - 2 * width; - } - } - --- -2.37.3 - diff --git a/0004-libv4lconvert-Fix-v4lconvert_nv12_-not-taking-stride.patch b/0004-libv4lconvert-Fix-v4lconvert_nv12_-not-taking-stride.patch deleted file mode 100644 index 1ed8f80..0000000 --- a/0004-libv4lconvert-Fix-v4lconvert_nv12_-not-taking-stride.patch +++ /dev/null @@ -1,125 +0,0 @@ -From 8cbe059875452301c61db309d3087fb496b7223d Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Sun, 16 Oct 2022 16:04:13 +0200 -Subject: [PATCH v4l-utils 4/5] libv4lconvert: Fix v4lconvert_nv12_*() not - taking stride into account - -The atomisp driver can generate V4L2_PIX_FMT_NV12 buffers where -stride != width. Where as v4lconvert_nv12_*() assumed that -stride == width is always true. - -Add a stride argument to v4lconvert_nv12_*() to fix this. - -Signed-off-by: Hans de Goede ---- - lib/libv4lconvert/libv4lconvert-priv.h | 4 ++-- - lib/libv4lconvert/libv4lconvert.c | 8 ++++---- - lib/libv4lconvert/rgbyuv.c | 18 +++++++++++++----- - 3 files changed, 19 insertions(+), 11 deletions(-) - -diff --git a/lib/libv4lconvert/libv4lconvert-priv.h b/lib/libv4lconvert/libv4lconvert-priv.h -index f87a43a4..f361f2a0 100644 ---- a/lib/libv4lconvert/libv4lconvert-priv.h -+++ b/lib/libv4lconvert/libv4lconvert-priv.h -@@ -287,10 +287,10 @@ void v4lconvert_hsv_to_rgb24(const unsigned char *src, unsigned char *dest, - int width, int height, int bgr, int Xin, unsigned char hsv_enc); - - void v4lconvert_nv12_to_rgb24(const unsigned char *src, unsigned char *dest, -- int width, int height, int bgr); -+ int width, int height, int stride, int bgr); - - void v4lconvert_nv12_to_yuv420(const unsigned char *src, unsigned char *dest, -- int width, int height, int yvu); -+ int width, int height, int stride, int yvu); - - void v4lconvert_rotate90(unsigned char *src, unsigned char *dest, - struct v4l2_format *fmt); -diff --git a/lib/libv4lconvert/libv4lconvert.c b/lib/libv4lconvert/libv4lconvert.c -index 77f9eca5..d0d38286 100644 ---- a/lib/libv4lconvert/libv4lconvert.c -+++ b/lib/libv4lconvert/libv4lconvert.c -@@ -937,16 +937,16 @@ static int v4lconvert_convert_pixfmt(struct v4lconvert_data *data, - case V4L2_PIX_FMT_NV12: - switch (dest_pix_fmt) { - case V4L2_PIX_FMT_RGB24: -- v4lconvert_nv12_to_rgb24(src, dest, width, height, 0); -+ v4lconvert_nv12_to_rgb24(src, dest, width, height, bytesperline, 0); - break; - case V4L2_PIX_FMT_BGR24: -- v4lconvert_nv12_to_rgb24(src, dest, width, height, 1); -+ v4lconvert_nv12_to_rgb24(src, dest, width, height, bytesperline, 1); - break; - case V4L2_PIX_FMT_YUV420: -- v4lconvert_nv12_to_yuv420(src, dest, width, height, 0); -+ v4lconvert_nv12_to_yuv420(src, dest, width, height, bytesperline, 0); - break; - case V4L2_PIX_FMT_YVU420: -- v4lconvert_nv12_to_yuv420(src, dest, width, height, 1); -+ v4lconvert_nv12_to_yuv420(src, dest, width, height, bytesperline, 1); - break; - } - break; -diff --git a/lib/libv4lconvert/rgbyuv.c b/lib/libv4lconvert/rgbyuv.c -index f9017016..e9fe6df9 100644 ---- a/lib/libv4lconvert/rgbyuv.c -+++ b/lib/libv4lconvert/rgbyuv.c -@@ -857,11 +857,11 @@ void v4lconvert_hsv_to_rgb24(const unsigned char *src, unsigned char *dest, - } - - void v4lconvert_nv12_to_rgb24(const unsigned char *src, unsigned char *dest, -- int width, int height, int bgr) -+ int width, int height, int stride, int bgr) - { - int i, j; - const unsigned char *ysrc = src; -- const unsigned char *uvsrc = src + width * height; -+ const unsigned char *uvsrc = src + stride * height; - - for (i = 0; i < height; i++) { - for (j = 0; j < width; j ++) { -@@ -879,18 +879,21 @@ void v4lconvert_nv12_to_rgb24(const unsigned char *src, unsigned char *dest, - uvsrc += 2; - } - -+ ysrc += stride - width; - /* Rewind u and v for next line */ - if (!(i&1)) - uvsrc -= width; -+ else -+ uvsrc += stride - width; - } - } - - void v4lconvert_nv12_to_yuv420(const unsigned char *src, unsigned char *dest, -- int width, int height, int yvu) -+ int width, int height, int stride, int yvu) - { - int i, j; - const unsigned char *ysrc = src; -- const unsigned char *uvsrc = src + width * height; -+ const unsigned char *uvsrc = src + stride * height; - unsigned char *ydst = dest; - unsigned char *udst, *vdst; - -@@ -902,7 +905,7 @@ void v4lconvert_nv12_to_yuv420(const unsigned char *src, unsigned char *dest, - vdst = udst + ((width / 2) * (height / 2)); - } - -- for (i = 0; i < height; i++) -+ for (i = 0; i < height; i++) { - for (j = 0; j < width; j++) { - *ydst++ = *ysrc++; - if (((i % 2) == 0) && ((j % 2) == 0)) { -@@ -910,4 +913,9 @@ void v4lconvert_nv12_to_yuv420(const unsigned char *src, unsigned char *dest, - *vdst++ = *uvsrc++; - } - } -+ -+ ysrc += stride - width; -+ if ((i % 2) == 0) -+ uvsrc += stride - width; -+ } - } --- -2.37.3 - diff --git a/0005-libv4lconvert-Fix-v4lconvert_nv16_to_yuyv-not-taking.patch b/0005-libv4lconvert-Fix-v4lconvert_nv16_to_yuyv-not-taking.patch deleted file mode 100644 index ddad7bf..0000000 --- a/0005-libv4lconvert-Fix-v4lconvert_nv16_to_yuyv-not-taking.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 2cfd6dc33d7f7743843e9ad65d31baef5508f636 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Sun, 16 Oct 2022 16:15:53 +0200 -Subject: [PATCH v4l-utils 5/5] libv4lconvert: Fix v4lconvert_nv16_to_yuyv() - not taking stride into account - -The atomisp driver can generate V4L2_PIX_FMT_NV16 buffers where -stride != width. Where as v4lconvert_nv16_to_yuyv() assumed that -stride == width is always true. - -Add a stride argument to v4lconvert_nv16_to_yuyv() to fix this. - -Signed-off-by: Hans de Goede ---- - lib/libv4lconvert/libv4lconvert-priv.h | 2 +- - lib/libv4lconvert/libv4lconvert.c | 8 ++++---- - lib/libv4lconvert/rgbyuv.c | 16 ++++++++++------ - 3 files changed, 15 insertions(+), 11 deletions(-) - -diff --git a/lib/libv4lconvert/libv4lconvert-priv.h b/lib/libv4lconvert/libv4lconvert-priv.h -index f361f2a0..00a03f9e 100644 ---- a/lib/libv4lconvert/libv4lconvert-priv.h -+++ b/lib/libv4lconvert/libv4lconvert-priv.h -@@ -133,7 +133,7 @@ void v4lconvert_yuyv_to_yuv420(const unsigned char *src, unsigned char *dst, - int width, int height, int stride, int yvu); - - void v4lconvert_nv16_to_yuyv(const unsigned char *src, unsigned char *dest, -- int width, int height); -+ int width, int height, int stride); - - void v4lconvert_yvyu_to_rgb24(const unsigned char *src, unsigned char *dst, - int width, int height, int stride); -diff --git a/lib/libv4lconvert/libv4lconvert.c b/lib/libv4lconvert/libv4lconvert.c -index d0d38286..b07bf3ba 100644 ---- a/lib/libv4lconvert/libv4lconvert.c -+++ b/lib/libv4lconvert/libv4lconvert.c -@@ -1445,10 +1445,10 @@ static int v4lconvert_convert_pixfmt(struct v4lconvert_data *data, - if (!tmpbuf) - return v4lconvert_oom_error(data); - -- v4lconvert_nv16_to_yuyv(src, tmpbuf, width, height); -+ v4lconvert_nv16_to_yuyv(src, tmpbuf, width, height, bytesperline); - src_pix_fmt = V4L2_PIX_FMT_YUYV; - src = tmpbuf; -- bytesperline = bytesperline * 2; -+ bytesperline = width * 2; - /* fall through */ - } - case V4L2_PIX_FMT_YUYV: -@@ -1482,10 +1482,10 @@ static int v4lconvert_convert_pixfmt(struct v4lconvert_data *data, - return v4lconvert_oom_error(data); - - /* Note NV61 is NV16 with U and V swapped so this becomes yvyu. */ -- v4lconvert_nv16_to_yuyv(src, tmpbuf, width, height); -+ v4lconvert_nv16_to_yuyv(src, tmpbuf, width, height, bytesperline); - src_pix_fmt = V4L2_PIX_FMT_YVYU; - src = tmpbuf; -- bytesperline = bytesperline * 2; -+ bytesperline = width * 2; - /* fall through */ - } - case V4L2_PIX_FMT_YVYU: -diff --git a/lib/libv4lconvert/rgbyuv.c b/lib/libv4lconvert/rgbyuv.c -index e9fe6df9..ce31a1ba 100644 ---- a/lib/libv4lconvert/rgbyuv.c -+++ b/lib/libv4lconvert/rgbyuv.c -@@ -304,17 +304,21 @@ void v4lconvert_yuyv_to_yuv420(const unsigned char *src, unsigned char *dest, - } - - void v4lconvert_nv16_to_yuyv(const unsigned char *src, unsigned char *dest, -- int width, int height) -+ int width, int height, int stride) - { - const unsigned char *y, *cbcr; -- int count = 0; -+ int i, j; - - y = src; -- cbcr = src + width*height; -+ cbcr = src + stride * height; - -- while (count++ < width*height) { -- *dest++ = *y++; -- *dest++ = *cbcr++; -+ for (i = 0; i < height; i++) { -+ for (j = 0; j < width; j++) { -+ *dest++ = *y++; -+ *dest++ = *cbcr++; -+ } -+ y += stride - width; -+ cbcr += stride - width; - } - } - --- -2.37.3 - diff --git a/sources b/sources index 5639e3a..646fdfb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (v4l-utils-1.22.1.tar.bz2) = 8a634d8995d13f453dfaf90ca5d0dfb26f2f4b10a0d200d76a949c46f77040d12fc0a5b35e05d7b1ba68bcfc85a445be5a5ab1d4a7d4eabfe3a254038ccc6170 +SHA512 (v4l-utils-1.25.0.tar.xz) = 3415c95512029a579d361620d9be442e8d5f6bcaeec4f97d3079360c25fbf784e6fb2dfafe29861e177fc8e97190cbfc749586ddf5b3b08426461e42ebd880b7 diff --git a/v4l-utils.spec b/v4l-utils.spec index 2e99339..8429b75 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -1,17 +1,13 @@ Name: v4l-utils -Version: 1.22.1 -Release: 5%{?dist} + +Version: 1.25.0 +Release: 1%{?dist} Summary: Utilities for video4linux and DVB devices # libdvbv5, dvbv5 utils, ir-keytable and v4l2-sysfs-path are GPLv2 only License: GPLv2+ and GPLv2 URL: http://www.linuxtv.org/downloads/v4l-utils/ -Source0: http://linuxtv.org/downloads/v4l-utils/v4l-utils-%{version}.tar.bz2 -Patch0: 0001-utils-v4l2-TPG-Update-use-of-typeof.patch -Patch1: 0002-libv4lconvert-Fix-v4lconvert_yuv420_to_rgb-bgr24-not.patch -Patch2: 0003-libv4lconvert-Fix-v4lconvert_rgb565_to_rgb-bgr24-not.patch -Patch3: 0004-libv4lconvert-Fix-v4lconvert_nv12_-not-taking-stride.patch -Patch4: 0005-libv4lconvert-Fix-v4lconvert_nv16_to_yuyv-not-taking.patch +Source0: http://linuxtv.org/downloads/v4l-utils/v4l-utils-%{version}.tar.xz BuildRequires: alsa-lib-devel BuildRequires: desktop-file-utils @@ -19,14 +15,15 @@ BuildRequires: doxygen BuildRequires: gettext BuildRequires: kernel-headers BuildRequires: libjpeg-devel -BuildRequires: make BuildRequires: qt5-qtbase-devel BuildRequires: systemd-devel # For /usr/share/pkgconfig/udev.pc BuildRequires: systemd +BuildRequires: meson >= 0.56 +BuildRequires: json-c-devel # BPF decoder dependencies -%define with_bpf 1 +%define with_bpf 0 %if %{with_bpf} BuildRequires: elfutils-libelf-devel clang @@ -94,6 +91,14 @@ License: GPLv2 Libraries to control, scan and zap on Digital TV channels +%package -n libdvbv5-gconv +Summary: Gconv files with the charsets For Digital TV. +License: GPLv2 + +%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 libv4l-devel Summary: Development files for libv4l License: LGPLv2+ @@ -117,24 +122,16 @@ files for developing applications that use libdvbv5. %prep %autosetup -p1 +%meson -Dbpf=disabled -Ddoxygen-man=true -Ddoxygen-html=false %build -export CXXFLAGS="-std=c++14 $RPM_OPT_FLAGS" -%configure --disable-static --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_build -make doxygen-run - +#export CXXFLAGS="-std=c++14 $RPM_OPT_FLAGS" +%meson_build %install -%make_install +%meson_install find $RPM_BUILD_ROOT -name '*.la' -delete rm -f $RPM_BUILD_ROOT%{_libdir}/{v4l1compat.so,v4l2convert.so} -mkdir -p $RPM_BUILD_ROOT%{_mandir}/man3/ -cp -arv %{_builddir}/%{name}-%{version}/doxygen-doc/man/man3 $RPM_BUILD_ROOT%{_mandir}/ -rm $RPM_BUILD_ROOT%{_mandir}/man3/_*3 desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %find_lang %{name} %find_lang libdvbv5 @@ -145,7 +142,7 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %ldconfig_scriptlets -n libdvbv5 %files -f %{name}.lang -%doc README +%doc README.md %dir %{_sysconfdir}/rc_keymaps %config(noreplace) %{_sysconfdir}/rc_maps.cfg %{_udevrulesdir}/70-infrared.rules @@ -166,16 +163,17 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %exclude %{_mandir}/man1/v4l2-compliance.1* %files devel-tools -%doc README +%doc README.md %{_bindir}/decode_tm6000 %{_bindir}/v4l2-compliance %{_mandir}/man1/v4l2-compliance.1* %{_sbindir}/v4l2-dbg %files -n qv4l2 -%doc README +%doc README.md %{_bindir}/qv4l2 %{_bindir}/qvidcap +%{_bindir}/v4l2-tracer %{_datadir}/applications/qv4l2.desktop %{_datadir}/applications/qvidcap.desktop %{_datadir}/icons/hicolor/*/apps/qv4l2.* @@ -185,7 +183,7 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %files -n libv4l %doc ChangeLog README.libv4l TODO -%license COPYING.libv4l COPYING +%license COPYING.libv4l COPYING.libdvbv5 COPYING %{_libdir}/libv4l %{_libdir}/libv4l*.so.* @@ -200,6 +198,10 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %license COPYING %{_libdir}/libdvbv5*.so.* +%files -n libdvbv5-gconv +%{_libdir}/gconv/*.so +%{_libdir}/gconv/gconv-modules + %files -n libdvbv5-devel %{_includedir}/libdvbv5/*.h %{_libdir}/libdvbv5*.so @@ -208,6 +210,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %changelog +* 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 From d5ebe3b6275969f43eb197a9b618fe476d1172c8 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Mon, 20 Mar 2023 21:07:24 +0100 Subject: [PATCH 07/32] Enable BPF There was an issue upstream with the BPF detection logic. Now that this is fixed, enable it. Signed-off-by: Mauro Carvalho Chehab --- sources | 2 +- v4l-utils.spec | 15 +++++++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/sources b/sources index 646fdfb..dd0d379 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (v4l-utils-1.25.0.tar.xz) = 3415c95512029a579d361620d9be442e8d5f6bcaeec4f97d3079360c25fbf784e6fb2dfafe29861e177fc8e97190cbfc749586ddf5b3b08426461e42ebd880b7 +SHA512 (v4l-utils-1.25.0.tar.xz) = 7c585526f6d8cf129e5ea03cc5128a468258bed79156a514933b131d500bc8ffb242065b8d8a0bb424c19be3d417989d52badcd2782d537055ba18fd8d4b5efd diff --git a/v4l-utils.spec b/v4l-utils.spec index 8429b75..5843e12 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -1,7 +1,7 @@ Name: v4l-utils Version: 1.25.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Utilities for video4linux and DVB devices # libdvbv5, dvbv5 utils, ir-keytable and v4l2-sysfs-path are GPLv2 only License: GPLv2+ and GPLv2 @@ -23,10 +23,10 @@ BuildRequires: meson >= 0.56 BuildRequires: json-c-devel # BPF decoder dependencies -%define with_bpf 0 +%define with_bpf 1 %if %{with_bpf} -BuildRequires: elfutils-libelf-devel clang +BuildRequires: elfutils-libelf-devel clang libbpf-devel %endif # For /lib/udev/rules.d ownership @@ -122,7 +122,14 @@ files for developing applications that use libdvbv5. %prep %autosetup -p1 -%meson -Dbpf=disabled -Ddoxygen-man=true -Ddoxygen-html=false + +%meson -Dbpf=auto -Ddoxygen-man=true -Ddoxygen-html=false + +#%if %{with_bpf} +#%meson -Ddoxygen-man=true -Ddoxygen-html=false +#%else +#%meson -Dbpf=disabled -Ddoxygen-man=true -Ddoxygen-html=false +#%endif %build #export CXXFLAGS="-std=c++14 $RPM_OPT_FLAGS" From b613b26134d1745808dd7b3a71318715e934bf24 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 22 Jul 2023 17:21:33 +0000 Subject: [PATCH 08/32] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- v4l-utils.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/v4l-utils.spec b/v4l-utils.spec index 5843e12..52f389b 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -1,7 +1,7 @@ Name: v4l-utils Version: 1.25.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Utilities for video4linux and DVB devices # libdvbv5, dvbv5 utils, ir-keytable and v4l2-sysfs-path are GPLv2 only License: GPLv2+ and GPLv2 @@ -217,6 +217,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %changelog +* 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 From 1efce8897a107927a9b72c40645c43f356e871ce Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Wed, 16 Aug 2023 10:50:41 -0400 Subject: [PATCH 09/32] Disable qv4l2 in RHEL 10 builds Qt5 is being dropped from RHEL 10, and qv4l2 is not shipped in RHEL. --- v4l-utils.spec | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/v4l-utils.spec b/v4l-utils.spec index 52f389b..79d656d 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -1,7 +1,9 @@ +%bcond qt5 %[%{undefined rhel} || 0%{?rhel} < 10] + Name: v4l-utils Version: 1.25.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Utilities for video4linux and DVB devices # libdvbv5, dvbv5 utils, ir-keytable and v4l2-sysfs-path are GPLv2 only License: GPLv2+ and GPLv2 @@ -15,7 +17,9 @@ BuildRequires: doxygen BuildRequires: gettext BuildRequires: kernel-headers BuildRequires: libjpeg-devel +%if %{with qt5} BuildRequires: qt5-qtbase-devel +%endif BuildRequires: systemd-devel # For /usr/share/pkgconfig/udev.pc BuildRequires: systemd @@ -50,6 +54,7 @@ Utilities for v4l2 / DVB driver authors: decode_tm6000, v4l2-compliance and v4l2-dbg. +%if %{with qt5} %package -n qv4l2 Summary: QT v4l2 test control and streaming test application License: GPLv2+ @@ -57,6 +62,7 @@ Requires: libv4l%{?_isa} = %{version}-%{release} %description -n qv4l2 QT v4l2 test control and streaming test application. +%endif %package -n libv4l @@ -123,7 +129,8 @@ files for developing applications that use libdvbv5. %prep %autosetup -p1 -%meson -Dbpf=auto -Ddoxygen-man=true -Ddoxygen-html=false +%meson -Dbpf=auto -Ddoxygen-man=true -Ddoxygen-html=false \ + %{!?with_qt5:-Dqv4l2=disabled -Dqvidcap=disabled -Dv4l2-tracer=disabled} #%if %{with_bpf} #%meson -Ddoxygen-man=true -Ddoxygen-html=false @@ -139,7 +146,9 @@ files for developing applications that use libdvbv5. %meson_install find $RPM_BUILD_ROOT -name '*.la' -delete rm -f $RPM_BUILD_ROOT%{_libdir}/{v4l1compat.so,v4l2convert.so} +%if %{with qt5} desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop +%endif %find_lang %{name} %find_lang libdvbv5 @@ -166,7 +175,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %{_bindir}/v4l2-sysfs-path %{_mandir}/man1/*.1* %{_mandir}/man5/*.5* +%if %{with qt5} %exclude %{_mandir}/man1/qv4l2.1* +%endif %exclude %{_mandir}/man1/v4l2-compliance.1* %files devel-tools @@ -176,6 +187,7 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %{_mandir}/man1/v4l2-compliance.1* %{_sbindir}/v4l2-dbg +%if %{with qt5} %files -n qv4l2 %doc README.md %{_bindir}/qv4l2 @@ -187,6 +199,7 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %{_datadir}/icons/hicolor/*/apps/qvidcap.* %{_mandir}/man1/qv4l2.1* %{_mandir}/man1/qvidcap.1* +%endif %files -n libv4l %doc ChangeLog README.libv4l TODO @@ -217,6 +230,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %changelog +* 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 From d029009dbc4978e3343a5abb9b0b081c95afb9c9 Mon Sep 17 00:00:00 2001 From: Niels De Graef Date: Fri, 13 Oct 2023 11:21:07 +0000 Subject: [PATCH 10/32] SPDX Migration --- v4l-utils.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/v4l-utils.spec b/v4l-utils.spec index 79d656d..af8b904 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -6,7 +6,7 @@ Version: 1.25.0 Release: 4%{?dist} Summary: Utilities for video4linux and DVB devices # libdvbv5, dvbv5 utils, ir-keytable and v4l2-sysfs-path are GPLv2 only -License: GPLv2+ and GPLv2 +License: GPL-2.0-or-later AND GPL-2.0-only URL: http://www.linuxtv.org/downloads/v4l-utils/ Source0: http://linuxtv.org/downloads/v4l-utils/v4l-utils-%{version}.tar.xz From a84293a4c11627713306ca8734c6144ed2d56226 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Mon, 4 Dec 2023 13:10:17 +0000 Subject: [PATCH 11/32] 1.26.0 --- .gitignore | 1 + sources | 2 +- v4l-utils.spec | 19 ++++++++++++------- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 600bda2..cfd48f4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /v4l-utils-*.tar.bz2 /v4l-utils-1.25.0.tar.xz +/v4l-utils-1.26.0.tar.xz diff --git a/sources b/sources index dd0d379..8b4e738 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (v4l-utils-1.25.0.tar.xz) = 7c585526f6d8cf129e5ea03cc5128a468258bed79156a514933b131d500bc8ffb242065b8d8a0bb424c19be3d417989d52badcd2782d537055ba18fd8d4b5efd +SHA512 (v4l-utils-1.26.0.tar.xz) = 7820a91beb5cfc8e3ecf54145f2503fbbbf879abf1551d5bba5d8454f5a93242daaa51ff4636959d3434aa0d352bdf35afcd5f56e0eb9ab50c8191e8f6283f4a diff --git a/v4l-utils.spec b/v4l-utils.spec index af8b904..3bd0488 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -1,9 +1,12 @@ %bcond qt5 %[%{undefined rhel} || 0%{?rhel} < 10] +# BPF decoder dependencies +%define with_bpf 1 + Name: v4l-utils -Version: 1.25.0 -Release: 4%{?dist} +Version: 1.26.0 +Release: 1%{?dist} Summary: Utilities for video4linux and DVB devices # libdvbv5, dvbv5 utils, ir-keytable and v4l2-sysfs-path are GPLv2 only License: GPL-2.0-or-later AND GPL-2.0-only @@ -26,11 +29,10 @@ BuildRequires: systemd BuildRequires: meson >= 0.56 BuildRequires: json-c-devel -# BPF decoder dependencies -%define with_bpf 1 - %if %{with_bpf} -BuildRequires: elfutils-libelf-devel clang libbpf-devel +BuildRequires: clang +BuildRequires: elfutils-libelf-devel +BuildRequires: libbpf-devel %endif # For /lib/udev/rules.d ownership @@ -129,6 +131,7 @@ files for developing applications that use libdvbv5. %prep %autosetup -p1 +%build %meson -Dbpf=auto -Ddoxygen-man=true -Ddoxygen-html=false \ %{!?with_qt5:-Dqv4l2=disabled -Dqvidcap=disabled -Dv4l2-tracer=disabled} @@ -138,7 +141,6 @@ files for developing applications that use libdvbv5. #%meson -Dbpf=disabled -Ddoxygen-man=true -Ddoxygen-html=false #%endif -%build #export CXXFLAGS="-std=c++14 $RPM_OPT_FLAGS" %meson_build @@ -230,6 +232,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %changelog +* 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 From 34a18ca80dd21f9d704c215da3854b5d82f11116 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Wed, 13 Dec 2023 14:48:30 +0000 Subject: [PATCH 12/32] Update to 1.26.1 --- .gitignore | 1 + sources | 2 +- v4l-utils.spec | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index cfd48f4..cd04325 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /v4l-utils-*.tar.bz2 /v4l-utils-1.25.0.tar.xz /v4l-utils-1.26.0.tar.xz +/v4l-utils-1.26.1.tar.xz diff --git a/sources b/sources index 8b4e738..6c5e524 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (v4l-utils-1.26.0.tar.xz) = 7820a91beb5cfc8e3ecf54145f2503fbbbf879abf1551d5bba5d8454f5a93242daaa51ff4636959d3434aa0d352bdf35afcd5f56e0eb9ab50c8191e8f6283f4a +SHA512 (v4l-utils-1.26.1.tar.xz) = a3b12b311977afec410db8b430696e923a24e04f003a5891cc77ddeb667d0b98666a06d31a439c95ce57d9e9c9c2593c5e9dd9e7cf2be002adb95db5b8f00ac8 diff --git a/v4l-utils.spec b/v4l-utils.spec index 3bd0488..54c242f 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -5,7 +5,7 @@ Name: v4l-utils -Version: 1.26.0 +Version: 1.26.1 Release: 1%{?dist} Summary: Utilities for video4linux and DVB devices # libdvbv5, dvbv5 utils, ir-keytable and v4l2-sysfs-path are GPLv2 only @@ -232,6 +232,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %changelog +* 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 From 11eba3b0ebb82fea41919f9e4d853ab339e83046 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Wed, 15 Nov 2023 07:53:14 +0000 Subject: [PATCH 13/32] Migrate to SPDX license (take two) https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_2 --- v4l-utils.spec | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/v4l-utils.spec b/v4l-utils.spec index 54c242f..9906d80 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -8,8 +8,11 @@ Name: v4l-utils Version: 1.26.1 Release: 1%{?dist} Summary: Utilities for video4linux and DVB devices -# libdvbv5, dvbv5 utils, ir-keytable and v4l2-sysfs-path are GPLv2 only -License: GPL-2.0-or-later AND GPL-2.0-only +# 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.xz @@ -47,8 +50,8 @@ v4l2-sysfs-path. %package devel-tools Summary: Utilities for v4l2 / DVB driver development and debugging -# decode_tm6000 is GPLv2 only -License: GPLv2+ and GPLv2 +# decode_tm6000 is GPL-2.0-only +License: GPL-2.0-or-later AND GPL-2.0-only Requires: libv4l%{?_isa} = %{version}-%{release} %description devel-tools @@ -59,7 +62,8 @@ v4l2-dbg. %if %{with qt5} %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 @@ -69,8 +73,10 @@ QT v4l2 test control and streaming test application. %package -n libv4l Summary: Collection of video4linux support libraries -# Some of the decompression helpers are GPLv2, the rest is LGPLv2+ -License: LGPLv2+ and GPLv2 +# 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 @@ -93,7 +99,8 @@ application transparent libv4lconvert conversion where necessary. %package -n libdvbv5 Summary: Libraries to control, scan and zap on Digital TV channels -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 @@ -101,7 +108,7 @@ Libraries to control, scan and zap on Digital TV channels %package -n libdvbv5-gconv Summary: Gconv files with the charsets For Digital TV. -License: GPLv2 +License: LGPL-2.1-or-later %description -n libdvbv5-gconv Some digital TV standards define their own charsets. Add library @@ -109,7 +116,7 @@ support for them: EN 300 468 and ARIB STD-B24 %package -n libv4l-devel Summary: Development files for libv4l -License: LGPLv2+ +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} @@ -120,7 +127,7 @@ developing applications that use libv4l. %package -n libdvbv5-devel Summary: Development files for libdvbv5 -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 From 5429cd4969c2cdebe7a37f3845d5148c7c6d692d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 27 Jan 2024 07:24:18 +0000 Subject: [PATCH 14/32] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- v4l-utils.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/v4l-utils.spec b/v4l-utils.spec index 9906d80..5587ef1 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -6,7 +6,7 @@ Name: v4l-utils Version: 1.26.1 -Release: 1%{?dist} +Release: 2%{?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) @@ -239,6 +239,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %changelog +* 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 From ffadabc174c82a82d4e1e350cb5c04bc5fc25e69 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Wed, 24 Apr 2024 08:14:49 +0100 Subject: [PATCH 15/32] Split dvb tools to it's own sub package --- v4l-utils.spec | 47 ++++++++++++++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 15 deletions(-) diff --git a/v4l-utils.spec b/v4l-utils.spec index 5587ef1..8d733cb 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -4,9 +4,8 @@ %define with_bpf 1 Name: v4l-utils - Version: 1.26.1 -Release: 2%{?dist} +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) @@ -114,6 +113,7 @@ License: LGPL-2.1-or-later Some digital TV standards define their own charsets. Add library support for them: EN 300 468 and ARIB STD-B24 + %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 @@ -135,6 +135,17 @@ 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. + + %prep %autosetup -p1 @@ -172,23 +183,26 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %config(noreplace) %{_sysconfdir}/rc_maps.cfg %{_udevrulesdir}/70-infrared.rules %{_udevrulesdir}/../rc_keymaps/* -%{_bindir}/cx18-ctl %{_bindir}/cec* -%{_bindir}/dvb* %{_bindir}/ir-ctl %{_bindir}/ir-keytable -%{_bindir}/ivtv-ctl %{_bindir}/media-ctl %{_bindir}/rds-ctl %{_bindir}/v4l2-ctl %{_bindir}/v4l2-sysfs-path -%{_mandir}/man1/*.1* -%{_mandir}/man5/*.5* -%if %{with qt5} -%exclude %{_mandir}/man1/qv4l2.1* -%endif +%{_mandir}/man1/cec*.1* +%{_mandir}/man1/ir*.1* +%{_mandir}/man1/qvidcap*.1* +%{_mandir}/man1/v4l*.1* +%{_mandir}/man5/rc_keymap*.5* %exclude %{_mandir}/man1/v4l2-compliance.1* +%files -n dvb-tools +%{_bindir}/cx18-ctl +%{_bindir}/dvb* +%{_bindir}/ivtv-ctl +%{_mandir}/man1/dvb*.1* + %files devel-tools %doc README.md %{_bindir}/decode_tm6000 @@ -211,20 +225,20 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %endif %files -n libv4l -%doc ChangeLog README.libv4l TODO -%license COPYING.libv4l COPYING.libdvbv5 COPYING +%license COPYING.libv4l COPYING +%doc README.libv4l %{_libdir}/libv4l %{_libdir}/libv4l*.so.* %files -n libv4l-devel -%doc README.lib-multi-threading +%doc README.lib-multi-threading ChangeLog TODO %{_includedir}/libv4l*.h %{_libdir}/libv4l*.so %{_libdir}/pkgconfig/libv4l*.pc %files -n libdvbv5 -f libdvbv5.lang -%doc ChangeLog lib/libdvbv5/README -%license COPYING +%license COPYING.libdvbv5 COPYING +%doc lib/libdvbv5/README %{_libdir}/libdvbv5*.so.* %files -n libdvbv5-gconv @@ -239,6 +253,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %changelog +* 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 From 14af80ef1bcc4be8aa38f69f93228ebdf0226f75 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Wed, 24 Apr 2024 15:24:44 +0100 Subject: [PATCH 16/32] Fix location of gconv conflicts --- v4l-utils.spec | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/v4l-utils.spec b/v4l-utils.spec index 8d733cb..84568c7 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -5,7 +5,7 @@ Name: v4l-utils Version: 1.26.1 -Release: 3%{?dist} +Release: 4%{?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) @@ -166,6 +166,8 @@ Utilities and tools for DVB receivers. %meson_install find $RPM_BUILD_ROOT -name '*.la' -delete 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 qt5} desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %endif @@ -243,7 +245,7 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %files -n libdvbv5-gconv %{_libdir}/gconv/*.so -%{_libdir}/gconv/gconv-modules +%{_libdir}/gconv/gconv-modules.d/libdvbv5.conf %files -n libdvbv5-devel %{_includedir}/libdvbv5/*.h @@ -253,6 +255,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %changelog +* 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 From d3309d7df06cd8c2053ebccd1ead2e5b0167144a Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Fri, 3 May 2024 11:48:47 -0400 Subject: [PATCH 17/32] Remove duplicate qvidcap.1 file entry qvidcap and its manpage are in the qv4l2 subpackage. For Fedora builds, the manpage in the main package is a duplicate. For ELN, this is now failing because the manpage is no longer being installed when qvidcap is disabled. --- v4l-utils.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/v4l-utils.spec b/v4l-utils.spec index 84568c7..903c9cc 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -194,7 +194,6 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %{_bindir}/v4l2-sysfs-path %{_mandir}/man1/cec*.1* %{_mandir}/man1/ir*.1* -%{_mandir}/man1/qvidcap*.1* %{_mandir}/man1/v4l*.1* %{_mandir}/man5/rc_keymap*.5* %exclude %{_mandir}/man1/v4l2-compliance.1* From 1c7c2a69d8d5c0874b716d16d32eeb2ca185f845 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sat, 13 Apr 2024 11:29:57 +0200 Subject: [PATCH 18/32] Fix build when %_bindir==%_sbindir Preparation for https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin. --- sbin-location.diff | 13 +++++++++++++ v4l-utils.spec | 7 ++++++- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 sbin-location.diff 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/v4l-utils.spec b/v4l-utils.spec index 903c9cc..74aa4e8 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -5,7 +5,7 @@ Name: v4l-utils Version: 1.26.1 -Release: 4%{?dist} +Release: 5%{?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) @@ -15,6 +15,8 @@ License: GPL-2.0-or-later AND GPL-2.0-only AND (GPL-2.0-only OR BSD-3-Cla URL: http://www.linuxtv.org/downloads/v4l-utils/ Source0: http://linuxtv.org/downloads/v4l-utils/v4l-utils-%{version}.tar.xz +# TODO: submit upstream +Patch0: sbin-location.diff BuildRequires: alsa-lib-devel BuildRequires: desktop-file-utils @@ -254,6 +256,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %changelog +* 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 From c1154cb3b23926315eb70a10f0aefdeb9573d16c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 20 Jul 2024 08:30:26 +0000 Subject: [PATCH 19/32] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- v4l-utils.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/v4l-utils.spec b/v4l-utils.spec index 74aa4e8..c974422 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -5,7 +5,7 @@ Name: v4l-utils Version: 1.26.1 -Release: 5%{?dist} +Release: 6%{?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) @@ -256,6 +256,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %changelog +* 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 From 6f99221fb81c5c9238689a1fca698960d2dab24c Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Mon, 22 Jul 2024 12:38:43 +0100 Subject: [PATCH 20/32] Update to 1.28.0 Cleanup/fix qt5 build process/deps/gating, add DVB conditionals and move them all together, drop bpf conditionals as they're always built, general cleanups/fixes/deps etc. Upstream crash fix. --- .gitignore | 1 + 0001-qvidcap-fix-core-dump.patch | 41 ++++++++ sources | 2 +- v4l-utils.spec | 171 +++++++++++++++++-------------- 4 files changed, 136 insertions(+), 79 deletions(-) create mode 100644 0001-qvidcap-fix-core-dump.patch diff --git a/.gitignore b/.gitignore index cd04325..5873348 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /v4l-utils-1.25.0.tar.xz /v4l-utils-1.26.0.tar.xz /v4l-utils-1.26.1.tar.xz +/v4l-utils-1.28.0.tar.xz diff --git a/0001-qvidcap-fix-core-dump.patch b/0001-qvidcap-fix-core-dump.patch new file mode 100644 index 0000000..906f883 --- /dev/null +++ b/0001-qvidcap-fix-core-dump.patch @@ -0,0 +1,41 @@ +From f09b2c091d90228547433f11f94015b9ecfeff13 Mon Sep 17 00:00:00 2001 +From: Hans Verkuil +Date: Mon, 22 Jul 2024 11:06:03 +0200 +Subject: [PATCH] qvidcap: fix core dump + +The 'cv4l_queue q' variable went out of scope too early, +causing a core dump when g_dataptr was called later. + +I suspect it was pure luck that this ever worked, but the changes +to support more than 32 buffers in combination with vivid supporting +this new feature, caused this bug to surface. + +Signed-off-by: Hans Verkuil +--- + utils/qvidcap/qvidcap.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/utils/qvidcap/qvidcap.cpp b/utils/qvidcap/qvidcap.cpp +index f4bb9d28..f9d7a418 100644 +--- a/utils/qvidcap/qvidcap.cpp ++++ b/utils/qvidcap/qvidcap.cpp +@@ -434,6 +434,7 @@ int main(int argc, char **argv) + cv4l_fd fd; + enum AppMode mode = AppModeV4L2; + int sock_fd = -1; ++ cv4l_queue q; + cv4l_fmt fmt; + v4l2_fract pixelaspect = { 1, 1 }; + unsigned cnt = 0; +@@ -807,7 +808,7 @@ int main(int argc, char **argv) + if (mode == AppModeSocket) + win.setModeSocket(sock_fd, port); + else if (mode == AppModeV4L2) { +- cv4l_queue q(fd.g_type(), V4L2_MEMORY_MMAP); ++ q.init(fd.g_type(), V4L2_MEMORY_MMAP); + q.reqbufs(&fd, v4l2_bufs); + q.obtain_bufs(&fd); + q.queue_all(&fd); +-- +2.45.2 + diff --git a/sources b/sources index 6c5e524..934d759 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (v4l-utils-1.26.1.tar.xz) = a3b12b311977afec410db8b430696e923a24e04f003a5891cc77ddeb667d0b98666a06d31a439c95ce57d9e9c9c2593c5e9dd9e7cf2be002adb95db5b8f00ac8 +SHA512 (v4l-utils-1.28.0.tar.xz) = 91838fad349650f83aa4e5174cc3b76a865086970c614a9f2a1e3859f5ed06626888027401ce96fe6db77ae9eb8d5ee0c41e0ca367a2d3092840b1dad6596647 diff --git a/v4l-utils.spec b/v4l-utils.spec index c974422..53103de 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -1,11 +1,12 @@ -%bcond qt5 %[%{undefined rhel} || 0%{?rhel} < 10] +%bcond qt %[%{undefined rhel} || 0%{?rhel} < 10] -# BPF decoder dependencies -%define with_bpf 1 +# 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.26.1 -Release: 6%{?dist} +Version: 1.28.0 +Release: 1%{?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) @@ -17,27 +18,28 @@ URL: http://www.linuxtv.org/downloads/v4l-utils/ Source0: http://linuxtv.org/downloads/v4l-utils/v4l-utils-%{version}.tar.xz # TODO: submit upstream Patch0: sbin-location.diff +# Fix from upstream +Patch1: 0001-qvidcap-fix-core-dump.patch BuildRequires: alsa-lib-devel -BuildRequires: desktop-file-utils BuildRequires: doxygen BuildRequires: gettext +BuildRequires: json-c-devel BuildRequires: kernel-headers BuildRequires: libjpeg-devel -%if %{with qt5} +BuildRequires: meson >= 0.56 +%if %{with qt} +# Note as of 1.28 still has issues with QT6 +BuildRequires: desktop-file-utils BuildRequires: qt5-qtbase-devel %endif BuildRequires: systemd-devel # For /usr/share/pkgconfig/udev.pc BuildRequires: systemd -BuildRequires: meson >= 0.56 -BuildRequires: json-c-devel - -%if %{with_bpf} +# BPF decoder dependencies BuildRequires: clang BuildRequires: elfutils-libelf-devel BuildRequires: libbpf-devel -%endif # For /lib/udev/rules.d ownership Requires: systemd-udev @@ -49,29 +51,6 @@ 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 -# decode_tm6000 is GPL-2.0-only -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 -v4l2-dbg. - - -%if %{with qt5} -%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} - -%description -n qv4l2 -QT v4l2 test control and streaming test application. -%endif - - %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 @@ -98,6 +77,40 @@ 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 +License: GPL-2.0-or-later AND GPL-2.0-only +Requires: libv4l%{?_isa} = %{version}-%{release} + +%description devel-tools +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 +# 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 # /lib/include/libdvbv5/dvb-frontend.h is LGPL-2.1-or-later WITH Linux-syscall-note @@ -116,17 +129,6 @@ Some digital TV standards define their own charsets. Add library support for them: EN 300 468 and ARIB STD-B24 -%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 -n libdvbv5-devel Summary: Development files for libdvbv5 License: LGPL-2.1-or-later AND LGPL-2.1-or-later WITH Linux-syscall-note @@ -146,6 +148,7 @@ Requires: v4l-utils%{?_isa} = %{version}-%{release} %description -n dvb-tools Utilities and tools for DVB receivers. +%endif %prep @@ -153,26 +156,26 @@ Utilities and tools for DVB receivers. %build %meson -Dbpf=auto -Ddoxygen-man=true -Ddoxygen-html=false \ - %{!?with_qt5:-Dqv4l2=disabled -Dqvidcap=disabled -Dv4l2-tracer=disabled} + %{!?with_dvb:-Dlibdvbv5=disabled} \ + %{!?with_qt:-Dqv4l2=disabled -Dqvidcap=disabled} -#%if %{with_bpf} -#%meson -Ddoxygen-man=true -Ddoxygen-html=false -#%else -#%meson -Dbpf=disabled -Ddoxygen-man=true -Ddoxygen-html=false -#%endif - -#export CXXFLAGS="-std=c++14 $RPM_OPT_FLAGS" %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 qt5} + +%if %{with qt} 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 @@ -187,38 +190,50 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %config(noreplace) %{_sysconfdir}/rc_maps.cfg %{_udevrulesdir}/70-infrared.rules %{_udevrulesdir}/../rc_keymaps/* -%{_bindir}/cec* +%{_bindir}/cec-ctl +%{_bindir}/cec-follower %{_bindir}/ir-ctl %{_bindir}/ir-keytable %{_bindir}/media-ctl %{_bindir}/rds-ctl %{_bindir}/v4l2-ctl %{_bindir}/v4l2-sysfs-path -%{_mandir}/man1/cec*.1* +%{_bindir}/v4l2-tracer +%{_mandir}/man1/cec-ctl*.1* +%{_mandir}/man1/cec-follower*.1* %{_mandir}/man1/ir*.1* %{_mandir}/man1/v4l*.1* %{_mandir}/man5/rc_keymap*.5* %exclude %{_mandir}/man1/v4l2-compliance.1* -%files -n dvb-tools -%{_bindir}/cx18-ctl -%{_bindir}/dvb* -%{_bindir}/ivtv-ctl -%{_mandir}/man1/dvb*.1* - %files devel-tools %doc README.md -%{_bindir}/decode_tm6000 +%{_bindir}/cec-compliance %{_bindir}/v4l2-compliance +%{_mandir}/man1/cec-compliance.1* %{_mandir}/man1/v4l2-compliance.1* %{_sbindir}/v4l2-dbg -%if %{with qt5} +%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}/pkgconfig/libv4l*.pc + +%if %{with qt} %files -n qv4l2 %doc README.md %{_bindir}/qv4l2 %{_bindir}/qvidcap -%{_bindir}/v4l2-tracer %{_datadir}/applications/qv4l2.desktop %{_datadir}/applications/qvidcap.desktop %{_datadir}/icons/hicolor/*/apps/qv4l2.* @@ -227,18 +242,7 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %{_mandir}/man1/qvidcap.1* %endif -%files -n libv4l -%license COPYING.libv4l COPYING -%doc README.libv4l -%{_libdir}/libv4l -%{_libdir}/libv4l*.so.* - -%files -n libv4l-devel -%doc README.lib-multi-threading ChangeLog TODO -%{_includedir}/libv4l*.h -%{_libdir}/libv4l*.so -%{_libdir}/pkgconfig/libv4l*.pc - +%if %{with dvb} %files -n libdvbv5 -f libdvbv5.lang %license COPYING.libdvbv5 COPYING %doc lib/libdvbv5/README @@ -254,8 +258,19 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop %{_libdir}/pkgconfig/libdvbv5*.pc %{_mandir}/man3/*.3* +%files -n dvb-tools +%{_bindir}/cx18-ctl +%{_bindir}/dvb* +%{_bindir}/ivtv-ctl +%{_mandir}/man1/dvb*.1* +%endif + %changelog +* 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 From 7fc54abfaf5bb29d6871809dc57017da1a0c439f Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Mon, 22 Jul 2024 13:00:18 +0100 Subject: [PATCH 21/32] update gitignore --- .gitignore | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 5873348..517a3c9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,2 @@ /v4l-utils-*.tar.bz2 -/v4l-utils-1.25.0.tar.xz -/v4l-utils-1.26.0.tar.xz -/v4l-utils-1.26.1.tar.xz -/v4l-utils-1.28.0.tar.xz +/v4l-utils-*.tar.xz From e8f8d271d8becdd2a864dc1da90edac9fe10a085 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Fri, 26 Jul 2024 09:54:20 +0100 Subject: [PATCH 22/32] 1.28.1, Build f41+ with QT6 --- 0001-qvidcap-fix-core-dump.patch | 41 -------------------------------- sources | 2 +- v4l-utils.spec | 14 +++++++---- 3 files changed, 11 insertions(+), 46 deletions(-) delete mode 100644 0001-qvidcap-fix-core-dump.patch diff --git a/0001-qvidcap-fix-core-dump.patch b/0001-qvidcap-fix-core-dump.patch deleted file mode 100644 index 906f883..0000000 --- a/0001-qvidcap-fix-core-dump.patch +++ /dev/null @@ -1,41 +0,0 @@ -From f09b2c091d90228547433f11f94015b9ecfeff13 Mon Sep 17 00:00:00 2001 -From: Hans Verkuil -Date: Mon, 22 Jul 2024 11:06:03 +0200 -Subject: [PATCH] qvidcap: fix core dump - -The 'cv4l_queue q' variable went out of scope too early, -causing a core dump when g_dataptr was called later. - -I suspect it was pure luck that this ever worked, but the changes -to support more than 32 buffers in combination with vivid supporting -this new feature, caused this bug to surface. - -Signed-off-by: Hans Verkuil ---- - utils/qvidcap/qvidcap.cpp | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/utils/qvidcap/qvidcap.cpp b/utils/qvidcap/qvidcap.cpp -index f4bb9d28..f9d7a418 100644 ---- a/utils/qvidcap/qvidcap.cpp -+++ b/utils/qvidcap/qvidcap.cpp -@@ -434,6 +434,7 @@ int main(int argc, char **argv) - cv4l_fd fd; - enum AppMode mode = AppModeV4L2; - int sock_fd = -1; -+ cv4l_queue q; - cv4l_fmt fmt; - v4l2_fract pixelaspect = { 1, 1 }; - unsigned cnt = 0; -@@ -807,7 +808,7 @@ int main(int argc, char **argv) - if (mode == AppModeSocket) - win.setModeSocket(sock_fd, port); - else if (mode == AppModeV4L2) { -- cv4l_queue q(fd.g_type(), V4L2_MEMORY_MMAP); -+ q.init(fd.g_type(), V4L2_MEMORY_MMAP); - q.reqbufs(&fd, v4l2_bufs); - q.obtain_bufs(&fd); - q.queue_all(&fd); --- -2.45.2 - diff --git a/sources b/sources index 934d759..7650f1e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (v4l-utils-1.28.0.tar.xz) = 91838fad349650f83aa4e5174cc3b76a865086970c614a9f2a1e3859f5ed06626888027401ce96fe6db77ae9eb8d5ee0c41e0ca367a2d3092840b1dad6596647 +SHA512 (v4l-utils-1.28.1.tar.xz) = 6493c97f59af5fe0ffa4bb815ebac4531f5ea2b0612c2035c7f00a888ce686ee0aeeaef982553ff9ad6441c39dac63e6c718b1bedb0541cb2ce2e3c2f91ab12f diff --git a/v4l-utils.spec b/v4l-utils.spec index 53103de..4590021 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -5,7 +5,7 @@ %define with_dvb 1 Name: v4l-utils -Version: 1.28.0 +Version: 1.28.1 Release: 1%{?dist} Summary: Utilities for video4linux and DVB devices # libdvbv5, dvbv5 utils, ir-keytable are GPL-2.0-only @@ -18,8 +18,6 @@ URL: http://www.linuxtv.org/downloads/v4l-utils/ Source0: http://linuxtv.org/downloads/v4l-utils/v4l-utils-%{version}.tar.xz # TODO: submit upstream Patch0: sbin-location.diff -# Fix from upstream -Patch1: 0001-qvidcap-fix-core-dump.patch BuildRequires: alsa-lib-devel BuildRequires: doxygen @@ -29,9 +27,13 @@ BuildRequires: kernel-headers BuildRequires: libjpeg-devel BuildRequires: meson >= 0.56 %if %{with qt} -# Note as of 1.28 still has issues with QT6 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 @@ -267,6 +269,10 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qvidcap.desktop %changelog +* 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 From 14ef59b0074f0bee4f7d9819430cb2fb495371a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sun, 12 Jan 2025 14:43:14 +0100 Subject: [PATCH 23/32] Rebuilt for the bin-sbin merge (2nd attempt) https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin --- v4l-utils.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/v4l-utils.spec b/v4l-utils.spec index 4590021..a0c8219 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -6,7 +6,7 @@ Name: v4l-utils Version: 1.28.1 -Release: 1%{?dist} +Release: 2%{?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) @@ -269,6 +269,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qvidcap.desktop %changelog +* 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 From 2812f488fee7074fd767a3659698c783ae7fb34e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 19 Jan 2025 14:02:31 +0000 Subject: [PATCH 24/32] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- v4l-utils.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/v4l-utils.spec b/v4l-utils.spec index a0c8219..7de4ed8 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -6,7 +6,7 @@ Name: v4l-utils Version: 1.28.1 -Release: 2%{?dist} +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) @@ -269,6 +269,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qvidcap.desktop %changelog +* 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) From 261042cb4dc0d3e334b34d05d18355aa4203b19d Mon Sep 17 00:00:00 2001 From: Yanko Kaneti Date: Thu, 1 May 2025 18:20:55 +0300 Subject: [PATCH 25/32] Update to 1.30.1 edid-decode is now part of v4l-utils --- sources | 2 +- v4l-utils.spec | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/sources b/sources index 7650f1e..a53b795 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (v4l-utils-1.28.1.tar.xz) = 6493c97f59af5fe0ffa4bb815ebac4531f5ea2b0612c2035c7f00a888ce686ee0aeeaef982553ff9ad6441c39dac63e6c718b1bedb0541cb2ce2e3c2f91ab12f +SHA512 (v4l-utils-1.30.1.tar.xz) = b34ff9a233da9cb5a569cb5a6fcee288216277eb6f2f6e83c75e717422c1440f58da5e4f4c557b95a11f7650bbacc603c79edaa7451c277398aebf9c232761b3 diff --git a/v4l-utils.spec b/v4l-utils.spec index 7de4ed8..97f13e2 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -5,8 +5,8 @@ %define with_dvb 1 Name: v4l-utils -Version: 1.28.1 -Release: 3%{?dist} +Version: 1.30.1 +Release: 1%{?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) @@ -47,6 +47,9 @@ BuildRequires: libbpf-devel Requires: systemd-udev Requires: libv4l%{?_isa} = %{version}-%{release} +Provides: edid-decode = %{version}-%{release} +Obsoletes: edid-decode <= 0-76 + %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 @@ -194,6 +197,7 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qvidcap.desktop %{_udevrulesdir}/../rc_keymaps/* %{_bindir}/cec-ctl %{_bindir}/cec-follower +%{_bindir}/edid-decode %{_bindir}/ir-ctl %{_bindir}/ir-keytable %{_bindir}/media-ctl @@ -203,6 +207,7 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qvidcap.desktop %{_bindir}/v4l2-tracer %{_mandir}/man1/cec-ctl*.1* %{_mandir}/man1/cec-follower*.1* +%{_mandir}/man1/edid-decode*.1* %{_mandir}/man1/ir*.1* %{_mandir}/man1/v4l*.1* %{_mandir}/man5/rc_keymap*.5* @@ -269,6 +274,10 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qvidcap.desktop %changelog +* 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 From ecc0f82364d66a845cba7eb1b69df4b11eb9b982 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Fri, 2 May 2025 16:50:37 +0100 Subject: [PATCH 26/32] Fix obsolete of edid-decode --- v4l-utils.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/v4l-utils.spec b/v4l-utils.spec index 97f13e2..b8309d5 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -6,7 +6,7 @@ Name: v4l-utils Version: 1.30.1 -Release: 1%{?dist} +Release: 2%{?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) @@ -48,7 +48,7 @@ Requires: systemd-udev Requires: libv4l%{?_isa} = %{version}-%{release} Provides: edid-decode = %{version}-%{release} -Obsoletes: edid-decode <= 0-76 +Obsoletes: edid-decode < 1 %description v4l-utils is a collection of various video4linux (V4L) and DVB utilities. The @@ -274,6 +274,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qvidcap.desktop %changelog +* 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 From 183ab9888bb6aec3c8a37e1aced7e6dd9e1e7614 Mon Sep 17 00:00:00 2001 From: Sean Young Date: Sat, 7 Jun 2025 17:42:27 +0100 Subject: [PATCH 27/32] Separate rc core tools into its own package We're in the process of replacing ir-ctl and ir-keytable with new tools. If we separate this out the we can make it easier to replace them in future. --- v4l-utils.spec | 38 ++++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/v4l-utils.spec b/v4l-utils.spec index b8309d5..e4daac7 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -6,7 +6,7 @@ Name: v4l-utils Version: 1.30.1 -Release: 2%{?dist} +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) @@ -51,9 +51,9 @@ 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 @@ -155,6 +155,14 @@ Requires: v4l-utils%{?_isa} = %{version}-%{release} 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 @@ -191,15 +199,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qvidcap.desktop %files -f %{name}.lang %doc README.md -%dir %{_sysconfdir}/rc_keymaps -%config(noreplace) %{_sysconfdir}/rc_maps.cfg -%{_udevrulesdir}/70-infrared.rules -%{_udevrulesdir}/../rc_keymaps/* %{_bindir}/cec-ctl %{_bindir}/cec-follower %{_bindir}/edid-decode -%{_bindir}/ir-ctl -%{_bindir}/ir-keytable %{_bindir}/media-ctl %{_bindir}/rds-ctl %{_bindir}/v4l2-ctl @@ -208,9 +210,7 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qvidcap.desktop %{_mandir}/man1/cec-ctl*.1* %{_mandir}/man1/cec-follower*.1* %{_mandir}/man1/edid-decode*.1* -%{_mandir}/man1/ir*.1* %{_mandir}/man1/v4l*.1* -%{_mandir}/man5/rc_keymap*.5* %exclude %{_mandir}/man1/v4l2-compliance.1* %files devel-tools @@ -270,10 +270,24 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qvidcap.desktop %{_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 +* 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 From af62197d35880eae7825f6935d766ce5d44d7eba Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 19:55:35 +0000 Subject: [PATCH 28/32] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- v4l-utils.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/v4l-utils.spec b/v4l-utils.spec index e4daac7..6c4d180 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -6,7 +6,7 @@ Name: v4l-utils Version: 1.30.1 -Release: 3%{?dist} +Release: 4%{?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) @@ -285,6 +285,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qvidcap.desktop %changelog +* 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. From 2ba4949d1236fb74741db974e810dbef224fb4e3 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Mon, 6 Oct 2025 20:12:16 +0100 Subject: [PATCH 29/32] Update to 1.32.0 --- sources | 2 +- v4l-utils.spec | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/sources b/sources index a53b795..4efc8c2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (v4l-utils-1.30.1.tar.xz) = b34ff9a233da9cb5a569cb5a6fcee288216277eb6f2f6e83c75e717422c1440f58da5e4f4c557b95a11f7650bbacc603c79edaa7451c277398aebf9c232761b3 +SHA512 (v4l-utils-1.32.0.tar.xz) = 5bf24c28ec66a7ac1a0c9ee976521d825d4c2f8abbbeb59c7ac55e89db10dde6ebb643d238d217d636d79fda363244558fee1effe8c5e8c573c1a3e957fe391f diff --git a/v4l-utils.spec b/v4l-utils.spec index 6c4d180..0d5e1ae 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -5,8 +5,8 @@ %define with_dvb 1 Name: v4l-utils -Version: 1.30.1 -Release: 4%{?dist} +Version: 1.32.0 +Release: 1%{?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) @@ -15,7 +15,7 @@ Summary: Utilities for video4linux and DVB devices 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.xz +Source0: %{url}/v4l-utils-%{version}.tar.xz # TODO: submit upstream Patch0: sbin-location.diff @@ -234,6 +234,7 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qvidcap.desktop %{_includedir}/libv4l*.h %{_libdir}/libv4l*.so %{_libdir}/libv4l/ov* +%{_libdir}/libv4l/libv4l2tracer.so %{_libdir}/pkgconfig/libv4l*.pc %if %{with qt} @@ -285,6 +286,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qvidcap.desktop %changelog +* 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 From e55b18388388961e4342f8a3e9baa75ef6da256a Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Tue, 13 Jan 2026 00:36:12 -0500 Subject: [PATCH 30/32] Disable doxygen manpages This creates and installs manpages with non-unique and bizarre names, including (with recent doxygen versions) a 'noname' manpage with no section. --- v4l-utils.spec | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/v4l-utils.spec b/v4l-utils.spec index 0d5e1ae..9749d98 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -6,7 +6,7 @@ Name: v4l-utils Version: 1.32.0 -Release: 1%{?dist} +Release: 2%{?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) @@ -20,12 +20,12 @@ Source0: %{url}/v4l-utils-%{version}.tar.xz Patch0: sbin-location.diff BuildRequires: alsa-lib-devel -BuildRequires: doxygen 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} @@ -168,7 +168,8 @@ Utilities for Infrared receivers and transmitters using RC core. %autosetup -p1 %build -%meson -Dbpf=auto -Ddoxygen-man=true -Ddoxygen-html=false \ +%meson -Dbpf=auto \ + -Ddoxygen-doc=disabled -Ddoxygen-man=false -Ddoxygen-html=false \ %{!?with_dvb:-Dlibdvbv5=disabled} \ %{!?with_qt:-Dqv4l2=disabled -Dqvidcap=disabled} @@ -264,7 +265,6 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qvidcap.desktop %{_includedir}/libdvbv5/*.h %{_libdir}/libdvbv5*.so %{_libdir}/pkgconfig/libdvbv5*.pc -%{_mandir}/man3/*.3* %files -n dvb-tools %{_bindir}/cx18-ctl @@ -286,6 +286,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qvidcap.desktop %changelog +* 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 From e37112d2129d5114a97e625673c89a43b78ad5d2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 17 Jan 2026 19:44:53 +0000 Subject: [PATCH 31/32] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild --- v4l-utils.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/v4l-utils.spec b/v4l-utils.spec index 9749d98..619b8d5 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -6,7 +6,7 @@ Name: v4l-utils Version: 1.32.0 -Release: 2%{?dist} +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) @@ -286,6 +286,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qvidcap.desktop %changelog +* 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 From 40199e4eba1f1872092cce4390c6dbd5db892515 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jul 2026 08:19:39 +0000 Subject: [PATCH 32/32] Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild --- v4l-utils.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/v4l-utils.spec b/v4l-utils.spec index 619b8d5..0cbadaa 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -6,7 +6,7 @@ Name: v4l-utils Version: 1.32.0 -Release: 3%{?dist} +Release: 4%{?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) @@ -286,6 +286,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qvidcap.desktop %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 1.32.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + * Sat Jan 17 2026 Fedora Release Engineering - 1.32.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild