Commit Graph

14 Commits

Author SHA1 Message Date
Vadim Yanitskiy f23b747364 libosmogapk: introduce the internal root talloc context
In order to simplify memory leak debugging, this change introduces
the library's internal talloc context that may be changed by
external application by calling the osmo_gapk_set_talloc_ctx().
2017-12-31 12:20:59 +01:00
Vadim Yanitskiy 14637746d3 libosmogapk: fix memory leak in both AMR and EFR codecs
The memory, allocated by codec_efr_init() / codec_amr_init(),
was not cleaned after calling the codec_exit(). Found using
talloc memory debugging API.
2017-12-31 12:20:59 +01:00
Vadim Yanitskiy 3c20dac38c libosmogapk: use talloc for memory management 2017-12-31 12:20:59 +01:00
Vadim Yanitskiy ba46856bb4 benchmark: move benchmark impl to a private header
There is no need to expose the implementation details of both
BENCHMARK_START and BENCHMARK_STOP macros via public header.
This change moves them to a separate private header 'bench.h'.
2017-12-31 12:20:59 +01:00
Vadim Yanitskiy a8d46571ce Add an 'osmo_gapk' prefix to the exposed symbols
To avoid a naming conflict between libosmogapk and other projects
during linkage, all the exposed symbols should have an unique
prefix. Let's use 'osmo_gapk' for that.
2017-12-31 12:20:59 +01:00
Vadim Yanitskiy 30209ceddd Install GAPK headers to '${includedir}/osmocom/gapk/'
To be able to use the library, external applications need to know,
which symbols are exposed. This information is provided by header
files, which are being installed to a system's ${includedir}
since this change.
2017-12-31 12:20:59 +01:00
Harald Welte fa93cec8a1 EFR codec fixup.
While EFR has a canonical format of 31 bytes, the codec_efr.c *does not*
use that canonical format as input.  Rather, it uses the format of .amr
files with a 0x3C header as first byte.  So the resulting encode/decode
functions should not assume 31 bytes, but 32 bytes.
2017-05-28 20:58:10 +02:00
Harald Welte 5912848d2e prepare gapk for dealing with variable-length frames
The existing architecture was modelled around fixed-length codec frame
sizes, which of course fails with multi-rate codecs such as AMR.
2017-05-28 10:44:06 +02:00
Harald Welte 62688b60c2 introduce #defines for canonical length + use them 2017-05-28 10:20:26 +02:00
Harald Welte 7a04624563 Add cycle benchmarking support
This enables benchmarking of the codec.  It will print
the amount of CPU cycles needed for encoding/decoding a single
20ms frame on average.
2014-05-08 19:18:01 +02:00
Sylvain Munaut db837250de codec: Fix opencore nb include path
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2012-12-08 19:14:11 +01:00
Sylvain Munaut f624d18067 codec: Fix EFR codec encoder function. Return value is #bytes
32 is the normal value

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-11-12 20:53:53 +01:00
Sylvain Munaut 8552b9dc0c codec/efr: Add support for encoding/decoding using OpenCore AMR NB
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-11-11 20:26:41 +01:00
Sylvain Munaut cca11553e5 codec: Add preliminary codecs definitions for HR/FR/EFR
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-10-29 11:49:33 +02:00