Attention is currently required from: fixeria, laforge, pespin.
Hello Jenkins Builder, laforge,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmocore/+/37558?usp=email
to look at the new patch set (#3).
The following approvals got outdated and were removed: Code-Review+1 by laforge, Verified+1 by Jenkins Builder
Change subject: codec: add osmo_hr_sid_classify() ......................................................................
codec: add osmo_hr_sid_classify()
In order to support DTX, each frame coming out of the channel decoder for TCH/FS, TCH/HS and TCH/EFS needs to be classified as valid SID, invalid SID or non-SID speech as specified in GSM 06.31, 06.41 and 06.81, respectively. However, the case of TCH/HS (GSM 06.41) is more difficult than FR & EFR: ETSI provided an example implementation instead of a stipulation, and because they failed to document the BCI error flag they relied upon, ETSI's reference implementation of HR SID classification defied understanding for a long time. But now this mystery has been cracked:
https://osmocom.org/projects/retro-gsm/wiki/HRv1_error_flags
Add a function to libosmocodec that implements the same logic as ETSI's swSidDetection(), including support for BCI flag. This function is intended to be used in OsmoBTS (it can post-process the output of sysmoBTS PHY) when TW-TS-002 output is requested, and it can also be used in implementations of SDR-based GSM MS when feeding TCH/HS Rx to a proper speech decoder and Rx DTX handler for HRv1 codec.
Related: OS#6036 Change-Id: I5f4eb65379646125b966cf182775b6e9348900bd --- M include/osmocom/codec/codec.h M src/codec/Makefile.am A src/codec/hr_sid_class.c 3 files changed, 209 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/58/37558/3