diff --git a/.gitignore b/.gitignore index e51c1df..468e7f2 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ /v4l-utils-1.4.0.tar.bz2 /v4l-utils-1.6.0.tar.bz2 /v4l-utils-1.6.2.tar.bz2 +/v4l-utils-1.8.1.tar.bz2 diff --git a/0001-v4lconvert-Fix-decoding-of-jpeg-data-with-no-vertica.patch b/0001-v4lconvert-Fix-decoding-of-jpeg-data-with-no-vertica.patch deleted file mode 100644 index c09fff8..0000000 --- a/0001-v4lconvert-Fix-decoding-of-jpeg-data-with-no-vertica.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 757d7910ddf43d9a9187dddae4f51a57fb723e8d Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Thu, 20 Nov 2014 13:03:35 +0100 -Subject: [PATCH] v4lconvert: Fix decoding of jpeg data with no vertical - sub-sampling - -Our YUV output is always 2x subsampled in both vertical and horizontal -direction, but some cameras generate JPEG data which is only subsampled in -the horizontal direction. - -Since averaging the extra UV data these JPEGs contains is seomwhat slow, -and UV data is not all that important anyways, we simple take every other -line. Or at least that is the intent. - -But before this commit the code was not doing this properly, for each 16 -Y input lines 1 - 16 we also get 16 UV input lines 1 - 16, but we only need -8 output lines. so we should store input line 1 or 2 in output line 1, input -line 3 or 4 in output line 2, etc. Instead we were storing input lines -9 - 16 into output lines 1 - 8, which leads to some unwanted color bleeding. - -More over this also leads for 1920x1080 JPEG to us writing (1080 / 8 + 1) / 2 -* 8 = 544 UV output lines rather then 540, this means that the last 4 U output -lines overwrite the first 4 V output lines, and worse that the last 4 V output -lines overrun the output buffer. - -So far this only lead to some wrong colors in various places, but since that -we dynamically allocate the output buffer to just the right size this actually -causes a crash. - -This commit fixes both the crash, and the wrong colors. - -Signed-off-by: Hans de Goede ---- - lib/libv4lconvert/jpeg.c | 37 ++++++++++++++++++++++++------------- - 1 file changed, 24 insertions(+), 13 deletions(-) - -diff --git a/lib/libv4lconvert/jpeg.c b/lib/libv4lconvert/jpeg.c -index aa9cace..0142d44 100644 ---- a/lib/libv4lconvert/jpeg.c -+++ b/lib/libv4lconvert/jpeg.c -@@ -242,23 +242,34 @@ static int decode_libjpeg_h_samp2(struct v4lconvert_data *data, - y_rows[y] = ydest; - ydest += width; - } -- for (y = 0; y < 8; y++) { -- u_rows[y] = udest; -- v_rows[y] = vdest; -- udest += width / 2; -- vdest += width / 2; -+ /* -+ * For v_samp == 1 were going to get 1 set of uv values per -+ * line, but we need only 1 set per 2 lines since our output -+ * has v_samp == 2. We store every 2 sets in 1 line, -+ * effectively using the second set for each output line. -+ */ -+ if (v_samp == 1) { -+ for (y = 0; y < 8; y++) { -+ u_rows[y] = udest; -+ v_rows[y] = vdest; -+ y++; -+ u_rows[y] = udest; -+ v_rows[y] = vdest; -+ udest += width / 2; -+ vdest += width / 2; -+ } -+ } else { /* v_samp == 2 */ -+ for (y = 0; y < 8; y++) { -+ u_rows[y] = udest; -+ v_rows[y] = vdest; -+ udest += width / 2; -+ vdest += width / 2; -+ } - } -+ - y = jpeg_read_raw_data(cinfo, rows, 8 * v_samp); - if (y != 8 * v_samp) - return -1; -- -- /* For v_samp == 1 were going to get another set of uv values, -- but we need only 1 set since our output has v_samp == 2, so -- rewind u and vdest and overwrite the previous set. */ -- if (cinfo->output_scanline % 16) { -- udest -= width * 8 / 2; -- vdest -= width * 8 / 2; -- } - } - return 0; - } --- -2.1.0 - diff --git a/sources b/sources index 8ba1ca2..25e3f99 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9cb3c178f937954e65bf30920af433ef v4l-utils-1.6.2.tar.bz2 +f86d0938e46fde821dc10d4d2f6636e4 v4l-utils-1.8.1.tar.bz2 diff --git a/v4l-utils.spec b/v4l-utils.spec index 4c35f4d..b491d69 100644 --- a/v4l-utils.spec +++ b/v4l-utils.spec @@ -1,6 +1,6 @@ Name: v4l-utils -Version: 1.6.2 -Release: 3%{?dist} +Version: 1.8.1 +Release: 1%{?dist} Summary: Utilities for video4linux and DVB devices Group: Applications/System # libdvbv5, dvbv5 utils, ir-keytable and v4l2-sysfs-path are GPLv2 only @@ -8,7 +8,7 @@ License: GPLv2+ and GPLv2 URL: http://www.linuxtv.org/downloads/v4l-utils/ Source0: http://linuxtv.org/downloads/v4l-utils/v4l-utils-%{version}.tar.bz2 BuildRequires: libjpeg-devel qt4-devel kernel-headers desktop-file-utils -BuildRequires: alsa-lib-devel doxygen +BuildRequires: alsa-lib-devel doxygen gettext # For /lib/udev/rules.d ownership Requires: udev Requires: libv4l%{?_isa} = %{version}-%{release} @@ -116,6 +116,8 @@ 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 %post -n libv4l -p /sbin/ldconfig @@ -139,7 +141,7 @@ fi gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : -%files +%files -f %{name}.lang -f libdvbv5.lang %doc README %dir %{_sysconfdir}/rc_keymaps %config(noreplace) %{_sysconfdir}/rc_maps.cfg @@ -154,11 +156,14 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_bindir}/v4l2-ctl %{_bindir}/v4l2-sysfs-path %{_mandir}/man1/*.1* +%exclude %{_mandir}/man1/qv4l2.1* +%exclude %{_mandir}/man1/v4l2-compliance.1* %files devel-tools %doc README %{_bindir}/decode_tm6000 %{_bindir}/v4l2-compliance +%{_mandir}/man1/v4l2-compliance.1* %{_sbindir}/v4l2-dbg %files -n qv4l2 @@ -166,6 +171,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_bindir}/qv4l2 %{_datadir}/applications/qv4l2.desktop %{_datadir}/icons/hicolor/*/apps/qv4l2.* +%{_mandir}/man1/qv4l2.1* %files -n libv4l %doc COPYING.libv4l COPYING ChangeLog README.libv4l TODO @@ -190,6 +196,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %changelog +* Mon Oct 12 2015 Gregor Jasny - 1.8.1-1 +- Upgrade to version 1.8.1 + * Fri Jun 19 2015 Fedora Release Engineering - 1.6.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild