//G711 PCMA解码
bool G711A_AudioDecode(unsigned char*pFrameBuf, unsigned int nFrameSize, unsigned char* pOutput, unsigned int& nOutLen)
{
if(nFrameSize <= 0 || !pFrameBuf)
return false;
unsigned int out_size = (nFrameSize << 1);
for(int i=0, nOffset=0; i<nFrameSize; i++)
{
int iLinear = alaw2linear(pFrameBuf[i]);
memcpy(pOutput + nOffset, &iLinear, 2);
nOffset += 2;
}
nOutLen = out_size;
return true;
}
//G711 PCMU解码
bool G711U_AudioDecode(unsigned char*pFrameBuf, unsigned int nFrameSize, unsigned char* pOutput, unsigned int& nOutLen)
{
if(nFrameSize <= 0 || !pFrameBuf)
return false;
unsigned int out_size = (nFrameSize << 1);
for(int i=0, nOffset=0; i<nFrameSize; i++)
{
int iLinear = ulaw2linear(pFrameBuf[i]);
memcpy(pOutput + nOffset, &iLinear, 2);
nOffset += 2;
}
nOutLen = out_size;
return true;
}
视频监控行业G711编解码[续]编码样例
最新推荐文章于 2024-09-01 12:37:31 发布
本文提供了G711音频编解码的详细实现,包括G711A(PCMA)和G711U(PCMU)的解码与编码函数。解码函数将ALAW/ULAW格式转换为线性格式,编码函数则进行相反操作。这些函数对于视频监控等需要音频处理的场景至关重要。

最低0.47元/天 解锁文章
2347

被折叠的 条评论
为什么被折叠?



