mirror of
https://github.com/g4klx/MMDVMHost
synced 2025-12-21 23:45:49 +08:00
Revert "Simplify repetition FEC code handling."
This reverts commit 96fd4697dd.
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user