|
|
|
@ -44,12 +44,13 @@
|
|
|
|
#include <cassert>
|
|
|
|
#include <cassert>
|
|
|
|
|
|
|
|
|
|
|
|
using namespace edac;
|
|
|
|
using namespace edac;
|
|
|
|
using namespace vocoder;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef _MSC_VER
|
|
|
|
#ifdef _MSC_VER
|
|
|
|
#pragma warning(disable: 4244)
|
|
|
|
#pragma warning(disable: 4244)
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace vocoder {
|
|
|
|
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------
|
|
|
|
// ---------------------------------------------------------------------------
|
|
|
|
// Constants
|
|
|
|
// Constants
|
|
|
|
// ---------------------------------------------------------------------------
|
|
|
|
// ---------------------------------------------------------------------------
|
|
|
|
@ -716,3 +717,24 @@ void MBEEncoder::encode(int16_t* samples, uint8_t* codeword)
|
|
|
|
::memcpy(codeword, dmrAMBE, 9U);
|
|
|
|
::memcpy(codeword, dmrAMBE, 9U);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Extern methods for C#/C++ interop
|
|
|
|
|
|
|
|
MBEEncoder* MBEEncoder_Create(MBE_ENCODER_MODE mode)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return new MBEEncoder(mode);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void MBEEncoder_Encode(MBEEncoder* pEncoder, int16_t* samples, uint8_t* codeword)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if (pEncoder != NULL)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
pEncoder->encode(samples, codeword);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void MBEEncoder_Delete(MBEEncoder* pEncoder)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
delete pEncoder;
|
|
|
|
|
|
|
|
pEncoder = NULL;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} // namespace vocoder
|