[FFmpeg-devel] Cleanup libswscale and reimplement GPL code under LGPL

Ramiro Polla ramiro
Mon Apr 7 13:44:26 CEST 2008


Due to the increasing amount of qualified students for GSoC, and the
fact that they mostly want to work on the same projects as me, I have
been studying and applying for other projects besides the ones I
originally mentioned.

Now I've looked at the libswscale cleanup and reimplementation of GPL
code under LGPL. I don't know who can access the GSoC interface, but
here is the project description I wrote:

FFmpeg's libavcodec has native software scaling code (called
imgconvert) that is licensed under the Lesser General Public License
(LGPL). That code has been deprecated in favor a much more powerful
library, libswscale. Unfortunately, libswscale has lots of code
borrowed from General Public License (GPL) projects, so it must itself
be GPL too. Some parts of the code have been rewritten over the years,
but any GPL code makes the entire library GPL too.
In this project I will:
- rewrite the leftover GPL code under LGPL;
- document and provide usage examples;
- reorganize and refactor code;
- other cleanups that seem necessary over the project.

As a secondary goal, switch FFmpeg to use only libswscale, removing the
deprecated imgconvert code.

And a followup description:
Walken suggested once that his code be rewritten in LGPL by someone
that has not looked at his code yet. I have never dug deep into
libswscale, and have only written naive YUV to RGB converters. So we
can't be accused of copying his code since I've never seen it.
My intention is to write new code based on free information on the
Internet and with lots of textual descriptions from the mentors, not
basing myself on the current code.
If OTOH you believe it's ok to read the current code to base myself on,
I will first document it in textual descriptions, and only then go on
to rewriting it.

I've looked at the license headers and a few svn annotates from GPL
files. What parts of the code is left in GPL?

Ramiro Polla

More information about the ffmpeg-devel mailing list