mirror of
https://github.com/g4klx/MMDVMHost
synced 2025-12-22 08:05:49 +08:00
Simplify the NXDN audio decoding.
This commit is contained in:
@@ -502,20 +502,18 @@ void CNXDNAudio::decode(const unsigned char* in, unsigned char* out, unsigned in
|
|||||||
c |= MASK;
|
c |= MASK;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int data = CGolay24128::decode24128(a);
|
a >>= 12;
|
||||||
|
|
||||||
// The PRNG
|
// The PRNG
|
||||||
unsigned int p = PRNG_TABLE[data] >> 1;
|
b ^= (PRNG_TABLE[a] >> 1);
|
||||||
b ^= p;
|
b >>= 11;
|
||||||
|
|
||||||
unsigned int datb = CGolay24128::decode23127(b);
|
|
||||||
|
|
||||||
MASK = 0x000800U;
|
MASK = 0x000800U;
|
||||||
for (unsigned int i = 0U; i < 12U; i++, MASK >>= 1) {
|
for (unsigned int i = 0U; i < 12U; i++, MASK >>= 1) {
|
||||||
unsigned int aPos = i + offset + 0U;
|
unsigned int aPos = i + offset + 0U;
|
||||||
unsigned int bPos = i + offset + 12U;
|
unsigned int bPos = i + offset + 12U;
|
||||||
WRITE_BIT(out, aPos, data & MASK);
|
WRITE_BIT(out, aPos, a & MASK);
|
||||||
WRITE_BIT(out, bPos, datb & MASK);
|
WRITE_BIT(out, bPos, b & MASK);
|
||||||
}
|
}
|
||||||
|
|
||||||
MASK = 0x1000000U;
|
MASK = 0x1000000U;
|
||||||
|
|||||||
Reference in New Issue
Block a user