diff options
author | Harald Welte <laforge@osmocom.org> | 2020-05-13 23:10:31 +0200 |
---|---|---|
committer | Harald Welte <laforge@osmocom.org> | 2020-05-14 14:51:22 +0200 |
commit | 5785a4a8fc3c0c685e02b969ad07c1751502f0d5 (patch) | |
tree | 12b092b74d2dbe0b1f40a6ef18bf5a469bcb9434 /include | |
parent | ddb7586e9d9f4ca4dec3fedae44ecf0ec8231e96 (diff) |
codec: Add functions for AMR s->d bits and d->s bits
These functions implement re-ordering of bits as per TS 06.90 / 26.101
based on the already existing tables we've had in libosmocoding.
Change-Id: Ia4ac2aea2e96f9185f082a07ca64dfc5276efb46
Diffstat (limited to 'include')
-rw-r--r-- | include/osmocom/codec/codec.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/osmocom/codec/codec.h b/include/osmocom/codec/codec.h index 6a1bf9fb..cbdad75e 100644 --- a/include/osmocom/codec/codec.h +++ b/include/osmocom/codec/codec.h @@ -6,6 +6,7 @@ #include <stdbool.h> #include <osmocom/core/utils.h> +#include <osmocom/core/bits.h> /* TS 101318 Chapter 5.1: 260 bits + 4bit sig */ #define GSM_FR_BYTES 33 @@ -51,6 +52,11 @@ enum osmo_amr_quality { AMR_GOOD = 1 }; +extern const uint8_t gsm690_bitlength[AMR_NO_DATA+1]; + +int osmo_amr_s_to_d(ubit_t *out, const ubit_t *in, uint16_t n_bits, enum osmo_amr_type amr_mode); +int osmo_amr_d_to_s(ubit_t *out, const ubit_t *in, uint16_t n_bits, enum osmo_amr_type amr_mode); + /*! Check if given AMR Frame Type is a speech frame * \param[in] ft AMR Frame Type * \returns true if AMR with given Frame Type contains voice, false otherwise |