On Wed, 14 May 2008, Greg KH wrote:
On Thu, May 15, 2008 at 03:17:42AM +0200, Markus Rechberger wrote:
Hi Dean, Greg,Adding dean to the cc: line... :)
On 5/14/08, Greg KH <greg@xxxxxxxxx> wrote:<big patch snipped>
From: Dean Anderson <dean@xxxxxxxxxxxx>
Why do you do those conversions in kernelspace?I thought they were there as needed by some V4L1 applications, but that
ffmpeg/libswscale has optimized code for colourspace conversions.
I know a few drivers do that in kernelspace but it's way more flexible
in userspace and depending on the optimization requires less CPU
power.
code was recently removed by Dean I think. If they don't need to be
there, and userspace apps can properly handle the different colorspace,
then I'll be glad to remove them.
Virtually all apps (V4L1 & 2) can handle YUV and RGB colorspaces.
Certainly all the major ones do and all the major libraries as well.
The problem is when the device only supports some vendor specific or
otherwise very uncommon format. In that case not doing the conversion in
the kernel means the device won't work with any existing software without
patches. In this case, while it's not "the right way", drivers often end
up including an in kernel conversion for pragmatic reasons.
This was a problem with the bayer format, but now userspace support for
that format is more common.