From f20083905689337819f7fcfb59adabe40bbf5025 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Mon, 20 Mar 2023 11:15:07 +0100 Subject: [PATCH] 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