视频监控行业G711编解码[续]编码样例

本文提供了G711音频编解码的详细实现,包括G711A(PCMA)和G711U(PCMU)的解码与编码函数。解码函数将ALAW/ULAW格式转换为线性格式,编码函数则进行相反操作。这些函数对于视频监控等需要音频处理的场景至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//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;
	}
	nO
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值