diff options
Diffstat (limited to 'include/osmocom/coding/gsm0503_amr_dtx.h')
-rw-r--r-- | include/osmocom/coding/gsm0503_amr_dtx.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/include/osmocom/coding/gsm0503_amr_dtx.h b/include/osmocom/coding/gsm0503_amr_dtx.h new file mode 100644 index 00000000..f048a6e3 --- /dev/null +++ b/include/osmocom/coding/gsm0503_amr_dtx.h @@ -0,0 +1,40 @@ +/*! \file gsm0503_amr_dtx.h + * GSM TS 05.03 coding + */ + +#pragma once + +#include <stdint.h> + +#include <osmocom/core/defs.h> +#include <osmocom/core/bits.h> + +/*! \addtogroup coding + * @{ + * \file gsm0503_amr_dtx.h */ + +enum gsm0503_amr_dtx_frames { + AMR_OTHER, + AFS_SID_FIRST, + AFS_SID_UPDATE, + AFS_SID_UPDATE_CN, + AFS_ONSET, + AHS_SID_UPDATE, + AHS_SID_UPDATE_CN, + AHS_SID_FIRST_P1, + AHS_SID_FIRST_P2, + AHS_ONSET, + AHS_SID_FIRST_INH, + AHS_SID_UPDATE_INH, +}; + +extern const struct value_string gsm0503_amr_dtx_frame_names[]; +static inline const char *gsm0503_amr_dtx_frame_name(enum gsm0503_amr_dtx_frames frame) +{ + return get_value_string(gsm0503_amr_dtx_frame_names, frame); +} + +enum gsm0503_amr_dtx_frames gsm0503_detect_afs_dtx_frame(int *n_errors, int *n_bits_total, const ubit_t *ubits); +enum gsm0503_amr_dtx_frames gsm0503_detect_ahs_dtx_frame(int *n_errors, int *n_bits_total, const ubit_t *ubits); + +/*! @} */ |