Revert "Simplify repetition FEC code handling."

This reverts commit 96fd4697dd.
This commit is contained in:
Jonathan Naylor
2016-11-22 21:50:59 +00:00
parent 64735af01e
commit f364eda0a4

View File

@@ -417,7 +417,7 @@ unsigned int CYSFPayload::processVDMode2AudioBlock(unsigned char* data)
// Deinterleave // Deinterleave
for (unsigned int i = 0U; i < 104U; i++) { for (unsigned int i = 0U; i < 104U; i++) {
unsigned int n = INTERLEAVE_TABLE_26_4[i]; unsigned int n = INTERLEAVE_TABLE_26_4[i];
bool s = READ_BIT1(data, n) != 0x00U; bool s = READ_BIT1(data, n);
WRITE_BIT1(vch, i, s); WRITE_BIT1(vch, i, s);
} }
@@ -426,35 +426,29 @@ unsigned int CYSFPayload::processVDMode2AudioBlock(unsigned char* data)
vch[i] ^= WHITENING_DATA[i]; vch[i] ^= WHITENING_DATA[i];
for (unsigned int i = 0U; i < 81U; i += 3U) { for (unsigned int i = 0U; i < 81U; i += 3U) {
unsigned int n1 = i + 0U; unsigned int n = i;
unsigned int n2 = i + 1U; bool bit1 = READ_BIT1(vch, n);
unsigned int n3 = i + 2U; n++;
bool bit2 = READ_BIT1(vch, n);
n++;
bool bit3 = READ_BIT1(vch, n);
unsigned char code = READ_BIT1(vch, n1) ? 1U : 0U + if ((bit1 && bit2 && !bit3) || (bit1 && !bit2 && bit3) || (!bit1 && bit2 && bit3)) {
READ_BIT1(vch, n2) ? 2U : 0U + unsigned int n = i;
READ_BIT1(vch, n3) ? 4U : 0U; WRITE_BIT1(vch, n, true);
n++;
switch (code) { WRITE_BIT1(vch, n, true);
case 3U: n++;
case 5U: WRITE_BIT1(vch, n, true);
case 6U:
WRITE_BIT1(vch, n1, true);
WRITE_BIT1(vch, n2, true);
WRITE_BIT1(vch, n3, true);
errors++; errors++;
break; } else if ((!bit1 && !bit2 && bit3) || (!bit1 && bit2 && !bit3) || (bit1 && !bit2 && !bit3)) {
case 1U: unsigned int n = i;
case 2U: WRITE_BIT1(vch, n, false);
case 4U: n++;
WRITE_BIT1(vch, n1, false); WRITE_BIT1(vch, n, false);
WRITE_BIT1(vch, n2, false); n++;
WRITE_BIT1(vch, n3, false); WRITE_BIT1(vch, n, false);
errors++; errors++;
break;
// case 0U:
// case 7U:
default:
break;
} }
} }
@@ -465,7 +459,7 @@ unsigned int CYSFPayload::processVDMode2AudioBlock(unsigned char* data)
// Interleave // Interleave
for (unsigned int i = 0U; i < 104U; i++) { for (unsigned int i = 0U; i < 104U; i++) {
unsigned int n = INTERLEAVE_TABLE_26_4[i]; unsigned int n = INTERLEAVE_TABLE_26_4[i];
bool s = READ_BIT1(vch, i) != 0x00U; bool s = READ_BIT1(vch, i);
WRITE_BIT1(data, n, s); WRITE_BIT1(data, n, s);
} }