[Ffmpeg-devel] (L)GPLed yuv2rgb code

Siarhei Siamashka siarhei.siamashka
Sat Dec 23 13:47:07 CET 2006

On Saturday 23 December 2006 07:57, Michel Lespinasse wrote:

> It would of course be possible for someone to write a LGPLed routine that
> combines the Y,U,V values to generate an RGB pixel, but for this to be
> LGPLed it should be implemented based on a mathematical description of
> the operation to be performed rather than reuse the same particular
> combination of tables and logical operations that were used in the GPL
> code.

I'm sorry for interfering, but YUV->RGB conversion is a relatively simple
algorithm and requires a limited number of operations performed for 
each pixel (or packed set of pixels). After you have some initial
simple implementation working, a natural step optimizing it is adding 
table lookups to avoid multiplications. As there is a limited set of
instructions needed for each packed set of pixels (for perfectly optimized
code it would be minimal), possibility of this code to match your
implementation precisely or share some significant parts of code 
accidently is quite high.

After I tracked this discussion a bit, I noticed that it reminds me something.
This all sounds not like copyright but software patents issue a bit, do you
have this table lookup algorithm for YUV->RGB conversion patented? ;-)

The problem seems to be not technical, ffmpeg developers are skilled 
enough to implement efficient YUV->RGB conversion, but a bigger problem 
is to avoid this implementation to contain parts similar to your code.
Everyone has only good intentions here, so I believe everything can be solved
in a friendly manner.

Probably the best way to resolve this issue would be if you kindly allow
licensing this code as LGPL for ffmpeg and have your name in the 
copyright notice in ffmpeg sources as you are the original author of this

Just my two cents.

PS. I'm not a ffmpeg developer, but just a casual observer here. I'm sorry if
my interference was unwanted.

More information about the ffmpeg-devel mailing list