On Thu, 2002-03-21 at 09:42, Joe Burks wrote: > IMHO, in the context of image capture from a camera, a driver should be > "Something that delivers a GOOD image to an application". Imo, a driver just does what the device is designed for. If the device is designed to give a bad image, then let the driver give a bad image. [..] > If a driver were broken into two pieces: a kernel portion whose only job is > to get a frame of raw unprocessed data from the camera, and a user space > portion whose job is to convert the raw data into a GOOD image (helped > greatly by the fact that I have access to pow() in user space), then I could > make the kernel purists happy by doing the lightest weight possible tasks in > kernel space and the users and v4l application developers happy by delivering > a high quality video stream to a v4l app. So, let's see... Scaling. How are you gonna scale? There's various ways to do this, either of which has advantages over some of the others. So, which are we gonna use? And how are we going to program it? If I have a better but uglier way, which won't be put in libv4l, then what? Application developers are supposed to be smart people who know what they're doing and can write smart apps. Sure, they can use each others code and make a generic library for some functions, but these functions should in no way be forced upon the developer. If someone has better code, let him use that. Everyone's demands are different. Too different to make one generic library and force everyone to use it. See also Billy's comment on kernel-built-in deinterlacers some time ago. Same story, basically. > Right now I have a somewhat hacked compromise. I allow a bunch of > control of the camera through the /proc interface. So the user can crank up > the amount of processing done in the kernel in order to obtain that all > important GOOD image. It's not the kernel or driver or whatever core library's function to do all that. The application should do that. So, build a nice application for webcam grabbing that can grab images and improve their quality. But never force people upon using one method or the other. It's opensource, it's freedom! Ronald -- - .-. - /V\ | Ronald Bultje <rbultje@xxxxxxxxxxxxxxxxxxx> - // \\ | Running: Linux 2.4.18-XFS and OpenBSD 3.0 - /( )\ | http://ronald.bitfreak.net/ - ^^-^^