[FFmpeg-devel] Apache licensed AMR library, patches

Martin Storsjö martin
Wed Apr 15 21:05:41 CEST 2009

On Wed, 15 Apr 2009, Diego Biurrun wrote:

> On Wed, Apr 15, 2009 at 07:35:54PM +0300, Martin Storsj? wrote:
> > 
> > I've made a wrapper around the AMR codecs from Google Android (from a
> > package named OpenCore, provided by PacketVideo); this is an "as simple as
> > it gets" and proof of concept wrapper providing the same interfaces as
> > libamr-nb/wb as used by ffmpeg. (Benjamin Larsson mentioned the
> > availability of these codecs in October, in
> > http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2008-October/055088.html.)
> I'm not sure this is the best approach.  Is there a disadvantage to
> using a separate wrapper?

The wrapper is very thin and just maps the interface to the AMR 
implementation in OpenCore. The main effort is to be able to build the 
relevant parts without getting all the rest of OpenCore and the kitchen 
sink, and figuring out what's a suitable level of abstraction in the 
OpenCore AMR routines. It could of course be argued that this just should 
be a repackaging of the AMR parts of OpenCore, and support for this as yet 
another external library should be added to ffmpeg.

This was, incidentally, one of the tasks on the "Small FFmpeg Tasks" at 
added by Benjamin Larsson I think.

I don't really have much opinion in this question, this was mostly a proof 
of concept. In this approach, the same drop-in replacement could perhaps 
be used by other projects that currently link to libamr, too.

> Patch is OK and applied, thanks.

Great, thanks!

> > - The license of the codec code is Apache 2.0, which unfortunately isn't
> >   (L)GPL2 compatible, afaik. It is compatible with (L)GPL3 though, and
> >   it's at least legally redistributable, in contrast to the current
> >   libamr-nb/wb.
> Thankfully, due to the efforts of yours truly, FFmpeg is LGPL v2.1+ and
> can be used in conjunction with this code.

Yeah, appreciated indeed!

// Martin

More information about the ffmpeg-devel mailing list