3gpp amr 源码 windows 下编译及使用

本文介绍了如何在Windows下编译3GPP AMR的源码,包括从3gpp.org下载源码、使用MSVC编译、解决编译过程中的问题,以及测试编码和解码器的步骤。虽然编译过程中遇到VAD1与VAD2的定义问题,但最终成功生成了coder.exe和decoder.exe,并通过waveIn/waveOut API进行PCM数据的读写验证了编码解码的正确性。然而,编码后的文件大小不匹配AMR标准,这可能是由于每帧写入的字节数不同导致的。
摘要由CSDN通过智能技术生成

从 3gpp.org 下载的 amrnb 源码在网上的资料很少,找了一圈没有找到比较系统的介绍。从诸多资料里看到 3gpp 里 amr 的根源,google android, ffmpeg 之类的好像也从 3gpp 里出来。amr 的根源暂且不究。现在 windows 下编译 3gpp 源码包里的 coder & decoder, 学习之用。


事实上 3gpp 源码没有依赖什么库,编译很简单。只是资料较少,刚上手时偶尔会头大。


1. 从 http://www.3gpp.org/  下载源码包。26073-b00.zip 和 ts_126073v110000p0.zip 两个里面都有 c-code 源码。不同在于其他一些 .doc 之类的文档。大体看了一下,里面的文档都基本没用,可略过。

2. 3gpp 源码号称是标准 ansi c code, 市面上大多数编译器应该都能编译过。事实应该也是,我用 msvc 编译时很顺利,没有出现一堆 warning 之类的。nice code. 用 msvc 之前在 debian7 下试图直接 make, 提示 can't determine architecture. 应该是需要加 -D 之类的定义,这个可以后期再尝试一下。typedefs.h 里有细节。

3. 3gpp 源码里有 codec 还有 coder/decoder 两个 bin,  codec 还不知道如何单独编译,先编译 coder & decoder

----------------------------------------

1. 新建 win32 console 程序 (ms vs2k5)

2. 根据 src 里的 makefile, 把 coder 需要的 coder.c 和一堆 .h 复制到目录下,有些 .h 文件有同名的 .c 文件,一并复制

3. 把 .c 文件加到

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值