資源簡介
本程序為0x0011 /* Intel’s DVI ADPCM */的編碼解碼代碼實現。包括單雙通路的處理和最后數據不是整塊block的處理。

代碼片段和文件信息
/***********************************************************
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.
******************************************************************/
/*
**?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“
#include??/*DBG*/
#ifndef?__STDC__
#define?signed
#endif
/*?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
};
????
void?adpcm_coder
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????7700??2018-10-24?20:16??adpcm.c
?????文件????????347??2018-10-24?20:14??adpcm.h
?????文件???????8431??2018-10-26?17:13??main.c
-----------?---------??----------?-----??----
????????????????16478????????????????????3
- 上一篇:遺傳算法優化RBF神經網絡程序
- 下一篇:IEEE1588實現代碼
評論
共有 條評論