資源簡介
音頻ADPCM編解碼源代碼,其中adpcm.c和adpcm.h是算法的實(shí)現(xiàn)文件,main.c是一個調(diào)用api的實(shí)例程序,實(shí)現(xiàn)的是編碼、解碼的閉環(huán)功能。

代碼片段和文件信息
/***********************************************************
Copyright?1992?by?Stichting?Mathematisch?Centrum?Amsterdam?The
Netherlands.
????????????????????????All?Rights?Reserved
Permission?to?use?copy?modify?and?distribute?this?software?and?its?
documentation?for?any?purpose?and?without?fee?is?hereby?granted?
provided?that?the?above?copyright?notice?appear?in?all?copies?and?that
both?that?copyright?notice?and?this?permission?notice?appear?in?
supporting?documentation?and?that?the?names?of?Stichting?Mathematisch
Centrum?or?CWI?not?be?used?in?advertising?or?publicity?pertaining?to
distribution?of?the?software?without?specific?written?prior?permission.
STICHTING?MATHEMATISCH?CENTRUM?DISCLAIMS?ALL?WARRANTIES?WITH?REGARD?TO
THIS?SOFTWARE?INCLUDING?ALL?IMPLIED?WARRANTIES?OF?MERCHANTABILITY?AND
FITNESS?IN?NO?EVENT?SHALL?STICHTING?MATHEMATISCH?CENTRUM?BE?LIABLE
FOR?ANY?SPECIAL?INDIRECT?OR?CONSEQUENTIAL?DAMAGES?OR?ANY?DAMAGES
WHATSOEVER?RESULTING?FROM?LOSS?OF?USE?DATA?OR?PROFITS?WHETHER?IN?AN
ACTION?OF?CONTRACT?NEGLIGENCE?OR?OTHER?TORTIOUS?ACTION?ARISING?OUT
OF?OR?IN?CONNECTION?WITH?THE?USE?OR?PERFORMANCE?OF?THIS?SOFTWARE.
******************************************************************/
/*
*??Cleaned?up?by?Phil?Frisbie?for?use?in?HawkVoice
*/
/*
**?Intel/DVI?ADPCM?coder/decoder.
**
**?The?algorithm?for?this?coder?was?taken?from?the?IMA?Compatability?Project
**?proceedings?Vol?2?Number?2;?May?1992.
**
**?Version?1.2?18-Dec-92.
**
**?Change?log:
**?-?Fixed?a?stupid?bug?where?the?delta?was?computed?as
**???stepsize*code/4?in?stead?of?stepsize*(code+0.5)/4.
**?-?There?was?an?off-by-one?error?causing?it?to?pick
**???an?incorrect?delta?once?in?a?blue?moon.
**?-?The?NODIVMUL?define?has?been?removed.?Computations?are?now?always?done
**???using?shifts?adds?and?subtracts.?It?turned?out?that?because?the?standard
**???is?defined?using?shift/add/subtract?you?needed?bits?of?fixup?code
**???(because?the?div/mul?simulation?using?shift/add/sub?made?some?rounding
**???errors?that?real?div/mul?don‘t?make)?and?all?together?the?resultant?code
**???ran?slower?than?just?using?the?shifts?all?the?time.
**?-?Changed?some?of?the?variable?names?to?be?more?meaningful.
*/
#include?“adpcm.h“
/*?Intel?ADPCM?step?variation?table?*/
static?int?indexTable[16]?=?{
????-1?-1?-1?-1?2?4?6?8
????-1?-1?-1?-1?2?4?6?8
};
static?int?stepsizeTable[89]?=?{
????7?8?9?10?11?12?13?14?16?17
????19?21?23?25?28?31?34?37?41?45
????50?55?60?66?73?80?88?97?107?118
????130?143?157?173?190?209?230?253?279?307
????337?371?408?449?494?544?598?658?724?796
????876?963?1060?1166?1282?1411?1552?1707?1878?2066
????2272?2499?2749?3024?3327?3660?4026?4428?4871?5358
????5894?6484?7132?7845?8630?9493?10442?11487?12635?13899
????15289?16818?18500?20350?22385?24623?27086?29794?32767
};
int?adpcm_coder(short?*indata
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????11082??2006-12-31?14:23??音頻ADPCM編解碼程序\adpcm.c
?????文件????????553??2006-12-31?14:22??音頻ADPCM編解碼程序\adpcm.h
?????文件???????3269??2006-12-31?14:43??音頻ADPCM編解碼程序\main.c
?????目錄??????????0??2009-03-30?20:28??音頻ADPCM編解碼程序
-----------?---------??----------?-----??----
????????????????14904????????????????????4
- 上一篇:SAP PA系列教材 中文版
- 下一篇:29j1n6.zip
評論
共有 條評論