path: root/src/codec
AgeCommit message (Collapse)AuthorFilesLines
2018-07-27Bump version: → Espin Pedrol1-1/+1
Change-Id: I7e66432f37e13fd4c31389e3d89593fa0981e58f
2018-07-21libosmocodec: FR err concealment: Fix too many silent frames generatedPau Espin Pedrol1-10/+6
As stated in its own documentation, reduce_xmaxcr_all() should only return true when ALL XMAXC fields return true. However, previous implementation returned true when at least one of them returned true. As a result, if any of the sections is silent (for instance because one of the bursts was lost), the whole frame is silenced, returning a zeroed buffer. Related: OS#2700 Fixes: 40def49ac4b8babbd1b17c232137ce50a428706b ("libosmocodec: implement ECU (Error Concealment Unit) for FR") Change-Id: I1624b7c6574f53d0593a61645d4fdc5d56cabe96
2018-05-03Bump version: → Espin Pedrol1-1/+1
Remark: For libosmogb and libosmogsm, LIBVERSION was already bumped in c4fce1425e19d604c199c895e227dc2519110456. Change-Id: Ib4fa53a9bb9954ae48d0a610ba9a81dd8e8b4ef6
2018-01-15libosmocodec: implement ECU (Error Concealment Unit) for FRPhilipp Maier2-1/+166
When a bad GSM voice frame is received, it's being replaced by a silence frame. This may cause unpleasant audio effects. This change implements a functionality to craft a replacement frame from the last known good frame. Currently, only FR is supported, support for other codecs may be added latter. Change-Id: I06a21f60db01bfe1c2b838f93866fad1d53fdcd1
2017-11-13Fix/Update copyright notices; Add SPDX annotationHarald Welte4-0/+8
Let's fix some erroneous/accidential references to wrong license, update copyright information where applicable and introduce a SPDX-License-Identifier to all files. Change-Id: I39af26c6aaaf5c926966391f6565fc5936be21af
2017-06-23doxygen: unify use of \file across the boardNeels Hofmeyr4-8/+8
Considering the various styles and implications found in the sources, edit scores of files to follow the same API doc guidelines around the doxygen grouping and the \file tag. Many files now show a short description in the generated API doc that was so far only available as C comment. The guidelines and reasoning behind it is documented at https://osmocom.org/projects/cellular-infrastructure/wiki/Guidelines_for_API_documentation In some instances, remove file comments and add to the corresponding group instead, to be shared among several files (e.g. bitvec). Change-Id: Ifa70e77e90462b5eb2b0457c70fd25275910c72b
2017-06-23doxygen: enable AUTOBRIEF, drop \briefNeels Hofmeyr3-4/+4
Especially for short descriptions, it is annoying to have to type \brief for every single API doc. Drop all \brief and enable the AUTOBRIEF feature of doxygen, which always takes the first sentence of an API doc as the brief description. Change-Id: I11a8a821b065a128108641a2a63fb5a2b1916e87
2017-06-09Include codec.h file from codec C filesHarald Welte3-0/+3
failure to do so would prevent the compiler from catching inconsistencies between declaration and definition. Change-Id: I88617c97adcff328292e501fd5d254eeae96a660
2017-06-09osmo_{fr,hr}_check_sid(): Use const input argumentHarald Welte2-4/+4
Change-Id: If779cce63f06a18d4f3b0cb3d6dd7a99aa52a646
2017-06-09Fix wrongful GSM FR codec SID frame detection in DTX.Jean-Francois Dionne1-10/+10
Based on ETSI TS 101 318 section 5.1.2 the 95 bits SID code word is not detected correctly due to a wrongful offset in the bits location indexes. Change-Id: I45d98c6edf267f313883503a65385190ffbc65ca
2017-05-17add libpseudotalloc as super-simplistic talloc replacementHarald Welte1-0/+5
In tightly embedded builds (--enable-embedded), we want the ability to replace talloc with a very simple heap allocator to avoid the complexity of talloc without modifying all our code that assumes talloc. This will break the hierarchical notion of the allocator, but libosmo{core,gsm,coding,codec} don't rely on that anyway. Change-Id: Ie341034076f242a813f081919dd09d845775ad35
2017-01-10DTX: fix AMR SID-FIRST detectionJean-Francois Dionne1-2/+2
Max's note: adjusted test output. Change-Id: I46477c631bf86345cb757f31d7f2e2935b12adcc Related: OS#1801
2016-12-21Catch-up with git version tagsMax1-1/+2
* update debian/changelog * update TODO-RELEASE * add comments to Makefile.am and TODO-RELEASE to simplify the process in future * add link to libtool docs to Makefile.am to simplify LIBVERSION maintenance Related: OS#1861 Change-Id: I22c257e357f597519120232d742d6a61289db021
2016-11-07Add null-pointer check to osmo_amr_rtp_dec()Max1-3/+3
Check that RTP payload we're about to decode is not NULL and return proper error code instead of segfaulting. Add corresponding test case. Change-Id: Ib6cda9900a41ed16bbfbde9df3de9d38e0a7469b
2016-09-09libosmocodec link fix on MacOSXAnatoly Orlov1-0/+1
Fixes the following bug: CCLD libosmocodec.la Undefined symbols for architecture x86_64: "_bitvec_get_bit_pos", referenced from: _osmo_fr_check_sid in gsm610.o "_bitvec_get_uint", referenced from: _osmo_hr_check_sid in gsm620.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [libosmocodec.la] Error 1 Change-Id: Id7358b94e274b529a8da38a0b2ef8c892b6dd7a5
2016-06-01Add functions to detect HR/FR SID framesMax2-0/+71
Add functions which check if given FR or HR frame (packed in RTP) contains SID (SIlence Descriptor) and corresponding tests. Related: OS#22 Change-Id: I4051e3c0d4fb9ee93d7e9e0ef4abaf9f18e227ca Reviewed-on: https://gerrit.osmocom.org/160 Tested-by: Jenkins Builder Reviewed-by: Harald Welte <laforge@gnumonks.org>
2016-05-31Add helper functions for AMR codecMax2-1/+107
* add functions to encode/decode various codec paramters from RTP payload with AMR frame according to RFC 4867 * those functions are extended version based on code from osmo-bts' amr.c by Andreas Eversberg * add corresponding enum types and strings for logging * add regression tests It's useful both to replace manual parsing in osmo-bts with fuctions covered by test suite and as a debugging helpers for issues related to AMR. Change-Id: Ia217679a07d3fbc970f435e20f6eac33d34bd597 Related: OS#1562 Reviewed-on: https://gerrit.osmocom.org/118 Tested-by: Jenkins Builder Reviewed-by: Holger Freyther <holger@freyther.de>
2014-10-03build: remove unused all_includes and use AM_CPPFLAGSJan Engelhardt1-1/+2
Preprocessor flags are best placed in AM_CPPFLAGS. Remove use of the unused all_includes variable, which is never set.
2013-03-03cygwin: Link many libraries with -no-undefined to create a dllHolger Hans Peter Freyther1-1/+1
Only the Gb library relies on having undefined references to a symbol that needs to be provided by the host application. For all other libraries we can link with -no-undefined.
2013-03-01codec: Fix the GSM 06.20 ordering tablesSylvain Munaut1-41/+41
Seems the script I used to parse those had a bug where range of bits in the 'decreasing' direction ( like 6..0 ) were not processed properly. Thanks to Andreas for noticing this ! Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2012-12-11build: Don't use the deprecated INCLUDES in the various Makefile.amSylvain Munaut1-2/+1
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2012-06-30build: use LT_INIT(pic-only) instead of forcing -fPIC.0.5.2Diego Elio Pettenò1-1/+1
This actually allows for the user to override the decision and at the same time supports compilers that might not be able to use -fPIC at all. Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
2012-06-30codec: make data tables constant.Diego Elio Pettenò4-12/+12
When declaring them constant, they are written on the .rodata section instead of .data, which means that they can be mapped directly from disk to memory. Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
2012-05-14src/codec: Fix typo in MakefileSylvain Munaut1-1/+1
Thanks to horizon for pointing this out Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2011-05-08libosmocore: bump library interface version to '1' for new osmo_ namesHarald Welte1-0/+1
2010-10-15codec: Add bit ordering tables from specs for HR,FR,EFR & AMRSylvain Munaut5-0/+1032
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>