Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/src/coding/gsm0503_coding.c b/src/coding/gsm0503_coding.c
- index a4b820d..00f11d4 100644
- --- a/src/coding/gsm0503_coding.c
- +++ b/src/coding/gsm0503_coding.c
- @@ -1841,12 +1841,22 @@ int gsm0503_tch_hr_encode(ubit_t *bursts, uint8_t *tch_data, int len)
- ubit_t conv[98], b[112], d[112], p[3];
- int i;
- + printf("[i] Before memset:\n");
- + for (i = 0; i < 912; i++)
- + printf("%02X ", iB[i]);
- + printf("\n");
- +
- /**
- * Fix valgrind warnings:
- * "Uninitialised value was created by a stack allocation"
- * "Conditional jump or move depends on uninitialised value(s)"
- */
- - memset(iB, 0x00, sizeof(iB));
- + memset(iB, 0x41, sizeof(iB));
- +
- + printf("[i] After memset:\n");
- + for (i = 0; i < 912; i++)
- + printf("%02X ", iB[i]);
- + printf("\n");
- switch (len) {
- case 15: /* TCH HR */
- @@ -1866,11 +1876,21 @@ int gsm0503_tch_hr_encode(ubit_t *bursts, uint8_t *tch_data, int len)
- gsm0503_tch_hr_interleave(cB, iB);
- + printf("[i] After gsm0503_tch_hr_interleave():\n");
- + for (i = 0; i < 912; i++)
- + printf("%02X ", iB[i]);
- + printf("\n");
- +
- for (i = 0; i < 4; i++) {
- gsm0503_tch_burst_map(&iB[i * 114],
- &bursts[i * 116], &h, i >> 1);
- }
- + printf("[i] After gsm0503_tch_burst_map():\n");
- + for (i = 0; i < 912; i++)
- + printf("%02X ", iB[i]);
- + printf("\n");
- +
- break;
- case GSM_MACBLOCK_LEN: /* FACCH */
- _xcch_encode_cB(cB, tch_data);
- diff --git a/src/coding/gsm0503_interleaving.c b/src/coding/gsm0503_interleaving.c
- index 22ad6f6..3290beb 100644
- --- a/src/coding/gsm0503_interleaving.c
- +++ b/src/coding/gsm0503_interleaving.c
- @@ -568,6 +568,7 @@ void gsm0503_tch_hr_interleave(ubit_t *cB, ubit_t *iB)
- for (k = 0; k < 228; k++) {
- B = gsm0503_tch_hr_interleaving[k][1];
- j = gsm0503_tch_hr_interleaving[k][0];
- - iB[B * 114 + j] = cB[k];
- + // iB[B * 114 + j] = cB[k];
- + iB[B * 114 + j] = 0x00;
- }
- }
- diff --git a/src/coding/gsm0503_mapping.c b/src/coding/gsm0503_mapping.c
- index 366eeb4..87478c0 100644
- --- a/src/coding/gsm0503_mapping.c
- +++ b/src/coding/gsm0503_mapping.c
- @@ -72,16 +72,36 @@ void gsm0503_tch_burst_unmap(sbit_t *iB, sbit_t *eB, sbit_t *h, int odd)
- void gsm0503_tch_burst_map(ubit_t *iB, ubit_t *eB, const ubit_t *h, int odd)
- {
- - int i;
- + int i, j = -1;
- + static n = 0;
- /* brainfuck: only copy even or odd bits */
- if (eB) {
- - for (i = odd; i < 57; i += 2)
- + for (i = odd; i < 57; i += 2) {
- eB[i] = iB[i];
- - for (i = 58 - odd; i < 114; i += 2)
- + printf("[%d] %02X\n", n * 114 + i, iB[i]);
- +
- + if (iB[i] == 0x41)
- + j = i;
- + }
- +
- + for (i = 58 - odd; i < 114; i += 2) {
- eB[i + 2] = iB[i];
- + printf("[%d] %02X\n", n * 114 + i, iB[i]);
- +
- + if (iB[i] == 0x41)
- + j = i;
- + }
- +
- + if (j != -1)
- + printf("\n[i] Uninitialized value at %d!\n", 3 * 114 + j);
- }
- + if (n == 4)
- + n = 0;
- + else
- + n++;
- +
- if (h) {
- if (!odd)
- eB[58] = *h;
- diff --git a/tests/coding/coding_test.c b/tests/coding/coding_test.c
- index 9a00f0d..148d428 100644
- --- a/tests/coding/coding_test.c
- +++ b/tests/coding/coding_test.c
- @@ -485,8 +485,8 @@ int main(int argc, char **argv)
- test_speech_hr[0] = 0x00;
- test_hr(test_speech_hr, sizeof(test_speech_hr));
- - for (i = 0; i < len_l2; i++)
- - test_hr(test_l2[i], sizeof(test_l2[0]));
- + /*for (i = 0; i < len_l2; i++)
- + test_hr(test_l2[i], sizeof(test_l2[0]));*/
- for (i = 0; i < len_mb; i++) {
- test_pdtch(test_macblock[i], 23);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement