aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2017-05-28EFR ("fmt_amr") fixuplaforge/rtpHarald Welte1-1/+1
2017-05-28print_help(): Fix formatting of help textHarald Welte1-4/+2
2017-05-28Add support for RTP with GSM-HR payload according to RFC5993Harald Welte4-1/+85
This is incompatible with the ETSI TS 101 318 format!
2017-05-28Add support for RTP with GSM-HR payload according to ETSI TS 101 318Harald Welte4-1/+68
2017-05-28Add "rtp-efr" format support for RTP payload according to RFC3551 4.5.9Harald Welte4-1/+78
The RTP EFR payload is a bit like the FR payload: one nibble magic marker, then followed by the actual codec bits. So we need to add/remove that magic marker and shift the remainder by one nibble.
2017-05-28Fix HR codec block sizesHarald Welte3-5/+4
The ETSI reference codec actually uses an array of 20/22 16bit values rather than a "canonical" format. The conversion is what fmt_hr_ref.c is doing. However, codec_hr.c must then subsequently not check for the canonical input/output sizes, but those specific to it.
2017-05-28Print some useful information while putting together the procqueueHarald Welte5-0/+13
2017-05-28print meaningful error messages if something goes wrong in main/pqHarald Welte3-10/+34
2017-05-28Add AMR codec supportHarald Welte8-2/+245
After merging this change, there is support for the AMR codec (by means of libopencore-amr, which is already used for EFR). In terms of gapk formats, we introdude * the "amr-opencore" format, which serves both as the canonical format, and as the input format to opencore-amrnb itself. * the "rtp-amr" format, which is the payload of RFC4867 octet-aligned mode You can use the following command for a real-time RTP playback for AMR frames: ./gapk -I 0.0.0.0/30000 -f rtp-amr -A default -g rawpcm-s16le
2017-05-28more API documentationHarald Welte3-0/+26
2017-05-28prepare gapk for dealing with variable-length framesHarald Welte17-99/+191
The existing architecture was modelled around fixed-length codec frame sizes, which of course fails with multi-rate codecs such as AMR.
2017-05-28introduce #defines for canonical length + use themHarald Welte6-5/+10
2017-05-28Add ALSA input/output support to GAPKHarald Welte5-6/+214
The ALSA source/sink uses the pcm-s16le format.
2017-05-28RTP: give meaningful error messages if something failsHarald Welte1-8/+24
In fact, it should probably be better to silently ignore all those errors as opposed to aborting the entire processing queue? But that's for another patch...
2017-05-27add some more comments throughout the codeHarald Welte7-1/+53
2016-01-01benchmark: Fix cpuid clobberingSylvain Munaut1-2/+2
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2015-12-30main: Fixup the help screenSylvain Munaut1-1/+1
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2015-12-30libgsmhr: Make it safe to decode/encode different streams at onceSylvain Munaut2-0/+34
Basically the reference code has a bunch of global state. With some minimal patchihg (previous commit) we can ensure that all that state is within .bss So what we do it to save/restore the bss section between calls of the reference code so we can process several in // and we don't have to completely fix all reference to global state in the reference codec. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2015-12-30libgsmhr: Add some code cleanup / speedup patches for reference codecSylvain Munaut5-1/+388
Mostly this will help witht the upcoming bss switcheroo patch Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2015-12-30libgsmhr: Use patch instead of 'sed'Sylvain Munaut3-3/+552
Patches are without function-name and without context to minimize what we have to include. The current patchset does exactly what the previous 'sed' did, but this will make it easier to add more. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2015-12-30libgsmhr: Fix parallel build dependencySylvain Munaut1-1/+1
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2015-12-30libgsmhr: fix Makefile.am dependency on source downloadSylvain Munaut1-1/+1
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2015-12-30libgsmhr/fetch_sources: Only use the filename and not any pathSylvain Munaut1-1/+1
There shouldn't be any but somebody might be nasty :p Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2015-12-30build: Don't build static librariesSylvain Munaut1-1/+1
They won't be supported anyway when using the 'bss switcheroo' hack for libgsmhr Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2015-12-30build: Use autotools 'subdir-objects' optionSylvain Munaut2-2/+2
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2015-12-30benchmark: Make sure to print to stderrSylvain Munaut1-2/+4
stdout can be used for data output ... Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2015-11-05ensure all gapk header files are included in 'dist'v0.3Harald Welte1-1/+5
2015-11-05Fix dist / distcheck targets by including fetch_sources.py in EXTRA_DISTHarald Welte1-1/+3
2015-11-05add git-version-gen to auto-generate version from git repo tagsv0.2Harald Welte2-1/+153
2014-05-08Add cycle benchmarking supportHarald Welte10-4/+310
This enables benchmarking of the codec. It will print the amount of CPU cycles needed for encoding/decoding a single 20ms frame on average.
2013-12-13libgsmhr: Update source locationSylvain Munaut1-1/+1
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2013-06-17build: Use AM_CPPFLAGS in Makefile.amSylvain Munaut3-3/+3
Since automake 1.13 INCLUDES is depricates and causes a warning Inspired from similar patches by Alexander Huemer for other osmocom projects Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2013-02-11gapk: make sure the output file is closed/flushed on ctrl+cHarald Welte1-1/+21
This is useful particularly in case you are reading from RTP and writing to a file, and don't want truncated codec frames in your file.
2013-02-11gapk: Add support for RTP input/output streamsHarald Welte5-13/+349
Instead of having only file-based I/O, this enables gapk to receive and send RTP streams, e.g. from live GSM network equipment like sysmoBTS/nanoBTS. Support is currently simplistic. On transmit, there is hard-coded codec type of full-rate GSM. On receive-side, we should auto-detect the format based on frame size and/or payload type, but we don't do that yet at all.
2013-02-11gapk main: move fh_in and fh_out to sub-structures in a unionHarald Welte1-16/+31
this is done in preparation to provide something else but file input/output.
2012-12-08codec: Fix opencore nb include pathSylvain Munaut1-2/+2
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2011-09-30autotools: Add AC_LANG_SOURCE required for autotools >= 2.68Sylvain Munaut1-1/+1
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2011-02-25format/fmt_ti: Add support for EFR variantSylvain Munaut3-0/+91
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2011-02-25format/fmt_ti: Add support for HR variantSylvain Munaut3-0/+59
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2011-02-25format: Add support for the TI calypso/locosto dumped buffer formatSylvain Munaut4-1/+84
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-11-13Fix error in configure.ac preventing compiling without opencore-amrnbSylvain Munaut1-1/+1
Obvious typo ... Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-11-12codec: Fix EFR codec encoder function. Return value is #bytesSylvain Munaut1-1/+1
32 is the normal value Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-11-12Update gitignoreSylvain Munaut1-0/+3
2010-11-12[4/4] HR support: Add hooks in gapk to use libgsmhr for encoding/decodingSylvain Munaut2-0/+49
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-11-12[3/4] HR support: Add actual wrapper code to call reference codeSylvain Munaut1-3/+59
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-11-12[2/4] HR support: Add logic to fetch reference source code and build itSylvain Munaut3-1/+84
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-11-12[1/4] HR support: Add autotools skeleton for libgsmhrSylvain Munaut7-1/+141
Not functional yet, just the autotools magic to make a library Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-11-11Add a real main method to does the jobSylvain Munaut1-1/+405
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-11-11format: Add support for Raw PCM Signed 16 bits Little EndianSylvain Munaut4-0/+66
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-11-11procqueue: Add Codec tasksSylvain Munaut3-1/+74
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>