summaryrefslogtreecommitdiff
path: root/v4l2-apps/libv4l/libv4lconvert/libv4lconvert.c
AgeCommit message (Collapse)Author
2009-07-16libv4l: Make library subdir name configurablehans@rhel5-devel.localdomain
From: Gregor Jasny <gjasny@googlemail.com> While studying the Debian library package name, I noticed that private So /usr/lib/libv4l should become /usr/lib/libv4l0. As this would break existing scripts, I suggest to start versioning with the next soname bump. The line in the makefiles will then read: ifeq ($(LIBSUBDIR),) LIBSUBDIR = libv4l$(LIB_RELEASE) endif Unfortunately, the private subdirs in Debian must be named after the library package, which would be libv4l-0. Therefore I need to configure the LIBSUBDIR at compile time. Priority: normal Signed-off-by: Gregor Jasny <gjasny@googlemail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-07-09libv4l: Improved pac207 decompression codehans@rhel5-devel.localdomain
From: Hans de Goede <hdegoede@redhat.com> Improved pac207 decompression code to also support higher compression modes of the pac207, which enables us to use higher framerates. Many many thanks to Bertrik Sikken for figuring the decompression out! Priority: normal Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-07-03libv4l: add support for RGB565 formathans@rhel5-devel.localdomain
From: Mauro Carvalho Chehab <mchehab@redhat.com> Currently, em28xx driver outputs webcams only at RGB565 format. However, several webcam applications don't support this format. In order to properly work with those applications, a RGB565 handler should be added at libv4l. Tested with Silvercrest 1.3 mpix with v4l2grab (V4L2, with native libv4l support) and two LD_PRELOAD applications: camorama (V4L1 API) and skype (using compat32). Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-06-16libv4l: Fix a bug in the always report widths which are a multiple of 8 codehans@rhel5-devel.localdomain
From: Hans de Goede <hdegoede@redhat.com> Fix a bug in the always report widths which are a multiple of 8 code added in 0.5.97 Priority: normal Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-06-14libv4l: Detect ov518 decompression errorshans@rhel5-devel.localdomain
From: Hans de Goede <hdegoede@redhat.com> Sometimes the ov518 gives us an incomplete frame, detect this and throw it away. Priority: normal Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-06-12libv4l: add support for decompressing ov511 compressed frameshans@rhel5-devel.localdomain
From: Hans de Goede <hdegoede@redhat.com> libv4l: add support for decompressing ov511 compressed frames Priority: normal Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-06-08libv4l: move ov518 decompression code to an external helperhans@rhel5-devel.localdomain
From: Hans de Goede <hdegoede@redhat.com> Change support for decompressing ov518 "JPEG" to piping data through an external helper as I've failed to contact Mark W. McClelland to get permission to relicense the code. If you know a working email address for Mark W. McClelland, please let me know. Priority: normal Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-06-05libv4l: add support for decompressing ov518 JPEGhans@rhel5-devel.localdomain
From: Hans de Goede <hdegoede@redhat.com> Add support for decompressing ov518 "JPEG", note this code is not LGPL yet, I'm waiting for a license change permission. If I do not get one this will be moved to an external helper and the data will be piped through this, to keep libv4l2.so LGPL Priority: normal Signed-off-by: Hans de Goede
2009-06-02libv4l: initial support for compiling on FreeBSDhans@rhel5-devel.localdomain
From: Hans Petter Selasky <hselasky@freebsd.org> Add a patch by Hans Petter Selasky <hselasky@freebsd.org>, which should lead to allowing use of libv4l (and the Linux webcam drivers ported to userspace usb drivers) on FreeBSd, this is a work in progress Priority: normal Signed-off-by: Hans Petter Selasky <hselasky@freebsd.org> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-05-26libv4l: fix a crash when doing processing on non rgb / bayer datahans@rhel5-devel.localdomain
From: Hans de Goede <hdegoede@redhat.com> We were calling processing on the rotate90_src, but when doing single conversion and not doing rotate90 that was not pointing the buffer we should do the processing on (the converted data), but instead it was pointing to the original src buffer. Priority: normal Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-05-25libv4l: add software autogain / exposurehans@rhel5-devel.localdomain
From: Hans de Goede <hdegoede@redhat.com> Add software autogain / exposure, for camera's which have gain and exposure controls but do not contain the ability to calculate the average lumination in hardware (which is needed to do this in the kernel). This patch enables this for the spca561 rev12a, but it should be usefull for other cameras too. Priority: normal Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-05-22libv4l: add support for adding black borders (reverse cropping)hans@rhel5-devel.localdomain
From: Hans de Goede <hdegoede@redhat.com> Add the capability to provide 320x240 to apps if the cam can only do 320x232 (some zc3xx cams) by adding black borders. And more in general the capability to make certain standard resolutions available by adding black borders to slightly smaller resolutions, in case we encounter more cams which have a hardware limitation which makes them do a resolution slightly smaller then the standard ones. Priority: normal Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-05-21libv4l: rewrite video processing codehans@localhost.localdomain
From: Hans de Goede <hdegoede@redhat.com> Rewrite video processing code to make it easier to add more video filters (and with little extra processing cost). As part of this the normalize filter has been removed as it wasn't functioning satisfactory anyways Priority: normal Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-05-20libv4l: add fake controls controlling the software h- and v-flippinghans@rhel5-devel.localdomain
From: Hans de Goede <hdegoede@redhat.com> When we need to go through the fake mmap buffer anyways, we can add fake controls at no cost. So in the case of webcams which only support non standard pixformats, export fake flipping controls, as this can be done at no (performace) cost (until the user activates them). Priority: normal Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-05-19libv4l: support separate vfliping and hflipinghans@rhel5-devel.localdomain
From: Hans de Goede <hdegoede@redhat.com> Before this patch libv4l only support 180 degree rotation, which is hflip and vflip combined, this patch adds support for separate hflipping and vflipping. Priority: normal Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-04-14libv4l: crop widths to the nearest multiple of 8 when converting to YUV420hans@rhel5-devel.localdomain
From: Hans de Goede <hdegoede@redhat.com> Some applications / libs (*cough* gstreamer *cough*) will not work correctly with planar YUV formats when the width is not a multiple of 8, so crop widths which are not a multiple of 8 to the nearest multiple of 8 when converting to planar YUV Priority: normal Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-04-14libv4l: Only allow supported destination formats when doing processinghans@rhel5-devel.localdomain
From: Hans de Goede <hdegoede@redhat.com> Only report / allow supported destination formats in enum_fmt / try_fmt / g_fmt / s_fmt when processing, rotating or flipping. Priority: normal Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-04-14libv4l: Enable whitebalancing algorithm based on USB id'shans@rhel5-devel.localdomain
From: Hans de Goede <hdegoede@redhat.com> * Determine wether or not to do whitebalance and/or normalize at all based on USB-ID's. * Add rotate90 hack to flags based on usb-id. Priority: normal Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-04-13libv4l: add video processing: whitebalance and normalizehans@rhel5-devel.localdomain
From: Hans de Goede <hdegoede@redhat.com> As the version number shows this work is the basis for a beta release of the 0.6.x series, the big change here is the addition of video processing to libv4l currently this only does whitebalance and normalizing (which turns out to be useless for most cams) but the basic framework for doing video processing, and being able to control it through fake v4l2 controls using for example v4l2ucp is there. The initial version of this code was written by 3 of my computer science students: Elmar Kleijn, Sjoerd Piepenbrink and Radjnies Bhansingh. This initial hg commit is a cleaned up and somewhat bug fixed version of their code. Priority: normal Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-04-10libv4l: Add support to use orientation from VIDIOC_ENUMINPUThans@rhel5-devel.localdomain
From: Adam Baker <linux@baker-net.org.uk> Add check to libv4l of the sensor orientation as reported by VIDIOC_ENUMINPUT Priority: normal Signed-off-by: Adam Baker <linux@baker-net.org.uk> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-03-27libv4l: Fix upside down detection with certain usb deviceshans@rhel5-devel.localdomain
From: Hans de Goede <hdegoede@redhat.com> * adjust libv4l's upside down cam detection to also work with devices which have the usb interface as parent instead of the usb device * fix libv4l upside down detection for the new v4l minor numbering scheme Priority: normal Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-03-16libv4l: drop bad sn9c20x jpeg frameshans@rhel5-devel.localdomain
From: Brian Johnson <brijohn@gmail.com> sn9c20x cams have occasional bad jpeg frames, drop these to avoid the flickering effect they cause, by: Brian Johnson <brijohn@gmail.com> Priority: normal Signed-off-by: Brian Johnson <brijohn@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-03-13libv4l: add hm12 support for the cx2341x MPEG encoder devices.hans@rhel5-devel.localdomain
From: Hans Verkuil <hverkuil@xs4all.nl> Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-03-11libv4l: libv4lconvert support for SQ905Chans@rhel5-devel.localdomain
From: Theodore Kilgore <kilgota@auburn.edu> Support the decompression used by the SQ905C cameras (0x2770:0x905C) and some other related cameras. There is at the moment no support module for these cameras in streaming mode, but I intend to submit one. This contribution was created in whole by me, based upon code in libgphoto2 which was created in whole by me, and which was licensed for libgphoto2 under the LGPL license. Priority: normal Signed-off-by: Theodore Kilgore <kilgota@auburn.edu> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-03-11libv4l: Add MR97310A decompressionhans@rhel5-devel.localdomain
From: Kyle Guinn <elyk03@gmail.com> libv4l: Add MR97310A decompression Priority: normal Signed-off-by: Kyle Guinn <elyk03@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-03-11libv4l: remove some code duplication in bayer handlinghans@rhel5-devel.localdomain
From: Hans de Goede <hdegoede@redhat.com> remove some code duplication in bayer handling Priority: normal Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-03-11libv4l: add sn9c20x-i420 decoderhans@rhel5-devel.localdomain
From: Vasily Khoruzhick <anarsoul@gmail.com> Recent sn9c20x driver written by microdia project (http://groups.goolge.com/group/microdia) introduce new output format - sn9c20x-i420. This format is actually scrambled yuv420, so it's very easy and fast to convert it to yuv420. This patch adds sn9c20x-i420 decoder to the libv4l-0.5.7 This decoder is much faster than jpeg one (sn9c20x supports JPEG too): sn9c20x-i420 decoder eats only 10% of 1GHz CPU at 640x480x25fps vs 40% of 1GHz CPU in jpeg at same frame size/rate. This format should be preffered for sn9c20x, because sn9c20x driver supports SBGGR8 too, so it should go before SBGGR8 in supported_src_pixfmts. Priority: normal Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com
2009-03-11libv4l: us USB-id's instead of USB product string in upside down dev tablehans@rhel5-devel.localdomain
From: Hans de Goede <hdegoede@redhat.com> 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 Priority: normal Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-03-11libv4l: remove duplicate v4lconvert_yvyu_to_yuv420 functionhans@rhel5-devel.localdomain
From: Hans de Goede <hdegoede@redhat.com> Remove v4lconvert_yvyu_to_yuv420 function as its functionality is duplicate with v4lconvert_yuyv_to_yuv420 Priority: normal Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-03-11libv4l: add UYVY supporthans@rhel5-devel.localdomain
From: Julien BLACHE <jb@jblache.org> Attached is a patch to add UYVY support to libv4lconvert. It's obviously a shameless respin of the YVYU conversion routines :P Tested on a USB Apple iSight, which only supports UYVY. Priority: normal Signed-off-by: Julien BLACHE <jb@jblache.org> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-03-11libv4l: 0.5.7 releasehans@rhel5-devel.localdomain
From: Hans de Goede <hdegoede@redhat.com> * 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 Priority: normal Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-03-11libv4l: avoid try_fmt on UVC cams if possiblehans@rhel5-devel.localdomain
From: Hans de Goede <hdegoede@redhat.com> 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 querying of device capabilities slow (cheese) 2) some buggy cams don't like getting lots of UVC video probes and crash when they do Priority: normal Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-03-11libv4l: add support for converting to YV12 planarhans@rhel5-devel.localdomain
From: Hans de Goede <hdegoede@redhat.com> Add support for converting to YV12 planar (next to the already supported YU12 / I420) and implement RGB/BGR24 -> YU/YV12 conversion Priority: normal Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-03-11libv4l: add support for downscalinghans@rhel5-devel.localdomain
From: Lukáš Karas <lukas.karas@centrum.cz> Add support for downscaling to make apps which want low resolutions (skype, spcaview) happy when used with cams which can only do high resolutions. Priority: normal Signed-off-by: Lukáš Karas <lukas.karas@centrum.cz> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-03-11libv4l: dont try to allocate large buffers on the stackhans@rhel5-devel.localdomain
From: Hans de Goede <hdegoede@redhat.com> 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 Priority: normal Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-03-11libv4l: buffers only contain half of the lines with V4L2_FIELD_ALTERNATEhans@rhel5-devel.localdomain
From: Hans de Goede <hdegoede@redhat.com> Take into account that the buffers only contain half of the lines when field is V4L2_FIELD_ALTERNATE Priority: normal Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-03-11libv4l: don't use memcmp to compare pix_formatshans@rhel5-devel.localdomain
From: Hans de Goede <hdegoede@redhat.com> 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 Priority: normal Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-03-11libv4l: Add Philips SPC210NC to list of cams with upside down sensorhans@rhel5-devel.localdomain
From: Hans de Goede <hdegoede@redhat.com> libv4l: Add Philips SPC210NC to list of cams with upside down sensor Priority: normal Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-03-11libv4l: Add software cropping from CIF to VGA modes (fix skype)hans@rhel5-devel.localdomain
From: Hans de Goede <hdegoede@redhat.com> * 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 seperate v4lconvert_convert_pixfmt, v4lconvert_rotate and v4lconvert_crop functions, and make v4lconvert_convert a frontend to these Priority: normal Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2009-02-13v4l2-apps: move libraries around to make the directory tree flatterHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Instead of having libv4l2util in v4l2-apps/lib and libv4l in v4l2-apps/lib/libv4l, both are now moved to v4l2-apps/libv4l2util and v4l2-apps/libv4l. This is much cleaner and less confusing. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>