libosmocoding  0.9.6.263-e6d6
Osmocom L1 transcoding library
 All Data Structures
gsm0503_interleaving.h
1 #pragma once
2 
3 #include <osmocom/core/bits.h>
4 
5 void gsm0503_xcch_deinterleave(sbit_t *cB, const sbit_t *iB);
6 void gsm0503_xcch_interleave(ubit_t *cB, ubit_t *iB);
7 
8 void gsm0503_tch_fr_deinterleave(sbit_t *cB, sbit_t *iB);
9 void gsm0503_tch_fr_interleave(ubit_t *cB, ubit_t *iB);
10 
11 void gsm0503_tch_hr_deinterleave(sbit_t *cB, sbit_t *iB);
12 void gsm0503_tch_hr_interleave(ubit_t *cB, ubit_t *iB);
13 
14 void gsm0503_mcs1_ul_deinterleave(sbit_t *hc, sbit_t *dc, const sbit_t *iB);
15 void gsm0503_mcs1_ul_interleave(const ubit_t *hc,
16  const ubit_t *dc, ubit_t *iB);
17 
18 void gsm0503_mcs1_dl_deinterleave(sbit_t *u, sbit_t *hc,
19  sbit_t *dc, const sbit_t *iB);
20 void gsm0503_mcs1_dl_interleave(const ubit_t *up, const ubit_t *hc,
21  const ubit_t *dc, ubit_t *iB);
22 
23 void gsm0503_mcs5_ul_deinterleave(sbit_t *hc, sbit_t *dc,
24  const sbit_t *hi, const sbit_t *di);
25 void gsm0503_mcs5_ul_interleave(const ubit_t *hc, const ubit_t *dc,
26  ubit_t *hi, ubit_t *di);
27 
28 void gsm0503_mcs5_dl_deinterleave(sbit_t *hc, sbit_t *dc,
29  const sbit_t *hi, const sbit_t *di);
30 void gsm0503_mcs5_dl_interleave(const ubit_t *hc, const ubit_t *dc,
31  ubit_t *hi, ubit_t *di);
32 
33 void gsm0503_mcs7_ul_deinterleave(sbit_t *hc, sbit_t *c1, sbit_t *c2,
34  const sbit_t *hi, const sbit_t *di);
35 void gsm0503_mcs7_ul_interleave(const ubit_t *hc, const ubit_t *c1,
36  const ubit_t *c2, ubit_t *hi, ubit_t *di);
37 
38 void gsm0503_mcs7_dl_deinterleave(sbit_t *hc, sbit_t *c1, sbit_t *c2,
39  const sbit_t *hi, const sbit_t *di);
40 void gsm0503_mcs7_dl_interleave(const ubit_t *hc, const ubit_t *c1,
41  const ubit_t *c2, ubit_t *hi, ubit_t *di);
42 
43 void gsm0503_mcs8_ul_deinterleave(sbit_t *hc, sbit_t *c1, sbit_t *c2,
44  const sbit_t *hi, const sbit_t *di);
45 void gsm0503_mcs8_ul_interleave(const ubit_t *hc, const ubit_t *c1,
46  const ubit_t *c2, ubit_t *hi, ubit_t *di);
47 
48 void gsm0503_mcs8_dl_deinterleave(sbit_t *hc, sbit_t *c1, sbit_t *c2,
49  const sbit_t *hi, const sbit_t *di);
50 void gsm0503_mcs8_dl_interleave(const ubit_t *hc, const ubit_t *c1,
51  const ubit_t *c2, ubit_t *hi, ubit_t *di);