ecshop中插件icoolmedia的相关算法

上传人:第*** 文档编号:32815530 上传时间:2018-02-12 格式:DOCX 页数:14 大小:18.08KB
返回 下载 相关 举报
ecshop中插件icoolmedia的相关算法_第1页
第1页 / 共14页
ecshop中插件icoolmedia的相关算法_第2页
第2页 / 共14页
ecshop中插件icoolmedia的相关算法_第3页
第3页 / 共14页
ecshop中插件icoolmedia的相关算法_第4页
第4页 / 共14页
ecshop中插件icoolmedia的相关算法_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《ecshop中插件icoolmedia的相关算法》由会员分享,可在线阅读,更多相关《ecshop中插件icoolmedia的相关算法(14页珍藏版)》请在金锄头文库上搜索。

1、Ecshop 中插件 icoolmedia 的相关算法,不同的效果我们想要达到很简单需要找到一个平衡点,利用代码结构完成 ifndef NS_H,从而达到一个有效利用率的提升。下面就上代码、spx_ifft(inHandle-fft_table,inHandle-ft,szAudio);/ overlap and addfor(i = 0; i frame_size; i+)ioPcmi = inHandle-outbufi + szAudioi;for(i = 0; i frame_size; i+)inHandle-outbufi = szAudioinHandle-frame_size+

2、i*inHandle-win_gain;/ limit value of adapt_countif(inHandle-adapt_count 16000) inHandle-adapt_count = 2;文件 ns.h 455B / 本文来自于 icoolmedia,相关算法请参考 ifndef NS_H#define NS_H#include Platform.h#ifdef _cplusplusextern C #endiftypedef struct NoiseReduction_t NoiseReduction;NoiseReduction* NoiseReductionCreat

3、e(OsInt32 inSampleRate,OsInt32 inFrameSize);void NoiseReductionDestroy(NoiseReduction *inHandle);void NoiseReductionProcess(NoiseReduction *inHandle,OsInt16 *ioPcm);#ifdef _cplusplus#endif#endif文件 Platform.h 6KB /* Copyright (c) 2013 刘志鹏. All Rights Reserved.*/#ifndef PLATFORM_H#define PLATFORM_H#if

4、 defined(_WIN32) | defined(WIN32) | defined(_WIN64)#define OS_WINSYS 1#elif defined(_linux_) | defined(_linuxppc_) | defined(_FreeBSD_)#define OS_LINUX 2#elif defined(_MacOSX_) | defined(_APPLE_) | defined(_MACH_)#define OS_APPLE 3#endif/ Windows systems version#define OS_NONE 0 / 错误#define OS_WIN20

5、00 1 / Windows 2000#define OS_WINXP 2 / Windows XP#define OS_WINVISTA 3 / Windows Vista#define OS_WIN7 4 / Win7#define OS_WIN8 5 / Win8#define OS_WIN8_1 6 / Win8.1#include #include #include #include #include #include #include #ifdef _cplusplus#include #include #include #include #include #include #in

6、clude #else#include #include #endif#ifdef OS_WINSYS/ for CoInitializeEx#define _WIN32_DCOM/#include /#include #include #include #include #ifndef _MINGW32_#ifdef _cplusplus#include #endif#endif#include #include #include #include #include #elif OS_LINUX#include #include #include #include #include #inc

7、lude #include #include #include #include #include #include #include #include #include #include #elif OS_APPLE/* type defines for all platforms */#else#error No platform defined for OS (Platform.h)#endifShopnc 中对于链接器使用代码是很复杂的,好多链接器的代码实现功能的同时会大量占用内存管理的 crp,同时产生 crp 磁盘碎片,对于这个的利用一直是一个难题,这里举例一个小功能让他实现的更加

8、完善。#if _GNUC_ = 4#define likely(x) _builtin_expect(!(x),1)#define unlikely(x) _builtin_expect(!(x),0)#else#define likely(x) (x)#define unlikely(x) (x)#endif#define OS_INLINE _attribute_(_always_inline_) inline#define OS_NOINLINE _attribute_(noinline)#endif#ifdef OS_WINSYS#define OS_EXTERN _declspec(

9、dllexport)#else#if _GNUC_ = 4#define OS_EXTERN _attribute_(visibility(default)/ 配合链接器选项:-fvisibility=hidden#else#define OS_EXTERN / nothing#endif#endif#ifdef OS_DEBUG#define OsLog(inFile,inFormat,.) fprintf(inFile,inFormat,_VA_ARGS_)/ fprintf(inFile,inFormat# %d:%sn,_VA_ARGS_,_LINE_,_FUNCTION_)/ fpr

10、intf(inFile,inFormat# %d:%s - %sn,_VA_ARGS_,_LINE_,_FUNCTION_,_FILE_)#else#define OsLog(inFile,inFormat,.)#endif#endif / PLATFORM_H文件 TestNs.cpp 1KB / 本文来自于 icoolmedia,相关算法 QQ 交流群为:374737122#include ns.h#include WavReader.h#include WavWriter.h#define OsLog(inFile,inFormat,.) (fprintf,VA_ARGS_)/ fpri

11、ntf(inFile,inFormat# %d:%sn,_VA_ARGS_,_LINE_,_FUNCTION_)/ fprintf(inFile,inFormat#int main(int argc,char* argv)OsInt32 nLen = 160; OsInt32 nSampleRate = 8000;WavWriter *pWriter = new WavWriter();while(nReadLen 0)short szPcm160 = 0;nReadLen = pReader-Read(szPcm,nLen);if(nReadLen 0)NoiseReductionProce

12、ss(pInst,szPcm);pWriter-Write(szPcm,nReadLen);assert(true = bRet); assert(0 != pWriter);bool bRet = pWriter-Open(.降噪后.wav,nSampleRate,16,1);assert(true = bRet); assert(0 != pReader);WavReader *pReader = http:/ WavReader();NoiseReduction *pInst = NoiseReductionCreate(nSampleRate,nLen);assert(0 != pIn

13、st); bRet = pReader-Open(.带噪语音.wav);printf(开始降噪.n);int nReadLen = nLen;printf(降噪完成!n);NoiseReductionDestroy(pInst);delete pWriter; delete pReader;return 0;Ecshop 代码发展中的实现单链接做法,下面进行深入代码分析,所以大家请看代码结构变化,注意下面列出了所有单链表的操作实例:文件 main.c 780B #include #include #include SingleLinkListOperator.hint main(int arg

14、c, char *argv) /*,需要用个那个操作,请关闭其他无关的操作函数*/int ret;SLIST *sList = NULL;/*创建单链表,输出-1 结束*/sList = createSigLinkList(); /*打印单链表*/ret = printSigLinkList(sList);/*在值为 20 的节点后添加值为 25 的节点*/ret = insertDataToList(sList,20,25);/*删除值为 20 的节点,没有就不删*/ret = deleteDataToList(sList,20);/*修改值为 20 的节点值为 60,没有就不修改*/ret

15、 = modefyDataToList(sList,20,60);/*逆置单链表*/ ret = reverseList(sList);/*打印单链表*/ret = printSigLinkList(sList);/*释放单链表的资源*/ret = destoryList(sList);return 0;文件 SingleLinkListOperator.h 808B #ifndef _SINGLELINKLIST_H_#define _SINGLELINKLIST_H_#ifdef _cplusplusextern C #endif/单链表的数据结构struct SLISTint data;struct SLIST *pNext; ;typedef struct SL

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号