sox-devel@lists.sourceforge.net unofficial mirror
 help / color / mirror / code / Atom feed
* AMR codecs
@ 2020-08-13 17:44 Måns Rullgård
  2020-08-13 21:31 ` Måns Rullgård
  0 siblings, 1 reply; 2+ messages in thread
From: Måns Rullgård @ 2020-08-13 17:44 UTC (permalink / raw)
  To: sox-devel

Another day, another library mess.

The AMR speech codec comes in two variants, wide-band and narrow-band.
The only complete implementation I'm aware of is the reference library
from 3GPP.  Although the code is readily available, using it is somewhat
of a legal grey area.  It is not generally available as a distro package.

Then there is the OpenCORE library[1].  Although in part based on the
3GPP code, it is apparently somehow blessed to make it legal.  However,
it only includes decoding.  Yet another library, vo-amrwbenc, can encode
the WB variant but not NB.  Both of these tend to have distro packages.

SoX has support for both the 3GPP and OpenCORE libraries with an unholy
amount of #ifdeffery.  It is made extra convoluted by the option to load
the libraries using dlopen() rather than linking directly.

Whatever shall we do?  I'm trying to clean up the build system, and I
keep stumbling over these things.  On the one hand, I don't like
removing features.  On the other, the lack of any clean AMRNB encoder
suggests that maybe nobody needs one.  I am also concerned about the
security risks brought on by using unmaintained libraries like these.

[1] https://sourceforge.net/projects/opencore-amr/

-- 
Måns Rullgård


_______________________________________________
SoX-devel mailing list
SoX-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sox-devel

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: AMR codecs
  2020-08-13 17:44 AMR codecs Måns Rullgård
@ 2020-08-13 21:31 ` Måns Rullgård
  0 siblings, 0 replies; 2+ messages in thread
From: Måns Rullgård @ 2020-08-13 21:31 UTC (permalink / raw)
  To: sox-devel

Måns Rullgård <mans@mansr.com> writes:

> Then there is the OpenCORE library[1].  Although in part based on the
> 3GPP code, it is apparently somehow blessed to make it legal.  However,
> it only includes decoding.  Yet another library, vo-amrwbenc, can encode
> the WB variant but not NB.  Both of these tend to have distro packages.

Correction, opencore can encode NB but not WB.  This means we can get
rid of the reference library support entirely, leaving only one option
for each of the functions.

-- 
Måns Rullgård


_______________________________________________
SoX-devel mailing list
SoX-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sox-devel

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-08-13 21:31 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-13 17:44 AMR codecs Måns Rullgård
2020-08-13 21:31 ` Måns Rullgård

Code repositories for project(s) associated with this inbox:

	https://80x24.org/mirrors/sox.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).