Audio blanking for bad DMR audio frames.

This commit is contained in:
Jonathan Naylor 2016-03-07 17:50:12 +00:00
parent 7ab91fd7bf
commit 438f8c3e3c

View file

@ -657,22 +657,28 @@ unsigned int CAMBEFEC::regenerate(unsigned int& a, unsigned int& b, unsigned int
new_b |= b24 ? 0x01U : 0x00U;
}
unsigned int errors = 0U;
unsigned int errsA = 0U, errsB = 0U;
unsigned int v = new_a ^ old_a;
while (v != 0U) {
v &= v - 1U;
errors++;
errsA++;
}
v = new_b ^ old_b;
while (v != 0U) {
v &= v - 1U;
errors++;
errsB++;
}
if (errsA >= 4U || ((errsA + errsB) >= 6U && errsA >= 2U)) {
a = 0xF00292U;
b = 0x0E0B20U;
c = 0x000000U;
}
a = new_a;
b = new_b;
return errors;
return errsA + errsB;
}