# # spec file for package v4l-utils # # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define _udevdir %(pkg-config --variable udevdir udev) %define so_ver 0 %ifarch aarch64 %{arm} # qv4l2 does not support GLES %bcond_with qv4l2 %else %bcond_without qv4l2 %endif Name: v4l-utils Version: 1.14.2 Release: 2.2 Summary: Utilities for video4linux License: GPL-2.0-or-later AND GPL-2.0-only Group: Hardware/TV URL: https://linuxtv.org/downloads/v4l-utils/ Source0: https://linuxtv.org/downloads/v4l-utils/%{name}-%{version}.tar.bz2 Source1: https://linuxtv.org/downloads/v4l-utils/%{name}-%{version}.tar.bz2.asc Source2: %{name}.keyring Source100: baselibs.conf Patch0: sysmacros.patch BuildRequires: doxygen BuildRequires: kernel-headers BuildRequires: libjpeg-devel BuildRequires: pkgconfig BuildRequires: update-desktop-files BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5Gui) BuildRequires: pkgconfig(Qt5OpenGL) BuildRequires: pkgconfig(Qt5Widgets) BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(glu) BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(udev) Requires: libv4l = %{version} %description v4l-utils is a collection of various video4linux (V4L) utilities. %lang_package %package devel-tools Summary: Utilities for v4l2 / DVB driver development and debugging License: GPL-2.0-or-later AND GPL-2.0-only Group: Hardware/TV Requires: libv4l = %{version} %description devel-tools Utilities for v4l2 / DVB driver authors for development and debugging. %package -n dvb-utils Summary: Utilities for DVB devices License: GPL-2.0-only Group: Hardware/TV Recommends: dtv-scan-tables-v5 %description -n dvb-utils dvb-utils is a collection of various DVB utilities. %package -n libdvbv5-%{so_ver} Summary: Library that provides access to DVB adapter cards License: GPL-2.0-only Group: System/Libraries %description -n libdvbv5-%{so_ver} libdvbv5 is a library meant to be used by digital TV applications that need to talk with media hardware. This package contains shared lib for packages that use libdvbv5. %lang_package -n libdvbv5-%{so_ver} %package -n libdvbv5-devel Summary: Development files for libdvbv5 License: GPL-2.0-only Group: Development/Libraries/C and C++ Requires: libdvbv5-%{so_ver} = %{version} %description -n libdvbv5-devel The libdvbv5-devel package contains libraries and header files for developing applications that use libdvbv5. %package -n libv4l Summary: Collection of video4linux support libraries License: LGPL-2.1-or-later AND GPL-2.0-only Group: System/Libraries %description -n libv4l libv4l is a collection of libraries which adds a thin abstraction layer on top of video4linux2 devices. The purpose of this (thin) layer is to make it easy for application writers to support a wide variety of devices without having to write separate code for different devices in the same class. %package -n libv4l1-%{so_ver} Summary: Video4linux support library License: LGPL-2.1-or-later Group: System/Libraries Requires: libv4l %description -n libv4l1-%{so_ver} libv4l1 offers the (deprecated) v4l1 API on top of v4l2 devices, independent of the drivers for those devices supporting v4l1 compatibility (which many v4l2 drivers do not). This package contains shared lib for packages that use libv4l1. %package -n libv4l2-%{so_ver} Summary: Video4linux support library License: LGPL-2.1-or-later Group: System/Libraries Requires: libv4l %description -n libv4l2-%{so_ver} libv4l2 offers the v4l2 API on top of v4l2 devices, while adding for the application transparent libv4lconvert conversion where necessary. This package contains shared lib for packages that use libv4l2. %package -n libv4l2rds%{so_ver} Summary: Video4linux support library License: LGPL-2.1-or-later Group: System/Libraries Requires: libv4l %description -n libv4l2rds%{so_ver} libv4l2rds offers decoding raw RDS data from V4L2 Radio devices and simple ways to access the received RDS information. This package contains shared lib for packages that use libv4l2rds. %package -n libv4lconvert%{so_ver} Summary: Video4linux support library License: LGPL-2.1-or-later Group: System/Libraries Requires: libv4l %description -n libv4lconvert%{so_ver} libv4lconvert offers functions to convert from any (known) pixel-format to V4l2_PIX_FMT_BGR24 or V4l2_PIX_FMT_YUV420. This package contains shared lib for packages that use libv4lconvert. %package -n libv4l-devel Summary: Development files for libv4l License: LGPL-2.1-or-later Group: Development/Libraries/C and C++ Requires: libv4l1-%{so_ver} = %{version} Requires: libv4l2-%{so_ver} = %{version} Requires: libv4l2rds%{so_ver} = %{version} Requires: libv4lconvert%{so_ver} = %{version} %description -n libv4l-devel The libv4l-devel package contains libraries and header files for developing applications that use libv4l. %package -n qv4l2 Summary: Video4linux test control and streaming test application License: GPL-2.0-or-later Group: Hardware/TV Requires: libv4l = %{version} Requires(post): hicolor-icon-theme Requires(post): update-desktop-files Requires(postun): hicolor-icon-theme Requires(postun): update-desktop-files %description -n qv4l2 qv4l2 is a test control and streaming test application for video4linux. %prep %setup -q %patch0 -p1 %build %configure \ --disable-static \ --disable-silent-rules \ %if %{without qv4l2} --disable-qv4l2 \ %endif --with-udevdir=%{_udevdir} make %{?_smp_mflags} %install %make_install find %{buildroot} -type f -name "*.la" -delete -print %find_lang "%{name}" %find_lang "libdvbv5" libdvbv5.lang # Not needed (links to plugins in libv4l subdir) rm %{buildroot}%{_libdir}/{v4l1compat.so,v4l2convert.so} #%if %{with qv4l2} #%suse_update_desktop_file -N "QV4l2" -G "V4L2 Test Utility" -r qv4l2 Qt AudioVideo Video TV #%endif %post -n libdvbv5-%{so_ver} -p /sbin/ldconfig %postun -n libdvbv5-%{so_ver} -p /sbin/ldconfig %post -n libv4l1-%{so_ver} -p /sbin/ldconfig %postun -n libv4l1-%{so_ver} -p /sbin/ldconfig %post -n libv4l2-%{so_ver} -p /sbin/ldconfig %postun -n libv4l2-%{so_ver} -p /sbin/ldconfig %post -n libv4l2rds%{so_ver} -p /sbin/ldconfig %postun -n libv4l2rds%{so_ver} -p /sbin/ldconfig %post -n libv4lconvert%{so_ver} -p /sbin/ldconfig %postun -n libv4lconvert%{so_ver} -p /sbin/ldconfig %if %{with qv4l2} %post -n qv4l2 %desktop_database_post %icon_theme_cache_post %postun -n qv4l2 %desktop_database_postun %icon_theme_cache_postun %endif %files %license COPYING %doc ChangeLog README TODO %dir %{_sysconfdir}/rc_keymaps/ %config(noreplace) %{_sysconfdir}/rc_maps.cfg %{_udevdir}/rc_keymaps %{_udevrulesdir}/70-infrared.rules %{_bindir}/cx18-ctl %{_bindir}/cec-compliance %{_bindir}/cec-ctl %{_bindir}/cec-follower %{_bindir}/ir-ctl %{_bindir}/ir-keytable %{_bindir}/ivtv-ctl %{_bindir}/media-ctl %{_bindir}/rds-ctl %{_bindir}/v4l2-ctl %{_bindir}/v4l2-sysfs-path %{_mandir}/man1/ir-keytable.1%{ext_man} %{_mandir}/man1/v4l2-ctl.1%{ext_man} %{_mandir}/man1/cec-compliance.1%{ext_man} %{_mandir}/man1/cec-ctl.1%{ext_man} %{_mandir}/man1/cec-follower.1%{ext_man} %{_mandir}/man1/ir-ctl.1%{ext_man} %files lang -f "%{name}.lang" %files devel-tools %license COPYING %doc ChangeLog README TODO %{_bindir}/decode_tm6000 %{_bindir}/v4l2-compliance %{_sbindir}/v4l2-dbg %{_mandir}/man1/v4l2-compliance.1%{ext_man} %files -n dvb-utils %license COPYING %doc ChangeLog README TODO %{_bindir}/dvb-* %{_bindir}/dvbv5-* %{_mandir}/man1/dvb-*1%{ext_man} %{_mandir}/man1/dvbv5-*1%{ext_man} %files -n libdvbv5-%{so_ver} %{_libdir}/libdvbv5.so.%{so_ver}* %files -n libdvbv5-%{so_ver}-lang -f "libdvbv5.lang" %files -n libdvbv5-devel %license COPYING.libdvbv5 %doc TODO.libdvbv5 %{_includedir}/libdvbv5/ %{_libdir}/libdvbv5.so %{_libdir}/pkgconfig/libdvbv5*.pc %files -n libv4l %license COPYING.libv4l %doc ChangeLog README README.libv4l TODO %{_libdir}/libv4l/ %files -n libv4l1-%{so_ver} %{_libdir}/libv4l1.so.%{so_ver}* %files -n libv4l2-%{so_ver} %{_libdir}/libv4l2.so.%{so_ver}* %files -n libv4l2rds%{so_ver} %{_libdir}/libv4l2rds.so.%{so_ver}* %files -n libv4lconvert%{so_ver} %{_libdir}/libv4lconvert.so.%{so_ver}* %files -n libv4l-devel %license COPYING.libv4l %doc README.lib-multi-threading %{_includedir}/libv4l*.h %{_libdir}/libv4l*.so %{_libdir}/pkgconfig/libv4l*.pc %if %{with qv4l2} %files -n qv4l2 %license COPYING %doc ChangeLog README TODO %{_bindir}/qv4l2 %{_datadir}/applications/qv4l2.desktop %dir %{_datadir}/icons/hicolor %dir %{_datadir}/icons/hicolor/??x?? %dir %{_datadir}/icons/hicolor/??x??/apps %dir %{_datadir}/icons/hicolor/scalable %dir %{_datadir}/icons/hicolor/scalable/apps %{_datadir}/icons/hicolor/*/apps/qv4l2.* %{_mandir}/man1/qv4l2.1%{ext_man} %endif %changelog * Mon Oct 1 2018 schwab@suse.de - sysmacros.patch: include for minor * Mon Jun 4 2018 mpluskal@suse.com - Update to version 1.14.2: * keytable: abi no longer set LIRC_CAN_REC_SCANCODE for raw devices * ir-ctl: abi no longer set LIRC_CAN_SEND_SCANCODE for raw devices * Tue Feb 6 2018 asterios.dramis@gmail.com - Update to version 1.14.1: * Lot of changes, see ChangeLog for details. * Fri Jul 7 2017 asterios.dramis@gmail.com - Update to version 1.12.5: * dvb-scan: fix the logic for multi-section handling From version 1.12.4: * libdvbv5: T2 delivery descriptor: fix wrong size of bandwidth field * desc_t2_delivery: consider valid to have a short T2 descriptor * desc_t2_delivery: properly handle cell and subcell tables * desc_t2_delivery: improve print dumps of T2 delivery * desc_t2_delivery: resize frequency array for subcel freqs * libdvbv5: add support for more PMT descriptors * libdvbv5: fix T2 delivery descriptor parsing in dvb_desc_t2_delivery_init() * Tue Apr 4 2017 mpluskal@suse.com - Update to version 1.12.3: * dvb-sat: fix rangeswitch logic * dvb-sat: add verbose options for LNBf settings * dvb-sat: add support for Invacom QPH-031 LNBf * pt_BR: update translation file to reflect latest changes * Tue Feb 14 2017 mpluskal@suse.com - Update to version 1.12.2: * libdvbv5: Link against libudev * buildsystem: Add all files to dist target * v4l2-ctl: Fix unneeded dot in "no hsync lock" * man: Fix typos in dvbv5-scan dvbv5-zap pages * libdvbv5: Improve vdr format output for DVB-T(2) * dvb-fe-tool: add an option to set maximum number of stat samples * libdvbv5: Fix dvb-format-convert segfault * ir-ctl: `strndupa' undefined with --disable-nls - Some packaging cleanup - Recommend dtv-scan-tables-v5 by dvb-utils * Wed Aug 3 2016 asterios.dramis@gmail.com - Update to version 1.10.1: * libdvbv5: Fix decsriptors typo * libv4lconvert: Exclude memsrc implementation for libjpeg-turbo * v4lconvert: Add "PEGATRON CORPORATION" to asus_board_vendor - Replaced libqt5-qtbase-devel build requirement with pkgconfig(Qt5Core), pkgconfig(Qt5Gui), pkgconfig(Qt5OpenGL) and pkgconfig(Qt5Widgets). * Sun Jun 12 2016 tchvatal@suse.com - Run over with spec-cleaner * Sat Jun 11 2016 asterios.dramis@gmail.com - Update to version 1.10.0: * Lots of changes: See ChangeLog for details. * Wed May 11 2016 schwab@suse.de - Don't build qv4l2 on arm * Fri Jan 8 2016 tchvatal@suse.com - Version update to 1.8.1: * See changelog file for in-depth decription of the fixes * Fri Sep 25 2015 mpluskal@suse.com - Add gpg signature - Switch to qt5 on recent releases - Split language packages - Update to 1.8.0 * See ChangeLog for full list of changes * Sun Sep 20 2015 meissner@suse.com - Add -devel pkg to baselibs to build Wine on 64bit only distros * Fri Sep 11 2015 asterios.dramis@gmail.com - Update to version 1.6.3: * v4lconvert: Add ASUS A7Sn to upside down table * v4lconvert: Add ASUS A6R to upside down table * Synchronize with the Kernel * vivid-tpg.h.patch: update to match current upstream tree * sync-with-kernel: add include/linux/media.h * configure.ac: fix qv4l2 if QGLFunctions doesn't exist * libv4lconvert: Fix support for Y16 pixel format * Fri Mar 13 2015 tchvatal@suse.com - Cleanup few conditions for better readability * Sun Feb 1 2015 asterios.dramis@gmail.com - Update to version 1.6.2: * Lots of changes: See ChangeLog for details. - Added doxygen build requirement. - Added new subpackages dvb-utils (split from v4l-utils), libdvbv5 and libdvbv5-devel. * Sat Jul 26 2014 asterios.dramis@gmail.com - Update to version 1.2.1: * Lots of changes: See ChangeLog for details. - Added alsa-devel build requirement. - Use autoreconf to fix build in openSUSE 12.2. - Removed bufferoverflowstrncat.patch (fixed upstream). * Wed Jun 4 2014 asterios.dramis@gmail.com - Update to version 1.0.1: * Lots of changes: See ChangeLog for details. - Removed ImageMagick and sysfsutils-devel build requirements (not needed anymore). - Added pkg-config build requirement. - Use desktop-file-utils instead of update-desktop-files for openSUSE > 12.1. Added desktop-file-utils build requirement for this. - Removed the following patches: * disable_rds_compilation.patch (not needed anymore). * udev-rules-dir.patch (fixed upstream). * use-openat-if-available.patch (fixed upstream). - Added a patch "bufferoverflowstrncat.patch" to fix rpm post build check error "Statement might be overflowing a buffer in strncat". * Thu Jan 2 2014 dmueller@suse.com - fix compiled-in paths by specifying PREFIX and LIBDIR correctly during build * Sat Mar 16 2013 dmueller@suse.com - add use-openat-if-available.patch: * prefer openat over deprecated open syscall (fixes aarch64) * Fri Nov 2 2012 asterios.dramis@gmail.com - Update to version 0.8.9: libv4l changes: * libv4lconvert: Various Pixart JPEG fixes * libv4lconvert: Add more notebooks to the upside down device table Utils changes: * keytable: Add support for Sanyo IR and RC-5-SZ protocol * keytable: Add missing buttons in shipped keytables * v4l2-compliance, v4l-ctl, qv4l2: Sync with development branch - Removed libdvbv5-Add-missing-includes.patch (fixed upstream). * Wed Oct 17 2012 fcrozat@suse.com - Add udev-rules-dir.patch and BuildRequires udev to fix build with new udev rules directory location. * Wed May 30 2012 asterios.dramis@gmail.com - Added a patch (libdvbv5-Add-missing-includes.patch) in order to fix compilation due to missing includes. * Sun Apr 22 2012 asterios.dramis@gmail.com - Update to v0.8.8 Utils changes: * dvb-format-convert: fix argument check and helper message libv4l changes: * tinyjpeg: Better luminance quantization table for Pixart JPEG * tinyjpeg: Fix out of bounds array usage * libv4lconvert: Use bytesperline instead of width * libv4lconvert: Revert Lenovo X201 upside down table entry * libv4lconver: Add 06f8:301b pac7302 based cam to the quirk table * Wed Apr 11 2012 asterios.dramis@gmail.com - Update to v0.8.7 Utils changes: * ir-keytable: Fixed file parsing errors * qv4l2: fix segfault when there are no inputs or outputs * dvb: Merged DVB tools from development branch libv4l changes: * Add some more laptop models to the upside down devices table - Rebased disable_rds_compilation.patch to apply cleanly. * Sun Feb 26 2012 asterios.dramis@gmail.com - Update to v0.8.6 libv4l changes: * Add support for libjpeg >= v7 * Add new matching algorithm for upside down table * Add some more laptop models to the upside down devices table * Retry with another frame on JPEG header decode errors * Improved JL2005BCD support * Set errno to EIO if getting 4 consecutive EAGAIN convert errors * Make software autowhitebalance converge faster * Add quirk support for forced tinyjpeg fallback - Spec file updates: * Added libjpeg-devel in BuildRequires: as direct dependency. * Sun Jan 29 2012 jengelh@medozas.de - Remove redundant tags/sections per specfile guideline suggestions * Thu Aug 18 2011 Rene.vanPaassen@gmail.com - Spec file updates: * Add udev in BuildRequires: for SLE 11 and 11 sp1 (fixes error that /lib/udev/rules.d is not owned by any package). * Sat Jul 23 2011 asterios.dramis@gmail.com - Update to v0.8.5 Utils changes: * parse_em28xx_drxk.pl: New parser for dumps of em28xx with drxk frontend * qv4l2: Add support for bitmap controls * v4l2-ctl: add support for the new bitmask control type * v4l2-ctl: add support for the control event * v4l2-ctl: small bugfixes * v4l2-compliance: various new tests * lib_media_dev: various fixes / cleanups libv4l changes: * Add some more laptop models to the upside down devices table * Add support for SE401 pixelformat * Software autogain tweaks - Rebased disable_rds_compilation.patch to apply cleanly. * Sun Jun 26 2011 asterios.dramis@gmail.com - Update to v0.8.4 Utils changes: * Various small fixes * qv4l2: Add support for configuring the framerate for devices which support this like uvc cams * parse_tcpdump_log.pl: new parser for tcpdump / wireshark made usbmon dumps * New lib_media_dev lib, to pair audio devices with video devices (and other combinations) for now this lives in utils and does not get installed systemwide, as the API is not stable libv4l changes: * Add many more laptop models to the upside down devices table * Some small bugfixes * Add vicam cameras to list of cameras need sw auto gain + whitebalance * Add support for M420 pixelformat * Add support for Y10B pixelformat * Add support for JPGL pixelformat * Modified (rewrote) jpeg decompression code to use libjpeg[-turbo], for much lower cpu load when doing jpeg decompression * Detect usb connection speed of devices * Rewrite src format selection algorithm, taking bandwidth into account and choosing the format which will give us the lowest CPU load while still allowing 30 fps * Intercept S_PARM and redo src format selection based on new fps setting, potentially switching from JPG to YUYV / M420 when the app lowers the fps, resulting in a significant lower cpu load - Spec file updates * Require libv4l in the libraries. * Minor other updates. - Fixed rpmlint warning "wrong-icon-size". - Removed the desktop file and icon for qv4l2 (they are provided by the package now). - Rebased disable_rds_compilation.patch to apply cleanly. * Sun May 8 2011 asterios.dramis@gmail.com - Update to v0.8.3 * Name changed to v4l-utils (libv4l + some utils). * Lots of changes (see ChangeLog). - Spec file updates * Changes based on rpmdevtools templates and spec-cleaner run. * Changes to incorporate the addition of the utils. * Updates Licenses (based on Fedora). - Added desktop file and icon for qv4l2 (taken from Fedora package). - Removed libv4l-nonvoid_return.diff patch (fixed upstream). - Added a patch to disable compilation of utils/rds (fails to compile with ic2-dev.h from ic2-tools). * Thu Jun 10 2010 wittemar@googlemail.com - build libv4l-32bit * Mon May 17 2010 coolo@novell.com - remove explicit version requires to non-versioned package from shared libraries - buildrequire pkg-config to fix provides * Mon Feb 22 2010 ro@suse.de - buildfix: "control reaches end of non-void function" * Mon Feb 22 2010 bphilips@novell.com - Upstream doesn't provide bz2. Change back to gz in URL. * Mon Feb 22 2010 bphilips@novell.com - Update to v0.6.4 - Add more laptop models to the upside down devices table - Add error checking to mr97310a decompression - Increase mr97310a minimum clockdiv upon 3 consecutive decoding errors - Add support for decompressing CPIA1 compressed YUV - Speed up autogain algorithm - Updates from v0.6.3 - Add more laptop models to the upside down devices table - Improved mr97310a decompression - Add support for decompressing yuv420 planar JPEG (one component per SOS, 3 SOS per frame), this is needed for w9968cf based cams - Add support for STV0680 raw bayer data - Updates from v0.6.2 - Add more laptop models to the upside down devices table - Put usb id in controls shm segment name for USB devices, to better distuingish between devices plugged into the same port - Enable software whitebalance and autogain for mr97310a cameras - Improvements / tweaks to software autogain algorithm * Fri Jan 15 2010 chris@computersalat.de - cleanup spec * shared libs to subpkg * added debug_package_requires * bzipped source - rpmlint * devel-package-with-non-devel-group * summary-not-capitalized - added baselibs.conf as a source2 o and updated * Tue Sep 1 2009 schaeferf.obs@googlemail.com - Update to v0.6.1 - Add more laptop models to the upside down devices table - Bugfix: fixup 320x240 output for pac7302 cameras - Bugfix: fix reqbuf Device or Resource busy error when using v4l2_read() - Some applications want to use jpg format if possible, so do not hide it from the apps (do not assume it always needs conversion) - Change controls shm segment name to include the username, as it is only writable by the user (this means libv4l controls are per user) (Gregor Jasny) - Add support for decompressing sn9c2028 compressed bayer (Theodore Kilgore) - Report V4L2_FMT_FLAG_EMULATED in v4l2_fmtdesc flags for emulated formats * Thu Aug 6 2009 schaeferf.obs@googlemail.com - Update to v0.6.0 - Software whitebalancing, automatic gain, exposure and gamma control for cams which lack this in hardware - Fake v4l2 controls to control all these - Software flipping controls - Recognize disabled controls and replace with fake equivalents where available - Add tons of laptop models to the upside down devices table - Add support for decompressing ov511 and ov518 "JPEG" - Improved pac207 decompression code - Support for rgb565 source format - Many bug fixes - Merge spec files from drivers:webcam and openSUSE:Factory * Tue Mar 10 2009 bphilips@suse.de - Add baselibs.conf to build -32bit packages - Version bump to 0.5.8 * Add support for UYVY (for USB Apple iSight) patch by Julien BLACHE * Remove v4lconvert_yvyu_to_yuv420 function as its functionality is duplicate with v4lconvert_yuyv_to_yuv420 * Use Requires.private where appropiate in .pc files (patch by Gregor Jasny) * Switch to using USB-id's instead of USB product string, as not all devices set a unique product string. This fixes the upside down issues with genius e-messenger 112 cams * Add support for sn9c20x-i420 format patch by Vasily Khoruzhick * Thu Dec 4 2008 bphilips@suse.de - Version bump to 0.5.7 * Fix a nasty (and stupid) bug in the special try_fmt handling for UVC cams * Add some more verbose logging of various calls when asking libv4l to log calls to a file, to assist in (future) debugging libv4l-0.5.6 * Always do a s_fmt on uvc cams even if this changes nothing, as not doing the s_fmt triggers a bug in the uvcvideo driver in kernel <= 2.6.28 (with certain cams) libv4l-0.5.5 * Avoid the use of try_fmt as much as possible on UVC cams, instead use the results of the enum_framesizes ioctl. This is because: 1) try_fmt actually causes IO with UVC cams making apps which do lot of querrying of device capabilities slow (cheese) 2) some buggy cams don't like getting lots of UVC video probes and crash when they do libv4l-0.5.4 * Don't report DQBUF errors when errno is EAGAIN, this fixes flooding the screen with errors when applications use non blocking mode * Add support for downscaling to make apps which want low resolutions (skype, spcaview) happy when used with cams which can only do high resolutions (by Lukáš Karas ). * Add support for converting to YV12 planar (next to the already supported YU12 / I420) * Implement RGB/BGR24 -> YU/YV12 conversion libv4l-0.5.3 * When conversion requires multiple passes don't alloc the needed temporary buffer on the stack, as some apps (ekiga) use so much stack themselves this causes us to run out of stack space libv4l-0.5.2 * Add Philips SPC210NC to list of cams with upside down sensor, reported by Rieker Flaik * Work around some drivers (pwc) not properly reflecting what one gets after a s_fmt in their try_fmt answer * Check that s_fmt atleast gives us the width, height and pixelformat try_fmt promised us, and if not disable conversion * Only check width, height and pixelformat when checking if we are doing conversion, instead of doing a memcmp, as that are the only things which the convert code checks * Take into account that the buffers only contain half of the lines when field is V4L2_FIELD_ALTERNATE libv4l-0.5.1 * Add support for software cropping from 352x288 -> 320x240 / 176x144 -> 160x120, so that apps which will only work with vga resolutions like 320x240 (Skype!) will work with cams/drivers which do not support cropping CIF resolutions to VGA resolutions in hardware. This makes all 2.6.27 gspca supported cams, except for the pac7302 which only does 640x480 (and skype wants 320x240), work with skype * The v4lconvert_convert function was becoming a bit of a mess, so split the functionailiy into separate v4lconvert_convert_pixfmt, v4lconvert_rotate and v4lconvert_crop functions, and make v4lconvert_convert a frontend to these * Do not link the wrapper libs against libpthread (patch from Gregor Jasny) libv4l-0.5.0 * Add support for enumerating framesizes and frameintervals of emulated formats when the driver supports it for the real format * Make sure the video device always gets opened RW even if the application asks for RO * Add Genius E-Messenger 112 (093a:2476) to list of cams which have their sensor upside down libv4l-0.4.3 * Add suport for YUYV and YVYU packed pixel formats (Jean-Francois Moine) * Prefer compressed pixformats for resolutions > 176x144 libv4l-0.4.2 * The bayer pixel order in gspca's sonixb driver was different from that in the sn9c102 driver from the mainline kernel, a recent gspca patch fixes this, adjust libv4l to match (and make it work properly with the sn9c102 driver). libv4l-0.4.1 * When the driver supports read() and we are not converting let the driver handle read() instead of emulating it with mmap mode * Fix errors and warnings when compiling with ICC (Gregor Jasny) * Add support to libv4lconvert for rotating images 90 (for Pixart 7302 cams) or 180 (Philips SPC200NC / Philips SPC300NC) degrees * Add support for Pixart custom JPEG format * Hide non public symbols (Gregor Jasny) * Fix and enable x86_64 asm jpeg decompress helper functions (Gregor Jasny) * Fri Aug 15 2008 bphilips@suse.de - Initial SuSE package