Compare commits
27 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
40199e4eba | ||
|
|
e37112d212 | ||
|
|
e55b183883 | ||
|
|
2ba4949d12 | ||
|
|
af62197d35 | ||
|
|
183ab9888b | ||
|
|
ecc0f82364 | ||
|
|
261042cb4d | ||
|
|
2812f488fe | ||
| 14ef59b007 | |||
|
|
e8f8d271d8 | ||
|
|
7fc54abfaf | ||
|
|
6f99221fb8 | ||
|
|
c1154cb3b2 | ||
| 1c7c2a69d8 | |||
|
|
d3309d7df0 | ||
|
|
14af80ef1b | ||
|
|
ffadabc174 | ||
|
|
5429cd4969 | ||
|
|
11eba3b0eb | ||
|
|
34a18ca80d | ||
|
|
a84293a4c1 | ||
|
|
d029009dbc | ||
|
|
1efce8897a | ||
|
|
b613b26134 | ||
|
|
d5ebe3b627 | ||
|
|
f200839056 |
9 changed files with 259 additions and 630 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -1 +1,2 @@
|
|||
/v4l-utils-*.tar.bz2
|
||||
/v4l-utils-*.tar.xz
|
||||
|
|
|
|||
|
|
@ -1,51 +0,0 @@
|
|||
From 9f799271e5e92cb84cbce002896ce7c25dad4fd8 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
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 <pbrobinson@gmail.com>
|
||||
---
|
||||
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
|
||||
|
||||
|
|
@ -1,168 +0,0 @@
|
|||
From c5e108f7ef4f8ba7761ddc7bad8dc88f6cae82cc Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
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 <hdegoede@redhat.com>
|
||||
---
|
||||
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
|
||||
|
||||
|
|
@ -1,91 +0,0 @@
|
|||
From e864210793795a50b88e77af5b7d29e6bad584e8 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
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 <hdegoede@redhat.com>
|
||||
---
|
||||
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
|
||||
|
||||
|
|
@ -1,125 +0,0 @@
|
|||
From 8cbe059875452301c61db309d3087fb496b7223d Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
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 <hdegoede@redhat.com>
|
||||
---
|
||||
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
|
||||
|
||||
|
|
@ -1,97 +0,0 @@
|
|||
From 2cfd6dc33d7f7743843e9ad65d31baef5508f636 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
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 <hdegoede@redhat.com>
|
||||
---
|
||||
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
|
||||
|
||||
13
sbin-location.diff
Normal file
13
sbin-location.diff
Normal file
|
|
@ -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,
|
||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (v4l-utils-1.22.1.tar.bz2) = 8a634d8995d13f453dfaf90ca5d0dfb26f2f4b10a0d200d76a949c46f77040d12fc0a5b35e05d7b1ba68bcfc85a445be5a5ab1d4a7d4eabfe3a254038ccc6170
|
||||
SHA512 (v4l-utils-1.32.0.tar.xz) = 5bf24c28ec66a7ac1a0c9ee976521d825d4c2f8abbbeb59c7ac55e89db10dde6ebb643d238d217d636d79fda363244558fee1effe8c5e8c573c1a3e957fe391f
|
||||
|
|
|
|||
341
v4l-utils.spec
341
v4l-utils.spec
|
|
@ -1,71 +1,67 @@
|
|||
%bcond qt %[%{undefined rhel} || 0%{?rhel} < 10]
|
||||
|
||||
# Currently broken without DVB due to a bunch of random bits
|
||||
# being built/installed even though they're DVB specific
|
||||
%define with_dvb 1
|
||||
|
||||
Name: v4l-utils
|
||||
Version: 1.22.1
|
||||
Release: 5%{?dist}
|
||||
Version: 1.32.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
|
||||
# libdvbv5, dvbv5 utils, ir-keytable are GPL-2.0-only
|
||||
# e.g. utils/cec-follower/cec-follower.cpp is (GPL-2.0-only OR BSD-3-Clause)
|
||||
# utils/qvidcap/capture.cpp, paint.cpp are LicenseRef-Fedora-Public-Domain
|
||||
# utils/v4l2-sysfs-path/v4l2-sysfs-path.c is HPND-sell-variant
|
||||
License: GPL-2.0-or-later AND GPL-2.0-only AND (GPL-2.0-only OR BSD-3-Clause) AND LicenseRef-Fedora-Public-Domain AND HPND-sell-variant
|
||||
URL: http://www.linuxtv.org/downloads/v4l-utils/
|
||||
|
||||
Source0: http://linuxtv.org/downloads/v4l-utils/v4l-utils-%{version}.tar.bz2
|
||||
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: %{url}/v4l-utils-%{version}.tar.xz
|
||||
# TODO: submit upstream
|
||||
Patch0: sbin-location.diff
|
||||
|
||||
BuildRequires: alsa-lib-devel
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: doxygen
|
||||
BuildRequires: gettext
|
||||
BuildRequires: json-c-devel
|
||||
BuildRequires: kernel-headers
|
||||
BuildRequires: libjpeg-devel
|
||||
BuildRequires: make
|
||||
BuildRequires: meson >= 0.56
|
||||
BuildRequires: perl-interpreter
|
||||
%if %{with qt}
|
||||
BuildRequires: desktop-file-utils
|
||||
%if 0%{?fedora} < 41 || 0%{?rhel}
|
||||
BuildRequires: qt5-qtbase-devel
|
||||
%else
|
||||
BuildRequires: qt6-qtbase-devel
|
||||
BuildRequires: qt6-qt5compat-devel
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: systemd-devel
|
||||
# For /usr/share/pkgconfig/udev.pc
|
||||
BuildRequires: systemd
|
||||
|
||||
# BPF decoder dependencies
|
||||
%define with_bpf 1
|
||||
|
||||
%if %{with_bpf}
|
||||
BuildRequires: elfutils-libelf-devel clang
|
||||
%endif
|
||||
BuildRequires: clang
|
||||
BuildRequires: elfutils-libelf-devel
|
||||
BuildRequires: libbpf-devel
|
||||
|
||||
# For /lib/udev/rules.d ownership
|
||||
Requires: systemd-udev
|
||||
Requires: libv4l%{?_isa} = %{version}-%{release}
|
||||
|
||||
Provides: edid-decode = %{version}-%{release}
|
||||
Obsoletes: edid-decode < 1
|
||||
|
||||
%description
|
||||
v4l-utils is a collection of various video4linux (V4L) and DVB utilities. The
|
||||
main v4l-utils package contains cx18-ctl, ir-keytable, ivtv-ctl, v4l2-ctl and
|
||||
v4l2-sysfs-path.
|
||||
|
||||
|
||||
%package devel-tools
|
||||
Summary: Utilities for v4l2 / DVB driver development and debugging
|
||||
# decode_tm6000 is GPLv2 only
|
||||
License: GPLv2+ and GPLv2
|
||||
Requires: libv4l%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description devel-tools
|
||||
Utilities for v4l2 / DVB driver authors: decode_tm6000, v4l2-compliance and
|
||||
v4l2-dbg.
|
||||
|
||||
|
||||
%package -n qv4l2
|
||||
Summary: QT v4l2 test control and streaming test application
|
||||
License: GPLv2+
|
||||
Requires: libv4l%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description -n qv4l2
|
||||
QT v4l2 test control and streaming test application.
|
||||
v4l-utils is a collection of various video4linux (V4L), RC core and DVB
|
||||
utilities. The main v4l-utils package contains cx18-ctl, ivtv-ctl, v4l2-ctl
|
||||
and v4l2-sysfs-path.
|
||||
|
||||
|
||||
%package -n libv4l
|
||||
Summary: Collection of video4linux support libraries
|
||||
# Some of the decompression helpers are 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
|
||||
|
|
@ -86,17 +82,9 @@ libv4l2 offers the v4l2 API on top of v4l2 devices, while adding for the
|
|||
application transparent libv4lconvert conversion where necessary.
|
||||
|
||||
|
||||
%package -n libdvbv5
|
||||
Summary: Libraries to control, scan and zap on Digital TV channels
|
||||
License: GPLv2
|
||||
|
||||
%description -n libdvbv5
|
||||
Libraries to control, scan and zap on Digital TV channels
|
||||
|
||||
|
||||
%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}
|
||||
|
||||
|
|
@ -105,9 +93,50 @@ 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
|
||||
License: LGPL-2.1-or-later AND LGPL-2.1-or-later WITH Linux-syscall-note
|
||||
|
||||
%description -n libdvbv5
|
||||
Libraries to control, scan and zap on Digital TV channels
|
||||
|
||||
|
||||
%package -n libdvbv5-gconv
|
||||
Summary: Gconv files with the charsets For Digital TV.
|
||||
License: LGPL-2.1-or-later
|
||||
|
||||
%description -n libdvbv5-gconv
|
||||
Some digital TV standards define their own charsets. Add library
|
||||
support for them: EN 300 468 and ARIB STD-B24
|
||||
|
||||
|
||||
%package -n libdvbv5-devel
|
||||
Summary: Development files for libdvbv5
|
||||
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
|
||||
|
|
@ -115,27 +144,52 @@ The libdvbv5-devel package contains libraries and header
|
|||
files for developing applications that use libdvbv5.
|
||||
|
||||
|
||||
%package -n dvb-tools
|
||||
Summary: Utilities for DVB driver
|
||||
License: GPL-2.0-or-later AND GPL-2.0-only
|
||||
Requires: libdvbv5%{?_isa} = %{version}-%{release}
|
||||
Requires: libv4l%{?_isa} = %{version}-%{release}
|
||||
Requires: v4l-utils%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description -n dvb-tools
|
||||
Utilities and tools for DVB receivers.
|
||||
%endif
|
||||
|
||||
%package -n rc-tools
|
||||
Summary: Utilities for RC core
|
||||
License: GPL-2.0-or-later AND GPL-2.0-only
|
||||
Requires: v4l-utils%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description -n rc-tools
|
||||
Utilities for Infrared receivers and transmitters using RC core.
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
%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
|
||||
%meson -Dbpf=auto \
|
||||
-Ddoxygen-doc=disabled -Ddoxygen-man=false -Ddoxygen-html=false \
|
||||
%{!?with_dvb:-Dlibdvbv5=disabled} \
|
||||
%{!?with_qt:-Dqv4l2=disabled -Dqvidcap=disabled}
|
||||
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
%make_install
|
||||
%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 -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
|
||||
mkdir $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules.d
|
||||
mv $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules.d/libdvbv5.conf
|
||||
|
||||
%if %{with qt}
|
||||
desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop
|
||||
desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qvidcap.desktop
|
||||
%endif
|
||||
|
||||
%find_lang %{name}
|
||||
%find_lang libdvbv5
|
||||
|
||||
|
|
@ -145,35 +199,48 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/qv4l2.desktop
|
|||
%ldconfig_scriptlets -n libdvbv5
|
||||
|
||||
%files -f %{name}.lang
|
||||
%doc README
|
||||
%dir %{_sysconfdir}/rc_keymaps
|
||||
%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
|
||||
%doc README.md
|
||||
%{_bindir}/cec-ctl
|
||||
%{_bindir}/cec-follower
|
||||
%{_bindir}/edid-decode
|
||||
%{_bindir}/media-ctl
|
||||
%{_bindir}/rds-ctl
|
||||
%{_bindir}/v4l2-ctl
|
||||
%{_bindir}/v4l2-sysfs-path
|
||||
%{_mandir}/man1/*.1*
|
||||
%{_mandir}/man5/*.5*
|
||||
%exclude %{_mandir}/man1/qv4l2.1*
|
||||
%{_bindir}/v4l2-tracer
|
||||
%{_mandir}/man1/cec-ctl*.1*
|
||||
%{_mandir}/man1/cec-follower*.1*
|
||||
%{_mandir}/man1/edid-decode*.1*
|
||||
%{_mandir}/man1/v4l*.1*
|
||||
%exclude %{_mandir}/man1/v4l2-compliance.1*
|
||||
|
||||
%files devel-tools
|
||||
%doc README
|
||||
%{_bindir}/decode_tm6000
|
||||
%doc README.md
|
||||
%{_bindir}/cec-compliance
|
||||
%{_bindir}/v4l2-compliance
|
||||
%{_mandir}/man1/cec-compliance.1*
|
||||
%{_mandir}/man1/v4l2-compliance.1*
|
||||
%{_sbindir}/v4l2-dbg
|
||||
|
||||
%files -n libv4l
|
||||
%license COPYING.libv4l COPYING
|
||||
%doc README.libv4l
|
||||
%dir %{_libdir}/libv4l
|
||||
%{_libdir}/libv4l/v4l*
|
||||
%{_libdir}/libv4l/plugins
|
||||
%{_libdir}/libv4l*.so.*
|
||||
|
||||
%files -n libv4l-devel
|
||||
%doc README.lib-multi-threading ChangeLog TODO
|
||||
%{_includedir}/libv4l*.h
|
||||
%{_libdir}/libv4l*.so
|
||||
%{_libdir}/libv4l/ov*
|
||||
%{_libdir}/libv4l/libv4l2tracer.so
|
||||
%{_libdir}/pkgconfig/libv4l*.pc
|
||||
|
||||
%if %{with qt}
|
||||
%files -n qv4l2
|
||||
%doc README
|
||||
%doc README.md
|
||||
%{_bindir}/qv4l2
|
||||
%{_bindir}/qvidcap
|
||||
%{_datadir}/applications/qv4l2.desktop
|
||||
|
|
@ -182,32 +249,112 @@ 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
|
||||
%license COPYING.libv4l COPYING
|
||||
%{_libdir}/libv4l
|
||||
%{_libdir}/libv4l*.so.*
|
||||
|
||||
%files -n libv4l-devel
|
||||
%doc README.lib-multi-threading
|
||||
%{_includedir}/libv4l*.h
|
||||
%{_libdir}/libv4l*.so
|
||||
%{_libdir}/pkgconfig/libv4l*.pc
|
||||
|
||||
%if %{with dvb}
|
||||
%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
|
||||
%{_libdir}/gconv/*.so
|
||||
%{_libdir}/gconv/gconv-modules.d/libdvbv5.conf
|
||||
|
||||
%files -n libdvbv5-devel
|
||||
%{_includedir}/libdvbv5/*.h
|
||||
%{_libdir}/libdvbv5*.so
|
||||
%{_libdir}/pkgconfig/libdvbv5*.pc
|
||||
%{_mandir}/man3/*.3*
|
||||
|
||||
%files -n dvb-tools
|
||||
%{_bindir}/cx18-ctl
|
||||
%{_bindir}/dvb*
|
||||
%{_bindir}/ivtv-ctl
|
||||
%{_mandir}/man1/dvb*.1*
|
||||
|
||||
%files -n rc-tools
|
||||
%dir %{_sysconfdir}/rc_keymaps
|
||||
%config(noreplace) %{_sysconfdir}/rc_maps.cfg
|
||||
%{_udevrulesdir}/70-infrared.rules
|
||||
%{_udevrulesdir}/../rc_keymaps/*
|
||||
%{_bindir}/ir-ctl
|
||||
%{_bindir}/ir-keytable
|
||||
%{_mandir}/man1/ir*.1*
|
||||
%{_mandir}/man5/rc_keymap*.5*
|
||||
|
||||
%endif
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.32.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
|
||||
|
||||
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.32.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
|
||||
|
||||
* Tue Jan 13 2026 Yaakov Selkowitz <yselkowi@redhat.com> - 1.32.0-2
|
||||
- Disable doxygen manpages
|
||||
|
||||
* Mon Oct 06 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1.32.0-1
|
||||
- Update to 1.32.0
|
||||
|
||||
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.30.1-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Sat Jun 7 2025 Sean Young <sean@mes.org> - 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 <pbrobinson@fedoraproject.org> - 1.30.1-2
|
||||
- Fix obsolete of edid-decode
|
||||
|
||||
* Thu May 1 2025 Yanko Kaneti <yaneti@decelra.com> - 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 <releng@fedoraproject.org> - 1.28.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Sun Jan 12 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.28.1-2
|
||||
- Rebuilt for the bin-sbin merge (2nd attempt)
|
||||
|
||||
* Thu Jul 25 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1.28.1-1
|
||||
- Update to 1.28.1
|
||||
- Build f41+ with QT6
|
||||
|
||||
* Mon Jul 22 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1.28.0-1
|
||||
- Update to 1.28.0
|
||||
- spec file cleanups, fixes, minor reorg
|
||||
|
||||
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.26.1-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Tue Jul 09 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.26.1-5
|
||||
- Rebuilt for the bin-sbin merge
|
||||
|
||||
* Wed Apr 24 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1.26.1-4
|
||||
- Fix location of gconv conflicts
|
||||
|
||||
* Tue Apr 23 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1.26.1-3
|
||||
- Split dvb tools to it's own sub package
|
||||
|
||||
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.26.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Wed Dec 13 2023 Peter Robinson <pbrobinson@fedoraproject.org> - 1.26.1-1
|
||||
- Update to 1.26.1
|
||||
|
||||
* Mon Dec 04 2023 Peter Robinson <pbrobinson@fedoraproject.org> - 1.26.0-1
|
||||
- Update to 1.26.0
|
||||
|
||||
* Wed Aug 16 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 1.25.0-4
|
||||
- Disable qv4l2 in RHEL 10 builds
|
||||
|
||||
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.25.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Mon Mar 20 2023 Mauro Carvalho Chehab <mchehab+samsung@kernel.org> 1.25.0-1
|
||||
- Updated to latest development branch
|
||||
|
||||
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.22.1-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue