On Thursday 21 March 2002 09:03 am, Downes, David wrote: > I've been following the discussion with interest and if I've understood the > various posts correctly the problem is that some applications don't do > gamma correction etc which is required by some users. As far I understand, > it is the case that all kernel drivers should ideally be as minimal as > possible while providing a suitable standardised cross device interface > and, possibly non-standard access to unique hardware capabilities > (definitely a difficult compromise :-) One solution is to provide a common > library for applications to use in user space to provide the requested > video manipulations i.e. make the library easy to incorporate and hope most > applications make use of it. Here's the arguments that I think are getting lost in the discussion: 1) A "correct" v4l application is supposed to be able to decode 18 different color space encodings. I know of no v4l app that is "correct". A library which can convert all 18 color spaces to one (RGB) or two (RGB, YUV) formats would be of value. 2) There are some adjustments that a driver writer knows needs to be done with images from their device in order to get a good image, but cannot do it in kernel space and have no way of communicating this information to an application. I keep using gamma for #2 because that is something that cannot be done in the general case in the kernel without resorting assembly language because there is no available pow() function. (maybe I'm a lightweight because I don't know how to do a simple integer math polynomial approximation of X^Y) > Is a possible solution to in effect use a V4L dummy driver, which redirects > application requests to a user space video processing module, which intern > accesses the real video device via v4l? Any manipulations can therefore be > done on the image, with out the application software needing to be changed. This is exactly what I've been saying I think we need. A user space component to the driver that can manipulate the image until it is good without the application software needing to be changed. Those who disagree with me argue that the application software needs to be changed. Apparently loading the user interface with more controls and adjustments is a good thing. I disagree. Some users will like the finer grained controls (which I've never suggested doing away with), most will find the interface more difficult to use than its counterpart in other OS's. Some tweaking of those finer grained controls has to happen to make the image good.