游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

opencoreamr移植至嵌入式设备

  这段时间在做一个智能学生证项目。其中一个需求是做一个类似微信发语音的功能。由于录音保存的是PCM编码的wav格式音频,文件体积巨大。为了获得极致的压缩率,打算将PCM编码的音频文件转为AMR格式,需要移植opencoreamr库。
  opencoreamr是用C和C编写的AMR音频编解码库,可以对AMRNB和AMRWB格式的音频进行编解码。要移植opencoreamr我们只需用对应的工具链编译出静态链接库即可。
  opencoreamr源码下载地址:https:sourceforge。netprojectsopencoreamrfilesopencoreamrx86Linux下编译
  1。下载并解压opencoreamr源码tarxvfopencoreamr0。1。3。tar。gz
  2。opencoreamr使用configure脚本配置不同的参数。x86平台下,只需要指定‘prefix’参数即可,这个参数指定了完成编译后的头文件和库的保存位置,必须是绝对路径。如需了解其他参数,可以使用。configurehelp命令查看。。configureprefixhomejoshuaopencoreamrx86
  3。配置好后,使用make进行编译和安装makemakeinstall
  之后就可以到prefix设定的目录中查看编译好的库文件了。
  嵌入式交叉编译
  1。相比于x86,嵌入式平台需要指定交叉编译器进行配置。请确保环境变量中有交叉编译器的路径。。configurehostarmnoneeabiprefixhomejoshuaopencoreamrarm
  如果有configure:error:Ccompilercannotcreateexecutables的错误提示,并且config。log中的报错信息为‘exit。c:(。text。exit0x2c):undefinedreferencetoexit’,该错误的原因可能是g编译器的版本不匹配,解决办法为在configure前增加编译参数specsnosys。specs。
  2。还需注意的是,编译器参数最好和要使用该库的代码保持一致,否则可能出现浮点计算方式不同而不能正常链接的错误。exportOTHERLINKOPTIONSspecsnosys。specsexportGCCFLAGSstdgnu11mcpucortexa5mtunegenericarmv7amthumbmfpuneonvfpv4mfloatabihardmnounalignedaccessOsLDFLAGSOTHERLINKOPTIONSCFLAGSGCCFLAGSCXXFLAGSGCCFLAGS。configurehostarmnoneeabiprefixfsc02opencoreamr0。1。3openCPUPCM转AMR程序includestdio。hincludestdlib。hincludeinterfenc。hPCM参数definePCMSAMPLERATE(8000)只能编码8khzdefinePCMSAMPLEBITS(16)只支持16位definePCMCHANNELS(1)不管PCM输入是单声道还是双声道,这里输出的amr都是单声道的amr一帧数据是20ms,一秒50帧。8000,16,1320BytesdefinePCMONEFRAMESIZE(PCMSAMPLERATE50PCMSAMPLEBITS8PCMCHANNELS)AMR参数defineAMRENCODEMODEMR122defineAMRONEFRAMESIZE(32)MR122格式是32字节一帧是否使能背景噪声编码模式defineDTXDECODEENABLE1defineDTXDECODEDISABLE0intmain(intargc,charargv〔〕){intdtxDTXDECODEENABLE;voidvpAmrNULL;FILEfpAmrNULL;FILEfpPcmNULL;检查参数if(argc!3){printf(Usage:s。audiotest8000161。pcmout。amr,argv〔0〕);return1;}printf(ItwillencodeaPCMfileas〔samplerate:d〕〔samplebits:d〕〔channels:d〕!,PCMSAMPLERATE,PCMSAMPLEBITS,PCMCHANNELS);初始化编码器vpAmrEncoderInterfaceinit(dtx);if(vpAmrNULL){printf(EncoderInterfaceiniterror!);return1;}打开pcm文件fpPcmfopen(argv〔1〕,rb);if(fpPcmNULL){perror(argv〔1〕);return1;}打开amr文件fpAmrfopen(argv〔2〕,wb);if(fpAmrNULL){perror(argv〔2〕);return1;}先写入amr头部fwrite(!AMR,1,6,fpAmr);循环编码while(1){unsignedcharacPcmBuf〔PCMONEFRAMESIZE〕{0};保存在文件中一帧(20ms)PCM数据,8bit为单位,这里是unsignedshortasEncInBuf〔PCMONEFRAMESIZE2〕{0};编码需要的一帧(20ms)PCM数据,16bit为单位characEncOutBuf〔AMRONEFRAMESIZE〕{0};编码出来的一帧(20ms)AMR数据intiReadPcmBytes0;从PCM文件中读取出的数据大小,单位:字节intiEncAmrBytes0;编码出的AMR数据大小,单位:字节读出一帧PCM数据iReadPcmBytesfread(acPcmBuf,1,PCMONEFRAMESIZE,fpPcm);if(iReadPcmBytes0){break;}printf(iReadPcmBytesd,iReadPcmBytes);if0编码方式1:像官方测试程序一样转换为short类型再进行编码for(inti0;iPCMONEFRAMESIZE2;i){unsignedcharpacPcmBuf〔2PCMCHANNELSi〕;asEncInBuf〔i〕(p〔1〕8)p〔0〕;}编码iEncAmrBytesEncoderInterfaceEncode(vpAmr,AMRENCODEMODE,asEncInBuf,acEncOutBuf,0参数未使用);else编码方式2:传参时直接类型强制转换即可编码iEncAmrBytesEncoderInterfaceEncode(vpAmr,AMRENCODEMODE,(short)acPcmBuf,acEncOutBuf,0参数未使用);endifprintf(iEncAmrBytesd,iEncAmrBytes);写入到AMR文件中fwrite(acEncOutBuf,1,iEncAmrBytes,fpAmr);}关闭文件fclose(fpAmr);fclose(fpPcm);关闭编码器EncoderInterfaceexit(vpAmr);printf(ss:Success!,argv〔1〕,argv〔2〕);return0;}

什么手机拍出的视频分辨率不低于19201080?300万像素以上的都可以,因为310万像素的分辨率就达到20481536了,低于300万德通过软件计算伪像素都能达到,具体看视频{!PGCVIDEO:{thumbheig……基于SpringCloud前后端分离的分布式在线教育系统项目介绍领课教育系统(roncooeducation)是基于领课网络多年的在线教育平台开发和运营经验打造出来的产品,致力于打造一个全行业都适用的分布式在线教育系统。基于M……走了16年的淘宝中年危机,离时代更近一点!2003年,张国荣去世,beyond逝世10周年。5月10日,淘宝网正式宣布上线。曾几何时,淘宝乘着电商大浪从草根一跃成为网红,而今在整个电商红利几乎消失的当下,淘……5G市场担心的事发生了!民营9元套餐推行,网友人人用得起5G从2020年商用以来已经快1年多的时间,但市场担心的事情还是发生了。原来5G基础建设方面取得重大突破,但是在5G用户的增长方面仍然不及预期,甚至还不如当年推广4G的时候。……国产品牌的高端之路除了华为,这家也很成功我们都知道,随着智能手机的高速发展,如今的手机市场已经被划分为了低、中、高三个档位,而国产手机凭借着亲民的价格和出色的硬件配置,一直占据着中低端市盘踞,高端市场则一直被三星、苹……聊天应用巨头Kakaoampampquot拥有加密交易所运营据报道,据韩国媒体报道,韩国互联网巨头Kakao拥有该国市场领先的加密交易所Upbit的运营商Dunamu约23的股份。该国最大的两家财经报纸,MaeilKyungjae……智能电视爱死机怎么破!这四个关键点你造吗?智能技术的发展让人们的消遣神器电视机也搭载上了智能系统,虽然智能电视机带给了我们更加丰富的观影体验和优质的使用生活,但也有着很多问题接踵而来。智能电视机死机情况就是其中一个大问……总是会忍不住冲动得买买买前几天看公众号文章,看到里面推荐了一个可以煮粥、烧水等还有很多作用的壶,于是趁着上面说的正在搞活动,就买了一个回来。这个壶放在房间里已经好几天了,今天打算拿出来用,看说明……紫光国微纯正的芯片股,为什么不一样的估值水平?选股理由:年报预增芯片股近期回调幅度较大证券简称:紫光国微评级:A数据截止日期:2019年9月30日单位:亿元证券代码:002049;成立日期:2001年;所……商用洗碗机的操作技巧商用洗碗机洗涤餐具清洁,灭菌效果,化学效果,时间控制和烘干效果都比人工洗碗有优势。更重要的是,目前的流水线洗碗机是餐具清洁,高温漂洗,烘干一体,餐具不需要额外的消毒。而人工洗碗……新能源汽车的自动驾驶功能,到底是宣传的卖点?还是夺命的陷阱?新能源车蔚来呀前段时间上热搜了。那不是什么好事,怎么呢?一位蔚来的车主在驾驶蔚来ES8汽车,启用这个自动驾驶功能,但是蔚来管它叫NOP领航状态以后出现了一个交通事故,他不幸逝世……海王生物整合体系外美妆产业,加快美妆医美布局随着各项政策相继落地,医药生物行业不断涌现出新的增长动力,行业进入创新驱动阶段。2021年上半年,海王生物(000078。SZ)各项业务协同发展,研发创新持续推进,实现了业绩平……
满分100分,你给荣耀V10打多少分?我给95分吧,可以说几乎完美了。拥有麒麟970加上EMUI8。0软硬AI相结合,更好的拍照,更快的快充,AIcamera等等,都让荣耀V10成为人工智能手机领域独一无二的存在。……荣耀Magic3Pro抗老化引擎OSTurboX,给你更长久笔歌科技独家报道:荣耀方面消息,其年度旗舰新品手机荣耀Magic3系列各版本型号销售数据出炉,不出所料Magic3Pro凭借恰到好处的售价和卓越的品质拔得头筹,一起来围观。……20万以内纯电动车特斯拉有Model2,大众有ID。3,比亚由于特斯拉的存在,国内纯电动车市场变得好看起来,不为别的,特斯拉不按常理出牌,动不动就官降,鲶鱼成了鲨鱼,使得众多竞争对手疲于应付。现在还好,引入国产的Model3也只是在20……中国云存储产业发展现状与产业竞争格局云存储是一种网上在线存储(英语:Cloudstorage)的模式,即把数据存放在通常由第三方托管的多台虚拟服务器,而非专属的服务器上。托管(hosting)公司运营大型的数据中……填补市场空缺的轻薄本惠普星13Air新品评测购买一台轻薄本的初衷是什么?那一定是为了更轻的重量,减负不仅仅是在精神上,更是在物理层面,谁也不想老背着个沉重的电脑。但为了更极致的轻,消费者无疑需要花费高昂的价格,因为重量越……阿里的事反转了吗?来源:缓缓说01hr从通报的定性来说(犯罪嫌疑人王某文、张某因涉嫌强制猥亵罪被刑拘),总体上没有反转,但此前网传控诉帖(这个帖子被发在了阿里内网,后来传了出来)的部分内容……德勤借助5G和WiFi6加速企业创新和转型今天分享的是德勤最新发布的《借助5G和WiFi6加速企业创新和转型》,文末可获取该资料。报告内容,详情参阅下文。德勤发布了《借助5G和WiFi6加速企业创新和转型》调研报……(续上节),最值得买的vivo手机,你在用吗(续上节),最值得买的vivo手机,你在用吗?第一款:iqoo71、性能方面IQOO7是第二款搭载骁龙888的手机,由于超导VC液体冷却系统具有更强的散热效果……除了联想,国产电脑比较好用的有哪些?在华为缺失的千禧年时代,国产电脑除了联想就剩下神州了,当时联想电脑在那个时代为政府和企业,提供了强大的驱动力,政府和企业对联想电脑的采购之广,超过当时任何一个国产组装品牌。华为……VividAudioGiyaG3S2宏伟大气,气势与细腻兼备我想VividAudio之所以能引起顾客的注意,应该就是它那个奇特的箱体造型了。的确很多顾客第一眼看到VividAudio都会有百思不得其解的感觉,箱体的前面板不但窄,而且不存……拼多多每次都是成功了99。9,有真的提现成功的人吗?从只差0。1元开始,接下来就是0。05,0。04,然后就是金币,抽奖抽来抽去最后就是抽幸运星啥的,就是不给钱,抽到了立即提现也没有用,真。浪费时间确实有提现成功的人,我周……买iPhone12还是等iPhone13?处理器上从A14会升级到A15,至于性能能提升多少,从主观体验上肯定是感受不出太大变化的,毕竟A14处理器依旧是现阶段的行业旗舰标杆处理器,依旧是各大友商追逐的终极目标。……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网