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