[FFmpeg-devel] Apache licensed AMR library, patches

Diego Biurrun diego
Fri May 15 23:46:40 CEST 2009

On Wed, Apr 15, 2009 at 10:05:41PM +0300, Martin Storsj? wrote:
> 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 finally got around to testing the opencore AMR libraries.  They work
nicely and of course pretty much anything is better than the non-free

> > 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 
> http://wiki.multimedia.cx/index.php?title=Small_FFmpeg_Tasks#Create_a_libamr_compatible_library_of_the_Android_amr_codec, 
> 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.

So where do we go from here?  I'm not sure if it's a good idea to really
build a drop-in replacement for libamr.  There should be some way to
distinguish the two libraries and just use the Apache-licensed one.

One way to achieve this would be to rename the libraries, i.e. not use
libamrnb.* and libamrwb.* as names but libamropencore or whatever



More information about the ffmpeg-devel mailing list