1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241 |
- /* /////////////////////////////////////////////////////////////////////////////
- //
- // INTEL CORPORATION PROPRIETARY INFORMATION
- // This software is supplied under the terms of a license agreement or
- // nondisclosure agreement with Intel Corporation and may not be copied
- // or disclosed except in accordance with the terms of that agreement.
- // Copyright (c) 2001-2009 Intel Corporation. All Rights Reserved.
- //
- // Intel(R) Integrated Performance Primitives
- // Speech Recognition Reference Library
- //
- */
- #if !defined( __IPPSR_H__ ) || defined( _OWN_BLDPCS )
- #define __IPPSR_H__
- #if defined (_WIN32_WCE) && defined (_M_IX86) && defined (__stdcall)
- #define _IPP_STDCALL_CDECL
- #undef __stdcall
- #endif
- #ifndef __IPPDEFS_H__
- #include "ippdefs.h"
- #endif
- #ifdef __cplusplus
- extern "C" {
- #endif
- #if !defined( _OWN_BLDPCS )
- /* /////////////////////////////////////////////////////////////////////////////
- // Common Types & Definitions
- ///////////////////////////////////////////////////////////////////////////// */
- typedef enum {
- IPP_DELTA_BEGIN=0x0001,
- IPP_DELTA_END=0x0002
- } DeltaMode;
- #define ippsDeltaBegin IPP_DELTA_BEGIN
- #define ippsDeltaEnd IPP_DELTA_END
- typedef enum {
- IPP_FBANK_MELWGT = 1,
- IPP_FBANK_FREQWGT = 2,
- IPP_POWER_SPECTRUM = 4
- } IppMelMode;
- typedef enum {
- IPP_VOICE = 1,
- IPP_UNVOICE = 2,
- IPP_PREPARE = 4
- } IppVADDecision_Aurora;
- typedef enum {
- IPP_CDBK_FULL = 1,
- IPP_CDBK_KMEANS_LONG = 2,
- IPP_CDBK_KMEANS_NUM = 3
- } Ipp_Cdbk_Hint;
- struct BlockDMatrix_32f;
- struct BlockDMatrix_64f;
- struct BlockDMatrix_16s;
- typedef struct BlockDMatrix_32f IppsBlockDMatrix_32f;
- typedef struct BlockDMatrix_64f IppsBlockDMatrix_64f;
- typedef struct BlockDMatrix_16s IppsBlockDMatrix_16s;
- struct FBankState_16s;
- struct DCTLifterState_16s;
- struct FBankState_32f;
- struct DCTLifterState_32f;
- struct VADDrop_32f;
- struct VADDrop_16s;
- struct ResamplingPolyphase_16s;
- struct ResamplingPolyphaseFixed_16s;
- struct ResamplingPolyphase_32f;
- struct ResamplingPolyphaseFixed_32f;
- struct FBankState_32s;
- typedef struct ResamplingPolyphase_16s IppsResamplingPolyphase_16s;
- typedef struct ResamplingPolyphaseFixed_16s IppsResamplingPolyphaseFixed_16s;
- typedef struct ResamplingPolyphase_32f IppsResamplingPolyphase_32f;
- typedef struct ResamplingPolyphaseFixed_32f IppsResamplingPolyphaseFixed_32f;
- #define IppsResamlingPolyphase_16s IppsResamplingPolyphase_16s
- #define IppsResamlingPolyphaseFixed_16s IppsResamplingPolyphaseFixed_16s
- #define IppsResamlingPolyphase_32f IppsResamplingPolyphase_32f
- #define IppsResamlingPolyphaseFixed_32f IppsResamplingPolyphaseFixed_32f
- typedef struct VADDrop_32f IppsVADDrop_32f;
- typedef struct VADDrop_16s IppsVADDrop_16s;
- typedef struct FBankState_16s IppsFBankState_16s;
- typedef struct DCTLifterState_16s IppsDCTLifterState_16s;
- typedef struct FBankState_32f IppsFBankState_32f;
- typedef struct DCTLifterState_32f IppsDCTLifterState_32f;
- typedef struct FBankState_32s IppsFBankState_32s;
- struct CdbkState_32f;
- typedef struct CdbkState_32f IppsCdbkState_32f;
- struct CdbkState_16s;
- typedef struct CdbkState_16s IppsCdbkState_16s;
- #endif /* _OWN_BLDPCS */
- #define IPP_TRUNC(a,b) ((a)&~((b)-1))
- #define IPP_APPEND(a,b) (((a)+(b)-1)&~((b)-1))
- /* /////////////////////////////////////////////////////////////////////////////
- // Definitions for LogAdd Functions
- ///////////////////////////////////////////////////////////////////////////// */
- /*Ipp64f*/
- #define IPPSLOGZERO (-1.0e+10)
- #define IPPSLOGSMALL (-0.9e+10)
- #define IPPSMINLOGEXP -23.0258509299405 /*-log(-LOGZERO)*/
- #define IPPSMAXFWDP (-1.0e-8) /* highest p<0: exp(p) < DBL_EPSILON */
- #define IPPSMINFWDP -20.0 /* minimum forward probability */
- /*Ipp32f*/
- #define IPPSLOGZERO_F (-4.5e+6)
- #define IPPSLOGSMALL_F (-4.5e+6)
- #define IPPSMINLOGEXP_F -15.3195879547406 /*-log(-LOGZERO) */
- #define IPPSMAXFWDP_F (-1.0e-4) /* highest p<0: exp(p) < FLT_EPSILON */
- #define IPPSMINFWDP_F -10.0 /* minimum forward probability */
- /* /////////////////////////////////////////////////////////////////////////////
- // Definitions for LogSub Functions
- ///////////////////////////////////////////////////////////////////////////// */
- #define IPPSMINLARG (2.45E-308) /* lowest log() arg = exp(MINEARG) */
- #define IPPSMINMIX (-11.5129254649702) /* log(1.0e-5) */
- #define IPPSMINEARG (-708.3) /* lowest exp() arg = log(MINLARG) */
- #define IPPSMINEARG_F (-85.19) /* lowest exp() arg = log(MINLARG_F) */
- #define IPPSMINLARG_F (1.0057e-037) /* lowest log() arg = exp(MINEARG_F) */
- /* /////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- // Functions declarations
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////// */
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsrGetLibVersion
- // Purpose: getting of the library version
- // Returns: the structure of information about version of ippsr library
- // Parameters:
- //
- // Notes: not necessary to release the returned structure
- */
- IPPAPI( const IppLibraryVersion*, ippsrGetLibVersion, (void) )
- /* /////////////////////////////////////////////////////////////////////////////
- // Basic Arithmetics
- ///////////////////////////////////////////////////////////////////////////// */
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsAddAllRowSum_32f_D2
- // Purpose: Calculates the sums of column vectors in a matrix
- // and adds the sums to a vector.
- // Parameters:
- // pSrc Pointer to the input vector [height*sStep].
- // mSrc Pointer to the input matrix [height][width].
- // step The row step in pSrc.
- // height The number of rows in the input matrix mSrc.
- // width Number of columns in the input matrix mSrc, and also the
- // length of the output vector pSrcDst.
- //
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, or mSrc, or pSrcDst
- // pointer is null.
- // ippStsSizeErr Indicates an error when height or width is less than
- // or equal to 0.
- // ippStsStrideErr Indicates an error when width > step.
- //
- */
- IPPAPI(IppStatus, ippsAddAllRowSum_32f_D2, (const Ipp32f* pSrc, int step,
- int height, Ipp32f* pSrcDst, int width))
- IPPAPI(IppStatus, ippsAddAllRowSum_32f_D2L, (const Ipp32f** mSrc, int height,
- Ipp32f* pSrcDst, int width))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsSumColumn_*
- // Purpose: Calculates sums of column vectors in a matrix.
- //
- // Parameters:
- // pSrc Pointer to the input vector [height*step].
- // mSrc Pointer to the input matrix [height][width].
- // step The row step in the input vector pSrc.
- // height The number of rows in the input matrix mSrc.
- // pDst Pointer to the output vector [width].
- // width The number of columns in the input matrix and the length
- // of the result vector pDst.
- //
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, mSrc, or pDst pointer
- // is null.
- // ippStsSizeErr Indicates an error when height or width is less than
- // or equal to 0.
- // ippStsStrideErr Indicates an error when width > step.
- //
- */
- IPPAPI(IppStatus, ippsSumColumn_16s32s_D2Sfs,(const Ipp16s* pSrc, int step,
- int height, Ipp32s* pDst, int width, int scaleFactor))
- IPPAPI(IppStatus, ippsSumColumn_16s32f_D2,(const Ipp16s* pSrc, int step,
- int height, Ipp32f* pDst, int width))
- IPPAPI(IppStatus, ippsSumColumn_16s32s_D2LSfs,(const Ipp16s** mSrc, int height,
- Ipp32s* pDst, int width, int scaleFactor))
- IPPAPI(IppStatus, ippsSumColumn_16s32f_D2L,(const Ipp16s** mSrc, int height,
- Ipp32f* pDst, int width))
- IPPAPI(IppStatus, ippsSumColumn_32f_D2,(const Ipp32f* pSrc, int step,
- int height, Ipp32f* pDst, int width))
- IPPAPI(IppStatus, ippsSumColumn_64f_D2,(const Ipp64f* pSrc, int step,
- int height, Ipp64f* pDst, int width))
- IPPAPI(IppStatus, ippsSumColumn_32f_D2L,(const Ipp32f** mSrc, int height,
- Ipp32f* pDst, int width))
- IPPAPI(IppStatus, ippsSumColumn_64f_D2L,(const Ipp64f** mSrc, int height,
- Ipp64f* pDst, int width))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsSumRow_*
- // Purpose: Computes the sum of a list of vectors row-wise.
- // Parameters:
- // pSrc Pointer to the input vector [height*step].
- // mSrc Pointer to the input matrix [height][width].
- // height The number of rows in the matrix mSrc and also the length
- // of the output vector pDst.
- // step The row step in input vector pSrc.
- // pDst Pointer to the output vector [height].
- // width The number of columns in the matrix mSrc.
- // scaleFactor
- //
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when pSrc, mSrc, or pDst pointer
- // is null.
- // ippStsSizeErr Indicates an error when height or srcWidth is less than
- // or equal to 0.
- // ippStsStrideErr Indicates an error when srcWidth > step.
- //
- */
- IPPAPI(IppStatus, ippsSumRow_32f_D2,(const Ipp32f* pSrc, int width,
- int step, Ipp32f* pDst, int height))
- IPPAPI(IppStatus, ippsSumRow_64f_D2,(const Ipp64f* pSrc, int width,
- int step, Ipp64f* pDst, int height))
- IPPAPI(IppStatus, ippsSumRow_32f_D2L,(const Ipp32f** mSrc, int width,
- Ipp32f* pDst, int height))
- IPPAPI(IppStatus, ippsSumRow_64f_D2L,(const Ipp64f** mSrc, int width,
- Ipp64f* pDst, int height))
- IPPAPI(IppStatus, ippsSumRow_16s32s_D2Sfs,(const Ipp16s* pSrc, int width,
- int step, Ipp32s* pDst, int height, int scaleFactor))
- IPPAPI(IppStatus, ippsSumRow_16s32f_D2,(const Ipp16s* pSrc, int width,
- int step, Ipp32f* pDst, int height))
- IPPAPI(IppStatus, ippsSumRow_16s32s_D2LSfs,(const Ipp16s** mSrc, int width,
- Ipp32s* pDst, int height, int scaleFactor))
- IPPAPI(IppStatus, ippsSumRow_16s32f_D2L,(const Ipp16s** mSrc, int width,
- Ipp32f* pDst, int height))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsSubRow_*
- // Purpose: Subtracts a vector from all matrix rows.
- // Parameters:
- // pSrc Pointer to the input vector [width].
- // pSrcDst Pointer to the the source and destination vector
- // [height*dstStep].
- // mSrcDst Pointer to the source and destination matrix
- // [height][width].
- // width The number of columns in the matrix mSrcDst.
- // dstStep The row step in the vector pSrcDst.
- // height The number of rows in the matrix mSrcDst.
- //
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, pSrcDst, or mSrcDst
- // pointer is null.
- // ippStsSizeErr Indicates an error when height or width is less than or
- // equal to 0.
- // ippStsStrideErr Indicates an error when width > dstStep.
- //
- */
- IPPAPI(IppStatus, ippsSubRow_32f_D2, (const Ipp32f* pSrc, int width,
- Ipp32f* pSrcDst, int dstStep, int height))
- IPPAPI(IppStatus, ippsSubRow_32f_D2L, (const Ipp32f* pSrc, Ipp32f** mSrcDst,
- int width, int height))
- IPPAPI(IppStatus, ippsSubRow_16s_D2,(const Ipp16s* pSrc, int width,
- Ipp16s* pSrcDst, int dstStep, int height))
- IPPAPI(IppStatus, ippsSubRow_16s_D2L,(const Ipp16s* pSrc, Ipp16s** mSrcDst,
- int width, int height))
- /*///////////////////////////////////////////////////////////////////////////////
- // Name: ippsCopyColumn_Indirect_*
- // Purpose: Copies the input matrix with columns redirection.
- // Parameters:
- // pSrc Pointer to the input vector [height*srcStep].
- // mSrc Pointer to the input matrix [height][srcLen].
- // srcLen The number of columns in the input matrix mSrc.
- // srcStep The row step in pSrc
- // pDst Pointer to the output vector [height*dstStep]
- // mDst Pointer to the output matrix [height][dstLen]
- // pIndx Pointer to the redirection vector [dstLen]
- // dstLen The number of columns in the output matrix mDst
- // dstStep The row step in pDst
- // height The number of rows in both the input and output matrices.
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, mSrc, pDst, mDst or
- // pIndx pointer is null.
- // ippStsSizeErr Indicates an error when height, srcLen, or dstLen is less
- // than or equal to 0,
- // pIndx[j]>=srcLen or pIndx[j]<0 for j=0,:,dstlen-1
- // ippStsStrideErr Indicates an error when srcLen > srcStep, dstLen > dstStep.
- //
- */
- IPPAPI(IppStatus, ippsCopyColumn_Indirect_64f_D2, (const Ipp64f* pSrc,
- int srcLen, int srcStep, Ipp64f* pDst, const Ipp32s* pIndx, int dstLen,
- int dstStep, int height))
- IPPAPI(IppStatus, ippsCopyColumn_Indirect_32f_D2, (const Ipp32f* pSrc,
- int srcLen, int srcStep, Ipp32f* pDst, const Ipp32s* pIndx, int dstLen,
- int dstStep, int height))
- IPPAPI(IppStatus, ippsCopyColumn_Indirect_16s_D2, (const Ipp16s* pSrc,
- int srcLen, int srcStep, Ipp16s* pDst, const Ipp32s* pIndx, int dstLen,
- int dstStep, int height))
- IPPAPI(IppStatus, ippsCopyColumn_Indirect_64f_D2L, (const Ipp64f** mSrc,
- int srcLen, Ipp64f** mDst, const Ipp32s* pIndx, int dstLen, int height))
- IPPAPI(IppStatus, ippsCopyColumn_Indirect_32f_D2L, (const Ipp32f** mSrc,
- int srcLen, Ipp32f** mDst, const Ipp32s* pIndx, int dstLen, int height))
- IPPAPI(IppStatus, ippsCopyColumn_Indirect_16s_D2L, (const Ipp16s** mSrc,
- int srcLen, Ipp16s** mDst, const Ipp32s* pIndx, int dstLen, int height))
- /*///////////////////////////////////////////////////////////////////////////////
- // Name: ippsBlockDMatrixInitAlloc_*
- // Purpose: Initializes the structure that represents a symmetric
- // block diagonal matrix.
- // Parameters:
- // pMatrix Pointer to the block diagonal matrix to be created.
- // mSrc Pointer to the vector of pointers to matrix rows.
- // bSize Pointer to vector of block sizes [nBlocks].
- // nBlocks Number of blocks.
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pMatrix or mSrc pointer is null.
- // ippStsSizeErr Indicates an error when bSize or nBlocks is less than or
- // equal to 0
- // ippStsMemAllocErr Indicates an error when no memory allocated.
- //
- */
- IPPAPI(IppStatus, ippsBlockDMatrixInitAlloc_64f,(IppsBlockDMatrix_64f** pMatrix,
- const Ipp64f** mSrc, const int* bSize, int nBlocks))
- IPPAPI(IppStatus, ippsBlockDMatrixInitAlloc_16s,(IppsBlockDMatrix_16s** pMatrix,
- const Ipp16s** mSrc, const int* bSize, int nBlocks))
- IPPAPI(IppStatus, ippsBlockDMatrixInitAlloc_32f,(IppsBlockDMatrix_32f** pMatrix,
- const Ipp32f** mSrc, const int* bSize, int nBlocks))
- /*///////////////////////////////////////////////////////////////////////////////
- // Name: ippsBlockDMatrixFree_*
- // Purpose: Deallocates the block diagonal matrix structure.
- //
- // Parameters:
- // pMatrix Pointer to the block diagonal matrix.
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the mSrc.
- //
- */
- IPPAPI(IppStatus, ippsBlockDMatrixFree_32f,(IppsBlockDMatrix_32f* pMatrix))
- IPPAPI(IppStatus, ippsBlockDMatrixFree_64f,(IppsBlockDMatrix_64f* pMatrix))
- IPPAPI(IppStatus, ippsBlockDMatrixFree_16s,(IppsBlockDMatrix_16s* pMatrix))
- /* /////////////////////////////////////////////////////////////////////////////
- // Feature Processing functions
- ///////////////////////////////////////////////////////////////////////////// */
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsZeroMean_16s
- // Purpose: Subtracts the mean value from all elements of
- // the input vector.
- //
- // Parameters:
- // pSrcDst Pointer to the source and destination vector [len].
- // len The number of elements in the vector.
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrcDst pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0.
- //
- */
- IPPAPI(IppStatus, ippsZeroMean_16s, (Ipp16s *pSrcDst, int len))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsCompensateOffset_*
- // Purpose: Removes the DC offset of the input signals.
- //
- // Parameters:
- // pSrc Pointer to the source vector[len].
- // pDst Pointer to the destination vector[len].
- // pSrcDst Pointer to the source and destination vector for in-place
- // operations [len].
- // pSrcDst0 Pointer to the previous source element.
- // pSrc0 Pointer to previous source element. The last source
- // element is saved there.
- // dst0 Previous destination element.
- // val Constant of offset compensation formula.
- // len The number of elements in the vector.
- // scaleFactor
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pSrcDst or pDst or
- // pSrc0 pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0
- //
- */
- IPPAPI(IppStatus, ippsCompensateOffset_32f, (const Ipp32f* pSrc, Ipp32f* pDst,
- int len, Ipp32f* pSrc0, Ipp32f dst0, Ipp32f val))
- IPPAPI(IppStatus, ippsCompensateOffset_16s, (const Ipp16s* pSrc, Ipp16s* pDst,
- int len, Ipp16s* pSrcDst0, Ipp16s dst0, Ipp32f val))
- IPPAPI(IppStatus, ippsCompensateOffset_32f_I, (Ipp32f* pSrcDst, int len,
- Ipp32f* pSrc0, Ipp32f dst0, Ipp32f val))
- IPPAPI(IppStatus, ippsCompensateOffset_16s_I, (Ipp16s* pSrcDst, int len,
- Ipp16s* pSrcDst0, Ipp16s dst0, Ipp32f val))
- IPPAPI(IppStatus, ippsCompensateOffsetQ15_16s, (const Ipp16s* pSrc, Ipp16s* pDst,
- int len, Ipp16s* pSrcDst0, Ipp16s dst0, Ipp16s valQ15))
- IPPAPI(IppStatus, ippsCompensateOffsetQ15_16s_I, (Ipp16s* pSrcDst, int len,
- Ipp16s* pSrc0, Ipp16s dst0, Ipp16s valQ15))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsSignChangeRate_*
- // Purpose: Counts the zero-cross rate for the input signal.
- //
- // Parameters:
- // pSrc Pointer to the input signal [len].
- // len Number of elements in the input signal.
- // pRes Pointer to the result variable.
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pRes pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0.
- //
- */
- IPPAPI(IppStatus, ippsSignChangeRate_16s,(const Ipp16s* pSrc, int len,
- Ipp32s* pRes))
- IPPAPI(IppStatus, ippsSignChangeRate_32f,(const Ipp32f* pSrc, int len,
- Ipp32f* pRes))
- IPPAPI(IppStatus, ippsSignChangeRateXor_32f,(const Ipp32f* pSrc, int len,
- Ipp32s* pRes))
- IPPAPI(IppStatus, ippsSignChangeRate_Count0_16s,(const Ipp16s* pSrc, int len,
- Ipp32s* pRes))
- IPPAPI(IppStatus, ippsSignChangeRate_Count0_32f,(const Ipp32f* pSrc, int len,
- Ipp32f* pRes))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLinearPrediction_*
- // Purpose: Performs linear prediction analysis on the input vector.
- //
- // Parameters:
- // pSrc Pointer to the input vector [lenSrc]
- // lenSrc Length of the input vector pSrc.
- // pDst Pointer to the output LPC coefficients vector [lenDst].
- // lenDst Length of the output vector pDst.
- // scaleFactor
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pDst pointer is null.
- // ippStsSizeErr Indicates an error when lenSrc or lenDst is less than or
- // equal to 0, lenDst is greater or equal than lenSrc.
- // ippStsNoOperation Indicates no solution to the LPC problem.
- //
- */
- IPPAPI(IppStatus, ippsLinearPrediction_Cov_32f,(const Ipp32f *pSrc, int lenSrc,
- Ipp32f *pDst, int lenDst))
- IPPAPI(IppStatus, ippsLinearPrediction_Cov_16s_Sfs,(const Ipp16s* pSrc, int lenSrc,
- Ipp16s* pDst, int lenDst, int scaleFactor))
- IPPAPI(IppStatus, ippsLinearPrediction_Auto_32f,(const Ipp32f *pSrc, int lenSrc,
- Ipp32f *pDst, int lenDst))
- IPPAPI(IppStatus, ippsLinearPrediction_Auto_16s_Sfs,(const Ipp16s* pSrc, int lenSrc,
- Ipp16s* pDst, int lenDst, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLinearPredictionNeg_Auto_*
- // Purpose: Performs linear prediction analysis on the input vector.
- // The same formula as ippsLinearPrediction_Auto with -r[k] in the right part
- //
- // Parameters:
- // pSrc Pointer to the input vector [lenSrc]
- // lenSrc Length of the input vector pSrc.
- // pDst Pointer to the output LPC coefficients vector [lenDst].
- // lenDst Length of the output vector pDst.
- // scaleFactor
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pDst pointer is null.
- // ippStsSizeErr Indicates an error when lenSrc or lenDst is less than or
- // equal to 0, lenDst is greater or equal than lenSrc.
- // ippStsNoOperation Indicates no solution to the LPC problem.
- //
- */
- IPPAPI(IppStatus, ippsLinearPredictionNeg_Auto_32f,(const float *pSrc,int lenSrc,float *pDst,
- int lenDst))
- IPPAPI(IppStatus, ippsLinearPredictionNeg_Auto_16s_Sfs, (const Ipp16s* pSrc, int lenSrc,
- Ipp16s* pDst, int lenDst, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsDurbin_*
- // Purpose: Performs Durbin's recursion on an input vector
- // of autocorrelations.
- // Parameters:
- // pSrc Pointer to the input vector [ len+1].
- // pDst Pointer to the output LPC coefficients vector [len].
- // len Length of the input and output vectors.
- // pErr Pointer to the residual prediction error.
- // scaleFactor
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pDst or pErr
- // pointer is null.
- // ippStsSizeErr Indicates an error when lenis less than or equal to 0
- // ippStsMemAllocErr memory alllocation error
- // ippStsNoOperation ndicates no solution to the LPC problem.
- //
- */
- IPPAPI(IppStatus, ippsDurbin_32f,(const Ipp32f *pSrc, Ipp32f *pDst, int lenDst,
- Ipp32f* pErr))
- IPPAPI(IppStatus, ippsDurbin_16s_Sfs,(const Ipp16s* pSrc, Ipp16s* pDst,
- int lenDst,Ipp32f* pErr, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLPToCepstrum_*
- // Purpose: Calculates cepstrum coefficients from linear
- // prediction coefficients.
- // Parameters:
- // pSrc Pointer to the linear prediction coefficients [len].
- // pDst Pointer to the cepstrum coefficients [len].
- // len Number of elements in the source and destination vectors.
- // scaleFactor
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pDst pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0
- //
- */
- IPPAPI(IppStatus, ippsLPToCepstrum_32f,(const Ipp32f* pSrc, Ipp32f* pDst,
- int len))
- IPPAPI(IppStatus, ippsLPToCepstrum_16s_Sfs,(const Ipp16s* pSrc, Ipp16s* pDst,
- int len, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsCepstrumToLP_*
- // Purpose: Calculates linear prediction coefficients from
- // cepstrum coefficients.
- // Parameters:
- // pSrc Pointer to the cepstrum coefficients [len].
- // pDst Pointer to the linear prediction coefficients [len].
- // len Number of elements in the source and destination vectors.
- // scaleFactor
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pDst pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0.
- //
- */
- IPPAPI(IppStatus, ippsCepstrumToLP_32f,(const Ipp32f* pSrc, Ipp32f* pDst,
- int len))
- IPPAPI(IppStatus, ippsCepstrumToLP_16s_Sfs,(const Ipp16s* pSrc, Ipp16s* pDst,
- int len, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLPToReflection_*
- // Purpose: Calculates the linear prediction reflection
- // coefficients from the linear prediction coefficients.
- // Parameters:
- // pSrc Pointer to the linear prediction coefficients [len].
- // pDst Pointer to the linear prediction reflection coefficients [len].
- // len Number of elements in the source and destination vectors.
- // scaleFactor
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pDst pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0.
- // ippStsNoOperation Indicates that reflection coefficients could not be calculated
- //
- */
- IPPAPI(IppStatus, ippsLPToReflection_32f,(const Ipp32f* pSrc, Ipp32f* pDst,
- int len))
- IPPAPI(IppStatus, ippsLPToReflection_16s_Sfs,(const Ipp16s* pSrc, Ipp16s* pDst,
- int len, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsDTW_L2_32f_D2L*
- // Purpose: Computes the distance between observation and reference vector
- // sequences using Dynamic Time Warping algorithm.
- //
- // Parameters:
- // pSrc1 Pointer to the first input (observation) vector [height1*step].
- // pSrc2 Pointer to the second input (reference) vector [height2*step].
- // mSrc1 Pointer to the first input (observation) matrix [height1][width].
- // mSrc2 Pointer to the second input (reference) matrix [height2][width].
- // height1 Number of rows in the first input matrix N1.
- // height2 Number of rows in the first input matrix N2.
- // width Length of the input matrices row M.
- // step Row step in pSrc1 and pSrc2.
- // pDist Pointer to the distance value.
- // beam Beam value, used if positive.
- // delta Endpoint constraint value.
- // scaleFactor Scale factor for input values .
- // Return Value
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc1, pSrc2, mSrc1, mSrc2, or pDist pointer is null.
- // ippStsSizeErr Indicates an error when height1, height2, or width is less than or equal to 0 or delta is less than 0 or greater than height2.
- // ippStsStrideErr Indicates an error when step is less than width.
- // ippStsLPCCalcErr Indicates that there are now admissible paths for height1, height2 and delta values.
- */
- IPPAPI(IppStatus, ippsDTW_L2_32f_D2L,(const Ipp32f** mSrc1, int height1,
- const Ipp32f** mSrc2, int height2,
- int width, Ipp32f* pDist, int delta,
- Ipp32f beam))
- IPPAPI(IppStatus, ippsDTW_L2_32f_D2,(const Ipp32f* mSrc1, int height1,
- const Ipp32f* mSrc2, int height2,
- int width, int step, Ipp32f* pDist, int delta,
- Ipp32f beam))
- IPPAPI(IppStatus, ippsDTW_L2_8u32s_D2Sfs,(const Ipp8u* pSrc1, int height1,
- const Ipp8u* pSrc2, int height2,
- int width, int step, Ipp32s* pDist, int delta,
- Ipp32s beam, int scaleFactor))
- IPPAPI(IppStatus, ippsDTW_L2_8u32s_D2LSfs,(const Ipp8u** mSrc1, int height1,
- const Ipp8u** mSrc2, int height2,
- int width, Ipp32s* pDist, int delta,
- Ipp32s beam, int scaleFactor))
- IPPAPI(IppStatus, ippsDTW_L2Low_16s32s_D2Sfs,(const Ipp16s* pSrc1, int height1,
- const Ipp16s* pSrc2, int height2,
- int width, int step, Ipp32s* pDist, int delta,
- Ipp32s beam, int scaleFactor))
- IPPAPI(IppStatus, ippsDTW_L2Low_16s32s_D2LSfs,(const Ipp16s** mSrc1, int height1,
- const Ipp16s** mSrc2, int height2,
- int width, Ipp32s* pDist, int delta,
- Ipp32s beam, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsSchur_*
- // Purpose: Schur's recursion for an input vector of
- // autocorrelations.
- //
- // Parameters:
- // pSrc Pointer to the input autocorrelations vector [len+1].
- // pDst Pointer to the output reflection coefficients vector [len].
- // len Length of the output vectors.
- // pErr Pointer to the resulting prediction error.
- // scaleFactor
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pDst or pErr pointer
- // is null.
- // ippStsSizeErr Indicates an error when lenSrc or lenDst is less than or
- // equal to 0 or pSrc < pDst.
- // ippStsMemAllocErr memory alllocation error
- // ippStsDivByZeroErr Indicates no solution to the LPC problem
- */
- IPPAPI(IppStatus, ippsSchur_32f,(const Ipp32f* pSrc, Ipp32f* pDst, int len, Ipp32f* pErr))
- IPPAPI(IppStatus, ippsSchur_16s_Sfs,(const Ipp16s* pSrc, Ipp16s* pDst, int len,
- Ipp32f* pErr,int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsReflectionToLP_*
- // Purpose: Calculates the linear prediction coefficients from
- // the linear prediction reflection coefficients.
- // Parameters:
- // pSrc Pointer to the linear prediction reflection coefficients [len].
- // pDst Pointer to the linear prediction coefficients [len].
- // len Number of elements in the source and destination vectors.
- // scaleFactor
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pDst pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0
- //
- */
- IPPAPI(IppStatus, ippsReflectionToLP_32f,(const Ipp32f* pSrc, Ipp32f* pDst,
- int len))
- IPPAPI(IppStatus, ippsReflectionToLP_16s_Sfs,(const Ipp16s* pSrc, Ipp16s* pDst,
- int len, int scaleFactor))
- /*/////////////////////////////////////////////////////////////////////////////
- // Name: ippsReflectionToAR_*
- // ippsReflectionToLAR_*
- // ippsReflectionToTrueAR_*
- // Purpose: Converts reflection coefficients to area ratios.
- //
- // Parameters:
- // pSrc Pointer to the input vector [len].
- // pDst Pointer to the destination vector [len].
- // val Threshold value ( 0 < val < 1 ).
- // len Length of the input and output vectors.
- //
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pDst
- // pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0.
- // ippStsDivByZero Indicates a warning for zero-valued divisor vector
- // element. Operation execution is not aborted. The value of
- // the destination vector element in the floating-point
- // operations +Inf. The value of the destination vector
- // element in the integer operations IPP_MAX_16S.
- // ippStsNoOperation Indicates an error when 0<val<1 is not true.
- // Notes:
- //
- */
- IPPAPI(IppStatus, ippsReflectionToAR_16s_Sfs, (const Ipp16s* pSrc,
- int srcShiftVal, Ipp16s* pDst, int len, int scaleFactor))
- IPPAPI(IppStatus, ippsReflectionToAR_32f, (const Ipp32f* pSrc, Ipp32f* pDst,
- int len))
- IPPAPI(IppStatus, ippsReflectionToLAR_16s_Sfs, (const Ipp16s* pSrc,
- int srcShiftVal, Ipp16s* pDst, int len, Ipp32f val, int scaleFactor))
- IPPAPI(IppStatus, ippsReflectionToLAR_32f, (const Ipp32f* pSrc,
- Ipp32f* pDst, int len, Ipp32f val))
- IPPAPI(IppStatus, ippsReflectionToTrueAR_16s_Sfs, (const Ipp16s* pSrc,
- int srcShiftVal, Ipp16s* pDst, int len, int scaleFactor))
- IPPAPI(IppStatus, ippsReflectionToTrueAR_32f, (const Ipp32f* pSrc,
- Ipp32f* pDst, int len))
- /*/////////////////////////////////////////////////////////////////////////////
- // Name: ippsPitchmarkToF0Cand_*
- // Purpose: Calculates rise and fall amplitude and duration for tilt.
- //
- // Parameters:
- // pSrc Pointer to the input vector [len].
- // pDst Pointer to the destination vector [len].
- // len Length of the input and output vectors.
- //
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pDst
- // pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0.
- // ippStsDivByZero Indicates a warning for zero-valued divisor vector
- // element. Operation execution is not aborted. The value of
- // the destination vector element in the floating-point
- // operations +Inf. The value of the destination vector
- // element in the integer operations IPP_MAX_16S.
- // Notes:
- */
- IPPAPI(IppStatus, ippsPitchmarkToF0Cand_32f, (const Ipp32f* pSrc,
- Ipp32f* pDst, int len))
- IPPAPI(IppStatus, ippsPitchmarkToF0Cand_16s_Sfs, (const Ipp16s* pSrc,
- Ipp16s* pDst, int len, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsUnitCurve_*_*
- //
- // Purpose: Calculates tilt for rise and fall coefficients.
- //
- // Parameters:
- // pSrc Pointer to the input array [len].
- // pSrcDst Pointer to the input and destination vector [len].
- // pDst Pointer to the output array [len].
- // len Number of elements in the input vector.
- // srcShiftVal Input scale factor.
- // scaleFactor
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, pSrcDst or pDst
- // pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0.
- //
- */
- IPPAPI(IppStatus, ippsUnitCurve_16s_Sfs, (const Ipp16s* pSrc, int srcShiftVal,
- Ipp16s* pDst, int len, int scaleFactor))
- IPPAPI(IppStatus, ippsUnitCurve_32f, (const Ipp32f* pSrc,
- Ipp32f* pDst, int len))
- IPPAPI(IppStatus, ippsUnitCurve_16s_ISfs, (Ipp16s* pSrcDst, int srcShiftVal,
- int len, int scaleFactor))
- IPPAPI(IppStatus, ippsUnitCurve_32f_I, (Ipp32f* pSrcDst, int len))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLPToLSP_32f
- // Purpose: computes linear spectral pairs from LPC (in the cosine domain).
- //
- // Parameters:
- // pSrcLPC Pointer to the input LPC coefficients vector [len].
- // pDstLSP Pointer to the output LSP coefficients vector [len].
- // len Number of LPC coefficients.
- // nRoots Number of found LSP values.
- // nInt Number of intervals while roots finding.
- // nDiv Number of interval divisions while roots finding.
- // inScale Scale factor for pSrcLPC values.
- // scaleFactor Scale factor for pDstLSP values .
- // srcShiftVal Scale factor for pSrcLP values .
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pDst pointer is null.
- // ippStsSizeErr Indicates an error when lenSrc or len is less than or equal to 0
- // or pSrc < pDst.
- // ippStsMemAllocErr memory alllocation error
- // ippStsNoRootFoundErr if no decision exists2
- */
- IPPAPI(IppStatus, ippsLPToLSP_32f,(const Ipp32f* pSrcLPC, Ipp32f* pDstLSP, int len,
- int* nRoots,int nInt, int nDiv))
- IPPAPI(IppStatus, ippsLPToLSP_16s_Sfs,(const Ipp16s* pSrcLP, int srcShiftVal, Ipp16s* pDstLSP,
- int len,int* nRoots,int nInt, int nDiv, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLSPToLP_32f
- // Purpose: computes linear spectral pairs from LPC (in the cosine domain).
- //
- // Arguments:
- // pDstLPC Pointer to the output LPC coefficients vector [len].
- // pSrcLSP Pointer to the input LSP coefficients vector [len].
- // len Number of LPC coefficients.
- // inScale Scale factor for pSrcLPC values.
- // scaleFactor Scale factor for pDstLSP values .
- //
- // Return Value
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pDst pointer is null.
- // ippStsSizeErr Indicates an error when lenSrc or len is less than or equal to 0
- // or pSrc < pDst.
- // ippStsMemAllocErr memory alllocation error
- */
- IPPAPI(IppStatus, ippsLSPToLP_32f,(const Ipp32f* pSrcLSP, Ipp32f* pDstLPC, int len))
- IPPAPI(IppStatus, ippsLSPToLP_16s_Sfs,(const Ipp16s* pSrcLSP, int srcShiftVal, Ipp16s* pDstLP,
- int len, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLPToSpectrum_32f
- // Purpose: Computes first half of a LP magnitude spectrum
- // ippsLPToSpectrum_32f
- // Arguments:
- // pSrc Pointer to the input LPC coefficients vector [len].
- // pDst Pointer to the output LP spectrum coefficients vector [2order-1].
- // len Number of LPC coefficients.
- // order FFT order for spectrum calculation.
- // val The value of add to spectrum.
- // scaleFactor Scale factor for pDst values .
- //
- // Return Value
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pDst pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0.
- // ippStsFftOrderErr Indicates an error when the order value is incorrect.
- // ippStsDivByZero Indicates a warning for zero-valued divisor vector element. Operation
- // execution is not aborted. The value of the destination vector element in the floating-point
- // operations is equal to +Inf : and in the integer operations is equal to IPP_MAX_16S.
- */
- IPPAPI(IppStatus, ippsLPToSpectrum_32f,(const Ipp32f *LPCoeffs,int nLP,Ipp32f *pDst,
- int lenFFT,Ipp32f val))
- IPPAPI(IppStatus, ippsLPToSpectrum_16s_Sfs,(const Ipp16s* pSrc, int len, Ipp16s* pDst, int order,
- Ipp32s val, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsMelToLinear_32f
- // Purpose: Converts Mel-scaled values to linear scale values.
- //
- // Parameters:
- // pSrc Pointer to the input vector [len]
- // pDst Pointer to the output vector [len]
- // len The length of input and output vectors
- // melMul Multiply factor in the mel-scale equation
- // melDiv Divide factor in the mel-scale equation
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pDst pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0,
- // of melMul or melDiv is equal to 0.
- */
- IPPAPI(IppStatus, ippsMelToLinear_32f,(const Ipp32f* pSrc, Ipp32f* pDst, int len,
- Ipp32f melMul, Ipp32f melDiv))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLinearToMel_32f
- // Purpose: Converts linear-scale values to Mel-scale values.
- //
- // Parameters:
- // pSrc Pointer to the input vector [len]
- // pDst Pointer to the output vector [len]
- // len The length of input and output vectors
- // melMul Multiply factor in the mel-scale equation
- // melDiv Divide factor in the mel-scale equation
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pDst pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0,
- // of melMul or melDiv is equal to 0.
- //
- */
- IPPAPI(IppStatus, ippsLinearToMel_32f,(const Ipp32f* pSrc, Ipp32f* pDst, int len,
- Ipp32f melMul, Ipp32f melDiv))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsCopyWithPadding_*
- // Purpose: Copies the input signal to the output with zero padding
- // Parameters:
- // pSrc Pointer to the input vector [lenSrc]
- // pDst Pointer to the output vector [lenDst]
- // lenSrc The length of pSrc vector.
- // lenDst The length of pDst vector.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pDst pointer is null.
- // ippStsSizeErr Indicates an error when lenSrc or lenDst is less than or
- // equal to 0 or lenDst is less than lenSrc
- */
- IPPAPI(IppStatus, ippsCopyWithPadding_16s,(const Ipp16s* pSrc, int lenSrc,
- Ipp16s* pDst, int lenDst))
- IPPAPI(IppStatus, ippsCopyWithPadding_32f,(const Ipp32f* pSrc, int lenSrc,
- Ipp32f* pDst, int lenDst))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: IppStatus ippsMelFBankGetSize_* (int winSize,
- // int nFilter,
- // IppMelMode mode,
- // int* pSize))
- // IppStatus ippsMelFBankGetSizeLow_Aurora_* (int* pSize)
- // IppStatus ippsMelFBankGetSizeHigh_Aurora_* (int* pSize)
- //
- // Description: Mel-frequency filter bank structure size - this function determines the
- // size required for the Mel-frequency filter bank structure and associated
- // storage. It should be called before memory allocation and before ippsMelFBankInit_32s.
- //
- // Input Arguments: winSize - frame length in samples (32 = winSize = 8192).
- // sampFreq - input signal sampling frequency Fs in Hz (0 < sampFreq = 48000).
- // nFilter - number of Mel-scale filter banks K (0 < nFilter = winSize).
- // mode - flag that determines the execution mode. Currently only
- // IPP_FBANK_FREQWGT is supported.
- //
- // Output Arguments:pSize - pointer to the variable to contain the size of the filter bank structure.
- //
- //
- // Returns: ippStsNoErr - No Error.
- // ippStsFBankFlagErr - Indicates an error when the mode value is incorrect.
- // ippStsNullPtrErr - Indicates an error when pSize pointer is null.
- // ippStsSizeErr - Indicates an error when winSize, nFilter, or sampFreq is less than or equal to 0.
- //
- // Notes:
- */
- IPPAPI(IppStatus, ippsMelFBankGetSize_32s,(int winSize, int nFilter,
- IppMelMode mode, int* pSize))
- IPPAPI(IppStatus, ippsMelFBankGetSize_16s,(int winSize, int nFilter,
- IppMelMode mode, int* pSize))
- IPPAPI(IppStatus, ippsMelFBankGetSize_32f,(int winSize, int nFilter,
- IppMelMode mode, int* pSize))
- IPPAPI(IppStatus, ippsMelFBankGetSizeLow_Aurora_32f,(int* pSize))
- IPPAPI(IppStatus, ippsMelFBankGetSizeHigh_Aurora_32f,(int* pSize))
- IPPAPI(IppStatus, ippsMelFBankGetSizeLow_Aurora_16s,(int* pSize))
- IPPAPI(IppStatus, ippsMelFBankGetSizeHigh_Aurora_16s,(int* pSize))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsMelFBankInitAlloc_*
- // Purpose: Initializes the structure for performing the Mel
- // frequency filter bank analysis.
- // Parameters:
- // pFBank Pointer to the Mel-scale filter bank structure to be created.
- // pFFTLen Pointer to the order of FFT used for the filter bank evaluation.
- // winSize Frame length (samples)
- // sampFreq Input signal sampling frequency (in Hz)
- // lowFreq Start frequency of the first band pass filter (in Hz)
- // highFreq End frequency of the last band pass filter (in Hz)
- // nFilter Number of Mel-scale filters banks K.
- // melMul Mel-scale formula multiply factor.
- // melDiv Mel-scale formula divisor.
- // mode Flags that determine the execution mode; can have
- // the following values:
- // IPP_FBANK_MELWGT - the function calculates filter bank
- // weights in Mel-scale;
- // IPP_FBANK_FREQWGT - the function calculates filter bank
- // weights in the frequency space.
- // One of the above two flags should necessarily be set.
- // IPP_POWER_SPECTRUM - indicates that the FFT power
- // spectrum is used during the filter bank analysis.
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when pFBank or pFFTLen pointer is null.
- // ippStsSizeErr Indicates an error when winSize, nFilter, sampFreq, or
- // lowFreqis less than or equal to 0.
- // ippStsFBankFreqErr Indicates an error when highFreqis less than lowFreqor
- // highFreq is greater than sampFreq/2.
- // ippStsFBankFlagErr Indicates an error when the modevalue is incorrect.
- // ippStsMemAllocErr Indicates an error when no memory was allocated.
- //
- */
- IPPAPI(IppStatus, ippsMelFBankInitAlloc_16s,(IppsFBankState_16s** pFBank,
- int* pFFTLen, int winSize, Ipp32f sampFreq, Ipp32f lowFreq,
- Ipp32f highFreq, int nFilter, Ipp32f melMul, Ipp32f melDiv,
- IppMelMode mode))
- IPPAPI(IppStatus, ippsMelFBankInitAlloc_32f,(IppsFBankState_32f** pFBank,
- int* pFFTLen, int winSize, Ipp32f sampFreq, Ipp32f lowFreq,
- Ipp32f highFreq, int nFilter, Ipp32f melMul, Ipp32f melDiv,
- IppMelMode mode))
- IPPAPI(IppStatus, ippsMelFBankInitAllocLow_Aurora_32f,(IppsFBankState_32f** pFBank))
- IPPAPI(IppStatus, ippsMelFBankInitAllocHigh_Aurora_32f,(IppsFBankState_32f** pFBank))
- IPPAPI(IppStatus, ippsMelFBankInitAllocLow_Aurora_16s,(IppsFBankState_16s** pFBank))
- IPPAPI(IppStatus, ippsMelFBankInitAllocHigh_Aurora_16s,(IppsFBankState_16s** pFBank))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsMelFBankInit_*
- // Purpose: Initializes the structure for performing the Mel
- // frequency filter bank analysis.
- // Parameters:
- // pFBank Pointer to the Mel-scale filter bank structure to be created.
- // pFFTLen Pointer to the order of FFT used for the filter bank evaluation.
- // winSize Frame length (samples)
- // sampFreq Input signal sampling frequency (in Hz)
- // lowFreq Start frequency of the first band pass filter (in Hz)
- // highFreq End frequency of the last band pass filter (in Hz)
- // nFilter Number of Mel-scale filters banks K.
- // melMul Mel-scale formula multiply factor.
- // melDiv Mel-scale formula divisor.
- // mode Flags that determine the execution mode; can have
- // the following values:
- // IPP_FBANK_MELWGT - the function calculates filter bank
- // weights in Mel-scale;
- // IPP_FBANK_FREQWGT - the function calculates filter bank
- // weights in the frequency space.
- // One of the above two flags should necessarily be set.
- // IPP_POWER_SPECTRUM - indicates that the FFT power
- // spectrum is used during the filter bank analysis.
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when pFBank or pFFTLen pointer is null.
- // ippStsSizeErr Indicates an error when winSize, nFilter, sampFreq, or
- // lowFreqis less than or equal to 0.
- // ippStsFBankFreqErr Indicates an error when highFreqis less than lowFreqor
- // highFreq is greater than sampFreq/2.
- // ippStsFBankFlagErr Indicates an error when the modevalue is incorrect.
- // ippStsMemAllocErr Indicates an error when no memory was allocated.
- //
- */
- IPPAPI(IppStatus, ippsMelFBankInit_32s,(IppsFBankState_32s* pFBank,
- int* pFFTLen, int winSize, Ipp32s sampFreq,
- Ipp32s lowFreq, Ipp32s highFreq, int nFilter,
- Ipp32s melMulQ15, Ipp32s melDivQ15, IppMelMode mode))
- IPPAPI(IppStatus, ippsMelFBankInit_16s,(IppsFBankState_16s* pFBank,
- int* pFFTLen, int winSize, Ipp32f sampFreq, Ipp32f lowFreq,
- Ipp32f highFreq, int nFilter, Ipp32f melMul, Ipp32f melDiv,
- IppMelMode mode))
- IPPAPI(IppStatus, ippsMelFBankInit_32f,(IppsFBankState_32f* pFBank,
- int* pFFTLen, int winSize, Ipp32f sampFreq, Ipp32f lowFreq,
- Ipp32f highFreq, int nFilter, Ipp32f melMul, Ipp32f melDiv,
- IppMelMode mode))
- IPPAPI(IppStatus, ippsMelFBankInitLow_Aurora_32f,(IppsFBankState_32f* pFBank))
- IPPAPI(IppStatus, ippsMelFBankInitHigh_Aurora_32f,(IppsFBankState_32f* pFBank))
- IPPAPI(IppStatus, ippsMelFBankInitLow_Aurora_16s,(IppsFBankState_16s* pFBank))
- IPPAPI(IppStatus, ippsMelFBankInitHigh_Aurora_16s,(IppsFBankState_16s* pFBank))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsMelLinFBankInitAlloc_*
- // Purpose: Initializes the linear and mel-frequency filter banks
- // Parameters:
- // pFBank Pointer to the mel scale filter bank structure to be created.
- // FFTLen Pointer to the length of FFT N used for filter bank evaluation.
- // winSize Frame length (samples)
- // sampFreq Input signal sampling frequency (in Hz)
- // lowFreq Start frequency of the first band pass filter (in Hz)
- // highLinFreq End frequency of the last band pass filter on linear
- // scale (in Hz)
- // highFreq End frequency of the last band pass filter (in Hz)
- // nFilter Number of Mel-scale filters in the filter bank
- // nLinFilter umber of Linear-scale filters in the filter bank
- // melMul Mel scale formula factor
- // melDiv Mel scale formula divisor
- // mode One of the following values:
- // IPP_FBANK_MELWGT - calculate fbank weights in Mel-scale
- // IPP_FBANK_FREQWGT - calculate fbank weights in
- // frequency space
- // IPP_POWER_SPECTRUM - indicates that FFT power logarithm
- // of input signal is calculated before filter bank
- // evaluation by ippsEvalFBank function.
- // Corresponding internal structures are initialized in
- // the result filter bank structure.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsSizeErr Indicates an error when winSize, nFilter, nLinFilter,
- // freq, lowFreq is less than or equal to 0 or nLinFilter
- // is greater than nFilter;
- // ippStsFBankFreqErr Indicates an error when (lowFreq > highlinFreq)
- // or (highlinFreq > highFreq) or (highFreq > sampFreq/2)
- // or (highLinFreq> lowFreq)&&(nLinFilter==0)
- // or (highLinFreq< highFreq)&&(nLinFilter==nFilter)
- // ippStsFBankFlagErr Indicates an error when the mode value is incorrect.
- // ippStsMemAllocErr Indicates an error when no memory allocated.
- */
- IPPAPI(IppStatus, ippsMelLinFBankInitAlloc_32f,(IppsFBankState_32f** pFBank,
- int* pFFTLen, int winSize, Ipp32f sampFreq, Ipp32f lowFreq,
- Ipp32f highFreq, int nFilter, Ipp32f highLinFreq, int nLinFilter,
- Ipp32f melMul, Ipp32f melDiv, IppMelMode mode))
- IPPAPI(IppStatus, ippsMelLinFBankInitAlloc_16s,(IppsFBankState_16s** pFBank,
- int* pFFTLen, int winSize, Ipp32f sampFreq, Ipp32f lowFreq,
- Ipp32f highFreq, int nFilter, Ipp32f highLinFreq, int nLinFilter,
- Ipp32f melMul, Ipp32f melDiv, IppMelMode mode))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsEmptyFBankInitAlloc_*
- // Purpose: Initializes an empty filter bank structure.
- // Parameters:
- // pFBank Pointer to the filter bank structure to be created.
- // pFFTLen Pointer to the order of FFT used for the
- // filter bank evaluation.
- // winSize Frame length (samples)
- // nFilter Number of filters banks K.
- // mode Flag determining the function's execution mode; can have
- // the following value:
- // IPP_POWER_SPECTRUM - indicates that the logarithm of the
- // FFT power spectrum is used during the filter
- // bank analysis.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when pFBank or pFFTLen pointer is null.
- // ippStsSizeErr Indicates an error when winSize or nFilter or pFBank
- // is less than or equal to 0;
- // ippStsMemAllocErr Indicates an error when no memory allocated.
- //
- */
- IPPAPI(IppStatus, ippsEmptyFBankInitAlloc_32f,(IppsFBankState_32f** pFBank, int* pFFTLen,
- int winSize, int nFilter, IppMelMode mode))
- IPPAPI(IppStatus, ippsEmptyFBankInitAlloc_16s,(IppsFBankState_16s** pFBank, int* pFFTLen,
- int winSize, int nFilter, IppMelMode mode))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsFBankFree_*
- // Purpose: Destroys the structure for the filter bank analysis.
- // Parameters:
- // pFBank Pointer to the filter bank structure.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pFBank pointer is null.
- */
- IPPAPI(IppStatus, ippsFBankFree_16s,(IppsFBankState_16s* pFBank))
- IPPAPI(IppStatus, ippsFBankFree_32f,(IppsFBankState_32f* pFBank))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsFBankGetCenters_*
- // Purpose: Retrieves the center frequencies of the
- // triangular filter banks.
- // Parameters:
- // pFBank Pointer to the filter bank structure.
- // pCenters Pointer to the output vector that contains the center
- // frequencies.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pFBank or pCenters pointer is null.
- // ippStsFBankErr Indicates an error when filter centers are not valid after filter
- // bank initialization by ippsEmptyFBankInitAlloc function.
- //
- */
- IPPAPI(IppStatus, ippsFBankGetCenters_32f,(const IppsFBankState_32f* pFBank, int* pCenters))
- IPPAPI(IppStatus, ippsFBankGetCenters_16s,(const IppsFBankState_16s* pFBank, int* pCenters))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsFBankSetCenters_*
- // Purpose: Sets the center frequencies of the
- // triangular filter banks.
- // Parameters:
- // pFBank Pointer to the filter bank structure
- // pCenters Pointer to the vector that contains center frequencies.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pFBank or pCenters pointer is null.
- //
- */
- IPPAPI(IppStatus, ippsFBankSetCenters_16s,(IppsFBankState_16s* pFBank,
- const int* pCenters))
- IPPAPI(IppStatus, ippsFBankSetCenters_32f,(IppsFBankState_32f* pFBank,
- const int* pCenters))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsFBankGetCoeffs_*
- // Purpose: Retrieves the filter bank weight coefficients.
- // Parameters:
- // pFBank Pointer to the filter bank structure
- // fIdx Filter index.
- // pCoeffs Pointer to the filter coefficients vector.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pFBank or pCoeffs pointer is null.
- // ippStsSizeErr Indicates an error when fIdx is less then 1 or greater
- // then nFilter.
- // ippStsFBankErr Indicates an error when fIdx filter coeffitients are not
- // valid after filter centers reset or filter centers are not
- // valid after filter bank initialization by
- // ippsEmptyFBankInitAlloc function.
- //
- */
- IPPAPI(IppStatus, ippsFBankGetCoeffs_16s,(const IppsFBankState_16s* pFBank,
- int fIdx, Ipp32f* pCoeffs))
- IPPAPI(IppStatus, ippsFBankGetCoeffs_32f,(const IppsFBankState_32f* pFBank,
- int fIdx, Ipp32f* pCoeffs))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsFBankSetCoeffs_*
- // Purpose: Sets the filter bank weight coefficients.
- // Parameters:
- // pFBank Pointer to the filter bank structure
- // fIdx Filter index.
- // pCoeffs Pointer to the output coefficients vector.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pFBank or pCoeffs pointer is null.
- // ippStsSizeErr Indicates an error when fIdx is less then 1 or greater
- // then nFilter.
- // ippStsFBankErr Indicates an error when the weight coefficients are not
- // available or valid.
- //
- */
- IPPAPI(IppStatus, ippsFBankSetCoeffs_16s,(IppsFBankState_16s* pFBank, int fIdx,
- const Ipp32f* pCoeffs))
- IPPAPI(IppStatus, ippsFBankSetCoeffs_32f,(IppsFBankState_32f* pFBank, int fIdx,
- const Ipp32f* pCoeffs))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsEvalFBank_*
- // Purpose: Performs the filter bank analysis
- // Parameters:
- // pSrc Pointer to the source vector
- // pDst Pointer to the filter bank coefficients vector [nFilter].
- // pFBank Pointer to the filter bank structure.
- // scaleFactor
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, pDst pointer is null.
- // ippStsFBankErr Indicates an error when pFBank structure is not ready for
- // calculation.
- //
- */
- IPPAPI(IppStatus, ippsEvalFBank_16s_Sfs,(const Ipp16s* pSrc, Ipp16s* pDst,
- const IppsFBankState_16s* pFBank, int scaleFactor))
- IPPAPI(IppStatus, ippsEvalFBank_16s32s_Sfs,(const Ipp16s* pSrc, Ipp32s* pDst,
- const IppsFBankState_16s* pFBank, int scaleFactor))
- IPPAPI(IppStatus, ippsEvalFBank_32f,(const Ipp32f* pSrc, Ipp32f* pDst,
- const IppsFBankState_32f* pFBank))
- IPPAPI(IppStatus, ippsEvalFBank_32s_Sfs,(const Ipp32s* pSrc, Ipp32s* pDst,
- const IppsFBankState_32s* pFBank, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsDCTLifterGetSize_*
- // Purpose: This function determines the
- // size required for initializes the structure to perform DCT
- // and lift the DCT coefficients. It should be called before
- // memory allocation and before ippsDCTLifterInit_*
- // Parameters:
- // lenDCT Length of DCT will be used for MFCC calculation
- // lenCeps Number (without c0) of cepstral coefficients to be calculated.
- // nLifter Liftering factor
- // pSize output
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSize pointer is null.
- // ippStsSizeErr Indicates an error when lenDCT, lenCeps or nLifter is
- // less than or equal to 0 or lenDCT is less than lenCeps.
- //
- */
- IPPAPI(IppStatus, ippsDCTLifterGetSize_32f,(int lenDCT, int lenCeps, int *pSize))
- IPPAPI(IppStatus, ippsDCTLifterGetSize_C0_32f,(int lenDCT, int lenCeps, int *pSize))
- IPPAPI(IppStatus, ippsDCTLifterGetSize_Mul_32f,(int lenDCT, int lenCeps, int *pSize))
- IPPAPI(IppStatus, ippsDCTLifterGetSize_MulC0_32f,(int lenDCT, int lenCeps, int *pSize))
- IPPAPI(IppStatus, ippsDCTLifterGetSize_16s,(int lenDCT, int lenCeps, int *pSize))
- IPPAPI(IppStatus, ippsDCTLifterGetSize_C0_16s,(int lenDCT, int lenCeps, int *pSize))
- IPPAPI(IppStatus, ippsDCTLifterGetSize_Mul_16s,(int lenDCT, int lenCeps, int *pSize))
- IPPAPI(IppStatus, ippsDCTLifterGetSize_MulC0_16s,(int lenDCT, int lenCeps, int* pSize))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsDCTLifterInit_*
- // Purpose: Initializes the structure to perform DCT
- // and lift the DCT coefficients.
- // Parameters:
- // pDCTLifter Pointer to the created structure for DCT calculation and
- // liftering.
- // lenDCT Length of DCT will be used for MFCC calculation
- // lenCeps Number (without c0) of cepstral coefficients to be calculated.
- // nLifter Liftering factor
- // pLifter Pointer to liftering coefficients vector
- // val Value to multiply output MFCC except c0 coefficient
- // val0 Value to multiply output c0 coefficient
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pLifter pointer is null.
- // ippStsSizeErr Indicates an error when lenDCT, lenCeps or nLifter is
- // less than or equal to 0 or lenDCT is less than lenCeps.
- // ippStsMemAllocErr Indicates an error when no memory allocated.
- //
- */
- IPPAPI(IppStatus, ippsDCTLifterInit_32f,(IppsDCTLifterState_32f* pDCTLifter,
- int lenDCT, int lenCeps, int nLifter, Ipp32f val))
- IPPAPI(IppStatus, ippsDCTLifterInit_C0_32f,(IppsDCTLifterState_32f* pDCTLifter,
- int lenDCT, int lenCeps, int nLifter, Ipp32f val, Ipp32f val0))
- IPPAPI(IppStatus, ippsDCTLifterInit_Mul_32f,(IppsDCTLifterState_32f* pDCTLifter,
- int lenDCT, const Ipp32f* pLifter, int lenCeps))
- IPPAPI(IppStatus, ippsDCTLifterInit_MulC0_32f,(IppsDCTLifterState_32f* pDCTLifter,
- int lenDCT, const Ipp32f* pLifter, int lenCeps))
- IPPAPI(IppStatus, ippsDCTLifterInit_16s,(IppsDCTLifterState_16s* pDCTLifter,
- int lenDCT, int lenCeps, int nLifter, Ipp32f val))
- IPPAPI(IppStatus, ippsDCTLifterInit_C0_16s,(IppsDCTLifterState_16s* pDCTLifter,
- int lenDCT, int lenCeps, int nLifter, Ipp32f val, Ipp32f val0))
- IPPAPI(IppStatus, ippsDCTLifterInit_Mul_16s,(IppsDCTLifterState_16s* pDCTLifter,
- int lenDCT, const Ipp32f* pLifter, int lenCeps))
- IPPAPI(IppStatus, ippsDCTLifterInit_MulC0_16s,(IppsDCTLifterState_16s* pDCTLifter,
- int lenDCT, const Ipp32s* pLifter, int lenCeps))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsDCTLifterInitAlloc_MulC0_*
- // Purpose: Initializes the structure to perform DCT
- // and lift the DCT coefficients.
- // Parameters:
- // pDCTLifter Pointer to the created structure for DCT calculation and
- // liftering.
- // lenDCT Length of DCT will be used for MFCC calculation
- // lenCeps Number (without c0) of cepstral coefficients to be calculated.
- // nLifter Liftering factor
- // pLifter Pointer to liftering coefficients vector
- // val Value to multiply output MFCC except c0 coefficient
- // val0 Value to multiply output c0 coefficient
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pLifter pointer is null.
- // ippStsSizeErr Indicates an error when lenDCT, lenCeps or nLifter is
- // less than or equal to 0 or lenDCT is less than lenCeps.
- // ippStsMemAllocErr Indicates an error when no memory allocated.
- //
- */
- IPPAPI(IppStatus, ippsDCTLifterInitAlloc_32f,(IppsDCTLifterState_32f** pDCTLifter,
- int lenDCT, int lenCeps, int nLifter, Ipp32f val))
- IPPAPI(IppStatus, ippsDCTLifterInitAlloc_C0_32f,(IppsDCTLifterState_32f** pDCTLifter,
- int lenDCT, int lenCeps, int nLifter, Ipp32f val, Ipp32f val0))
- IPPAPI(IppStatus, ippsDCTLifterInitAlloc_Mul_32f,(IppsDCTLifterState_32f** pDCTLifter,
- int lenDCT, const Ipp32f* pLifter, int lenCeps))
- IPPAPI(IppStatus, ippsDCTLifterInitAlloc_MulC0_32f,(IppsDCTLifterState_32f** pDCTLifter,
- int lenDCT, const Ipp32f* pLifter, int lenCeps))
- IPPAPI(IppStatus, ippsDCTLifterInitAlloc_16s,(IppsDCTLifterState_16s** pDCTLifter,
- int lenDCT, int lenCeps, int nLifter, Ipp32f val))
- IPPAPI(IppStatus, ippsDCTLifterInitAlloc_C0_16s,(IppsDCTLifterState_16s** pDCTLifter,
- int lenDCT, int lenCeps, int nLifter, Ipp32f val, Ipp32f val0))
- IPPAPI(IppStatus, ippsDCTLifterInitAlloc_Mul_16s,(IppsDCTLifterState_16s** pDCTLifter,
- int lenDCT, const Ipp32f* pLifter, int lenCeps))
- IPPAPI(IppStatus, ippsDCTLifterInitAlloc_MulC0_16s,(IppsDCTLifterState_16s** pDCTLifter,
- int lenDCT, const Ipp32f* pLifter, int lenCeps))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsDCTLifterFree_*
- // Purpose: Destroys the structure for DCT and liftering
- // Parameters:
- // pDCTLifter Pointer to the filter bank structure
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pDCTLifter pointer is null.
- //
- */
- IPPAPI(IppStatus, ippsDCTLifterFree_32f,(IppsDCTLifterState_32f* pDCTLifter))
- IPPAPI(IppStatus, ippsDCTLifterFree_16s,(IppsDCTLifterState_16s* pDCTLifter))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsDCTLifter_*
- // Purpose: Performs DCT and lifts the DCT coefficients.
- // Parameters:
- // pSrc Pointer to the filter output vector [lenDCT]
- // pDst Pointer to the MFCC feature vector.
- // pDCTLifter Pointer to the filter bank structure
- // scaleFactor
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicate an error when the pSrc, pDst, pFBank pointer is null.
- //
- */
- IPPAPI(IppStatus, ippsDCTLifter_32f,(const Ipp32f* pSrc, Ipp32f* pDst,
- const IppsDCTLifterState_32f* pDCTLifter))
- IPPAPI(IppStatus, ippsDCTLifter_16s_Sfs,(const Ipp16s* pSrc, Ipp16s* pDst,
- const IppsDCTLifterState_16s* pDCTLifter, int scaleFactor))
- IPPAPI(IppStatus, ippsDCTLifter_32s16s_Sfs, (const Ipp32s* pSrc, Ipp16s* pDst,
- const IppsDCTLifterState_16s* pDCTLifter, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsNormEnergy_*
- // Purpose: Normalizes a vector of energy values.
- // Parameters:
- // pSrcDst Pointer to the input/output vector [height*step].
- // step Sample step in the vector pSrcDst.
- // height Number of samples for normalization
- // silFloor Silence floor in log10 value
- // val Coefficient value.
- // maxE Maximum energy value
- // enScale Energy scale
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrcDst pointer is null.
- // ippStsSizeErr Indicates an error when step or height is less than
- // or equal to 0
- //
- */
- IPPAPI(IppStatus, ippsNormEnergy_32f,(Ipp32f* pSrcDst, int step, int height,
- Ipp32f silFloor, Ipp32f enScale))
- IPPAPI(IppStatus, ippsNormEnergy_16s,(Ipp16s* pSrcDst, int step, int height,
- Ipp16s silFloor, Ipp16s val, Ipp32f enScale))
- IPPAPI(IppStatus, ippsNormEnergy_RT_32f,(Ipp32f* pSrcDst, int step, int height,
- Ipp32f silFloor, Ipp32f maxE, Ipp32f enScale))
- IPPAPI(IppStatus, ippsNormEnergy_RT_16s,(Ipp16s* pSrcDst, int step, int height,
- Ipp16s silFloor, Ipp16s maxE, Ipp16s val, Ipp32f enScale))
- /*/////////////////////////////////////////////////////////////////////////////
- // Name: ippsSumMeanVar_*
- // Purpose: The function sums the vector elements and their
- // squares according.
- //
- // Parameters:
- // pSrc Pointer to the source vector [height* srcStep].
- // pDstMean Pointer to the result vector that contains sums [width].
- // pdstVar Pointer to the result vector that contains square sums [width].
- // width Number of columns in the pSrc.
- // srcStep Row step in pSrc.
- // height Number of rows in pSrc.
- // scaleFactor
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, pDstMean, pDstVar,
- // pSrcDstMean or pSrcDstVar pointer is null.
- // ippStsSizeErr Indicates an error when srcStep, width or height is less
- // than or equal to 0 or width is greater than srcStep;
- //
- */
- IPPAPI(IppStatus,ippsSumMeanVar_32f,(const Ipp32f* pSrc, int srcStep, int height,
- Ipp32f* pDstMean, Ipp32f* pDstVar, int width))
- IPPAPI(IppStatus,ippsSumMeanVar_16s32f,(const Ipp16s* pSrc, int srcStep,
- int height, Ipp32f* pDstMean, Ipp32f* pDstVar, int width))
- IPPAPI(IppStatus,ippsSumMeanVar_16s32s_Sfs,(const Ipp16s* pSrc, int srcStep,
- int height, Ipp32s* pDstMean, Ipp32s* pDstVar, int width, int scaleFactor))
- IPPAPI(IppStatus,ippsSumMeanVar_32f_I,(const Ipp32f* pSrc, int srcStep,
- int height, Ipp32f* pSrcDstMean, Ipp32f* pSrcDstVar, int width))
- IPPAPI(IppStatus,ippsSumMeanVar_16s32f_I,(const Ipp16s* pSrc, int srcStep,
- int height, Ipp32f* pSrcDstMean, Ipp32f* pSrcDstVar, int width))
- IPPAPI(IppStatus,ippsSumMeanVar_16s32s_ISfs,(const Ipp16s* pSrc, int srcStep,
- int height, Ipp32s* pSrcDstMean, Ipp32s* pSrcDstVar, int width,
- int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsNewVar_*
- // Purpose: The function computes the variance vector.
- //
- // Parameters:
- // pSrcMean Pointer to the source vector of element sums [width].
- // pSrcVar Pointer to the source vector of element sum squares [width].
- // pSrcDstVar Pointer to the source and result vector of element sum squares [width].
- // width Number of columns in the pSrc.
- // val1, val2 Multiplicative constants.
- // scaleFactor
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrcMean, pSrcVar, pDstVar or
- // pSrcDstVar pointer is null.
- // ippStsSizeErr Indicates an error when width is less than or equal to 0;
- //
- */
- IPPAPI(IppStatus, ippsNewVar_32s_Sfs,(const Ipp32s* pSrcMean,
- const Ipp32s* pSrcVar, Ipp32s* pDstVar, int width, Ipp32f val1,
- Ipp32f val2, int scaleFactor))
- IPPAPI(IppStatus, ippsNewVar_32s_ISfs,(const Ipp32s* pSrcMean,
- Ipp32s* pSrcDstVar, int width, Ipp32f val1, Ipp32f val2, int scaleFactor))
- IPPAPI(IppStatus, ippsNewVar_32f,(const Ipp32f* pSrcMean, const Ipp32f* pSrcVar,
- Ipp32f* pDstVar, int width, Ipp32f val1, Ipp32f val2))
- IPPAPI(IppStatus, ippsNewVar_32f_I,(const Ipp32f* pSrcMean, Ipp32f* pSrcDstVar,
- int width, Ipp32f val1, Ipp32f val2))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsRecSqrt_*
- // Purpose: Computes square root reciprocals of vector
- // elements in-place.
- // Parameters:
- // pSrcDst Pointer to the source and destination vector pSrcDst.
- // len The number of elements in the vector.
- // val The threshold factor.
- // scaleFactor
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrcDst pointer is null.
- // ippStsInvByZero Indicates an error when pSrcDst[i]is less than val.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0.
- // ippStsBadArgErr Indicates an error when val is less than or equal to 0
- //
- */
- IPPAPI(IppStatus,ippsRecSqrt_32s_Sfs,(Ipp32s* pSrcDst, int len,Ipp32s val,
- int scaleFactor))
- IPPAPI(IppStatus,ippsRecSqrt_32s16s_Sfs,(const Ipp32s* pSrc, Ipp16s* pDst, int len,Ipp32s val,
- int scaleFactor))
- IPPAPI(IppStatus, ippsRecSqrt_32f, (Ipp32f* pSrcDst, int len, Ipp32f val))
- /*//////////////////////////////////////////////////////////////////////
- // Name: ippsAccCovarianceMatrix_*
- // Purpose: Accumulate covariance matrix.
- // Parameters:
- // pSrc Pointer to the input vector [height*srcStep].
- // mSrc Pointer to the input matrix [height][width].
- // srcStep Row step in pSrc.
- // pMean Pointer to the mean vector [width].
- // width Length of the input matrix row, mean, and variance vectors.
- // pSrcDst Pointer to the source and result matrix [width*dstStep].
- // mSrcDst Pointer to the source and result matrix [width][width].
- // dstStep Row step in pDst.
- // height Number of rows in the input matrix.
- // val Value to multiply to each distance.
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, mSrc, pMean, pSrcDst,
- // or mSrcDst pointer is null.
- // ippStsSizeErr Indicates an error when width or height is less than
- // or equal to 0.
- // ippStsStrideErr Indicates an error when srcStep or dstStep is less
- // than width.
- */
- IPPAPI(IppStatus, ippsAccCovarianceMatrix_16s64f_D2L,(const Ipp16s** mSrc,
- int height, const Ipp16s* pMean, Ipp64f** mSrcDst, int width, Ipp64f val))
- IPPAPI(IppStatus, ippsAccCovarianceMatrix_32f64f_D2L, (const Ipp32f** mSrc,
- int height, const Ipp32f* pMean, Ipp64f** mSrcDst, int width, Ipp64f val))
- IPPAPI(IppStatus, ippsAccCovarianceMatrix_16s64f_D2, (const Ipp16s* pSrc,
- int srcStep, int height, const Ipp16s* pMean, Ipp64f* pSrcDst, int width,
- int dstStep, Ipp64f val))
- IPPAPI(IppStatus, ippsAccCovarianceMatrix_32f64f_D2, (const Ipp32f* pSrc,
- int srcStep, int height, const Ipp32f* pMean, Ipp64f* pSrcDst, int width,
- int dstStep, Ipp64f val))
- /* /////////////////////////////////////////////////////////////////////////////
- // Derivatives
- /////////////////////////////////////////////////////////////////////////////
- */
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsCopyColumn_*_D2
- // Purpose: Copies the input sequence into the output sequence.
- // Parameters:
- // pSrc Pointer to the input feature sequence [height*srcWidth].
- // srcWidth Length of each input feature vector.
- // pDst Pointer to the output feature sequence [height*dstWidth].
- // dstWidth Length of each output feature vector.
- // height Number of features in the sequence.
- //
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pDst pointer is null.
- // ippStsSizeErr Indicates an error when height or srcWidth is less than or
- // equal to 0.
- // ippStsStrideErr Indicates an error when dstWidth is less than srcWidth.
- */
- IPPAPI(IppStatus, ippsCopyColumn_16s_D2, (const Ipp16s* pSrc, int srcWidth,
- Ipp16s* pDst, int dstWidth, int height))
- IPPAPI(IppStatus, ippsCopyColumn_32f_D2, (const Ipp32f* pSrc, int srcWidth,
- Ipp32f* pDst, int dstWidth, int height))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsEvalDelta_D2
- // Purpose: Computes the derivatives of vector elements.
- //
- // Parameters:
- // pSrcDst Pointer to the input and output vector [height*step].
- // height The number of rows in pSrcDst.
- // step Length of each feature in pSrcDst
- // width The number of derivatives to be calculated for each feature.
- // offset Offset to place the derivative values.
- // winSize The delta window size
- // val The delta coefficient.
- // pVal Pointer to the delta coefficients vector [width].
- // scaleFactor
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrcDst pointer is null.
- // ippStsSizeErr Indicates an error when height, width, or winSize
- // is less than or equal to 0 or offset is less than 0
- // or width is less than or equal to offset or height is
- // less than 2*winSize.
- // ippStsStrideErr Indicates an error when step is less than offset+2*width.
- */
- IPPAPI(IppStatus, ippsEvalDelta_16s_D2Sfs, (Ipp16s*pSrcDst, int height, int step,
- int width, int offset, int winSize, Ipp16s val, int scaleFactor))
- IPPAPI(IppStatus, ippsEvalDelta_32f_D2, (Ipp32f *pSrcDst, int height, int step,
- int width, int offset, int winSize, Ipp32f val))
- IPPAPI(IppStatus, ippsEvalDeltaMul_16s_D2Sfs, (Ipp16s* pSrcDst, int height,
- int step, const Ipp16s* pVal, int width, int offset, int winSize,
- int scaleFactor))
- IPPAPI(IppStatus, ippsEvalDeltaMul_32f_D2, (Ipp32f* pSrcDst, int height,
- int step, const Ipp32f* pVal, int width, int offset, int winSize))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsDelta*_D2
- // Purpose: Copies the base features and calculates the
- // derivatives of feature vectors.
- // Parameters:
- // pSrc Pointer to the source vector [height*srcWidth].
- // srcWidth The number of columns in the pSrc.
- // pDst Pointer to the result vector [height*dstStep].
- // dstStep The row step in pDst.
- // val The delta coefficient.
- // height Number of feature vectors.
- // deltaMode Execution mode.
- // pVal Pointer to the delta coefficients vector [width].
- // scaleFactor
- //
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, pDst or pVal pointer is null.
- // ippStsSizeErr Indicates an error when srcWidth is less than or equal to 0;
- // or height is less than 0;
- // or height is less than 2*winSize when deltaMode is equal to IPP_DELTA_BEGIN;
- // or height is equal to 0 when deltaMode is not equal to IPP_DELTA_END.
- // ippStsStrideErr Indicates an error when dstStep is less than 2*srcWidth.
- */
- IPPAPI(IppStatus, ippsDelta_Win1_16s_D2Sfs, (const Ipp16s* pSrc, int srcWidth,
- Ipp16s* pDst, int dstStep, int height, Ipp16s val, int deltaMode,
- int scaleFactor))
- IPPAPI(IppStatus, ippsDelta_Win2_16s_D2Sfs, (const Ipp16s* pSrc, int srcWidth,
- Ipp16s* pDst, int dstStep, int height, Ipp16s val, int deltaMode,
- int scaleFactor))
- IPPAPI(IppStatus, ippsDelta_Win1_32f_D2, (const Ipp32f* pSrc, int srcWidth,
- Ipp32f* pDst, int dstStep, int height, Ipp32f val, int deltaMode))
- IPPAPI(IppStatus, ippsDelta_Win2_32f_D2, (const Ipp32f* pSrc, int srcWidth,
- Ipp32f* pDst, int dstStep, int height, Ipp32f val, int deltaMode))
- IPPAPI(IppStatus, ippsDeltaMul_Win1_16s_D2Sfs, (const Ipp16s* pSrc,
- const Ipp16s* pVal, int srcWidth, Ipp16s* pDst, int dstStep,
- int height, int deltaMode, int scaleFactor))
- IPPAPI(IppStatus, ippsDeltaMul_Win2_16s_D2Sfs, (const Ipp16s* pSrc,
- const Ipp16s* pSrc1, int srcWidth, Ipp16s* pDst, int dstStep,
- int height, int deltaMode, int scaleFactor))
- IPPAPI(IppStatus, ippsDeltaMul_Win1_32f_D2, (const Ipp32f* pSrc,
- const Ipp32f* pVal, int srcWidth, Ipp32f* pDst, int dstStep,
- int height, int deltamode))
- IPPAPI(IppStatus, ippsDeltaMul_Win2_32f_D2, (const Ipp32f* pSrc,
- const Ipp32f* pVal, int srcWidth, Ipp32f* pDst, int dstStep,
- int height, int deltamode))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsDeltaDelta*_D2
- // Purpose: Copies the base features and calculates their first
- // and second derivatives.
- // Parameters:
- // pSrc Pointer to the source vector [height*srcWidth].
- // srcWidth Length of the input feature in the input sequence pSrc.
- // pDst Pointer to the result vector [height*dstStep].
- // dstStep The row step in pDst.
- // height The number of rows in pSrc and pDst.
- // val1, val2 The first and second delta coefficients.
- // deltaMode Execution mode.
- // pVal Pointer to the delta coefficients vector [width].
- // scaleFactor
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pDst pointer is null.
- // ippStsSizeErr Indicates an error when srcWidth is less than or equal to 0;
- // or height is less than 0;
- // or height is less than 3*winSize when deltaMode is equal to IPP_DELTA_BEGIN;
- // or height is equal to 0 when deltaMode is not equal to IPP_DELTA_END.
- // ippStsStrideErr Indicates an error when dstStep is less than 3*srcWidth.
- */
- IPPAPI(IppStatus, ippsDeltaDelta_Win1_16s_D2Sfs, (const Ipp16s* pSrc, int srcWidth,
- Ipp16s* pDst, int dstStep, int height, Ipp16s val1,
- Ipp16s val2, int deltaMode, int scaleFactor))
- IPPAPI(IppStatus, ippsDeltaDelta_Win2_16s_D2Sfs, (const Ipp16s* pSrc, int srcWidth,
- Ipp16s* pDst, int dstStep, int height, Ipp16s val1,
- Ipp16s val2, int deltaMode, int scaleFactor))
- IPPAPI(IppStatus, ippsDeltaDeltaMul_Win1_16s_D2Sfs, (const Ipp16s* pSrc,
- const Ipp16s* pVal, int srcWidth, Ipp16s* pDst, int dstStep, int height,
- int deltamode, int scaleFactor))
- IPPAPI(IppStatus, ippsDeltaDeltaMul_Win2_16s_D2Sfs, (const Ipp16s* pSrc,
- const Ipp16s* pVal, int srcWidth, Ipp16s* pDst, int dstStep, int height,
- int deltamode, int scaleFactor))
- IPPAPI(IppStatus, ippsDeltaDeltaMul_Win1_32f_D2, (const Ipp32f* pSrc,
- const Ipp32f* pSrc1, int srcWidth, Ipp32f* pDst, int dstStep, int height,
- int deltamode))
- IPPAPI(IppStatus, ippsDeltaDeltaMul_Win2_32f_D2, (const Ipp32f* pSrc,
- const Ipp32f* pSrc1, int srcWidth, Ipp32f* pDst, int dstStep, int height,
- int deltamode))
- IPPAPI(IppStatus, ippsDeltaDelta_Win1_32f_D2, (const Ipp32f* pSrc, int srcWidth,
- Ipp32f* pDst, int dstStep, int height, Ipp32f val1,
- Ipp32f val2, int deltaMode))
- IPPAPI(IppStatus, ippsDeltaDelta_Win2_32f_D2, (const Ipp32f* pSrc, int srcWidth,
- Ipp32f* pDst, int dstStep, int height, Ipp32f val1,
- Ipp32f val2, int deltaMode))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsDeltaDelta_Aurora_*
- // Purpose: The function ippsDeltaDelta_Aurora calculate full feature vectors
- // according to ETSI ES 202 050 standard.
- // Context:
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when pSrc, pDst, or pVal pointer is NULL.
- // ippStsSizeErr Indicates an error when height is less than 0;
- // or height is less than 8 when deltaMode is equal to IPP_DELTA_BEGIN;
- // or height is equal to 0 when deltaMode is not equal to IPP_DELTA_END.
- // ippStsStrideErr Indicates an error when dstStep is less than 39.
- // Parameters:
- // pSrc Pointer to the input feature sequence [height*14].
- // pDst Pointer to the output feature sequence [height*dstStep].
- // dstStep Length of the output feature in the output sequence pDst.
- // height Number of feature vectors.
- // deltaMode Execution mode.
- // pVal Pointer to the delta coefficients vector [39].
- // scaleFactor Refer to "Integer Scaling" in Chapter 2.
- // Notes:
- */
- IPPAPI(IppStatus,ippsDeltaDelta_Aurora_16s_D2Sfs,(const Ipp16s* pSrc, Ipp16s* pDst,
- int dstStep, int height, int deltaMode, int scaleFactor))
- IPPAPI(IppStatus,ippsDeltaDelta_Aurora_32f_D2,(const Ipp32f* pSrc, Ipp32f* pDst,
- int dstStep, int height, int deltaMode))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsDeltaDeltaMul_Aurora_*
- // Purpose: The function ippsDeltaDelta_Aurora calculate full feature vectors
- // according to ETSI ES 202 050 standard.
- // Context:
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when pSrc, pDst, or pVal pointer is NULL.
- // ippStsSizeErr Indicates an error when height is less than 0;
- // or height is less than 8 when deltaMode is equal to IPP_DELTA_BEGIN;
- // or height is equal to 0 when deltaMode is not equal to IPP_DELTA_END.
- // ippStsStrideErr Indicates an error when dstStep is less than 39.
- // Parameters:
- // pSrc Pointer to the input feature sequence [height*14].
- // pDst Pointer to the output feature sequence [height*dstStep].
- // dstStep Length of the output feature in the output sequence pDst.
- // height Number of feature vectors.
- // deltaMode Execution mode.
- // pVal Pointer to the delta coefficients vector [39].
- // scaleFactor Refer to "Integer Scaling" in Chapter 2.
- // Notes:
- */
- IPPAPI(IppStatus,ippsDeltaDeltaMul_Aurora_32f_D2,(const Ipp32f* pSrc, const Ipp32f* pVal,
- Ipp32f* pDst, int dstStep, int height, int deltaMode))
- IPPAPI(IppStatus,ippsDeltaDeltaMul_Aurora_16s_D2Sfs,(const Ipp16s* pSrc, const Ipp16s* pVal,
- Ipp16s* pDst, int dstStep, int height, int deltaMode, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Model Evaluation
- ///////////////////////////////////////////////////////////////////////////// */
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsAddNRows_32f
- // Purpose: Adds N vectors from the table
- // Parameters:
- // pSrc Pointer to the input vector [height*step].
- // height The number of rows in the pSrc.
- // offset
- // step The row step in pSrc.
- // pInd Pointer to the indexes vector [rows].
- // pAddInd Pointer to the indexes addition vector [rows].
- // rows The number of rows to add.
- // pDst Pointer to the output vector [width].
- // width The number of elements in the output vector pDst.
- // weight The value to add to output vector elements.
- //
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, pInd, pAddIndex, or
- // pDst pointer is null.
- // ippStsSizeErr Indicates an error when height, width, rows, or
- // (pInd[i]+pAddIndex[i]) is less than 0;
- // or (pInd[i]+pAddIndex[i]) >= height;
- // or offset>segCount.
- // ippStsStrideErr Indicates an error when width > step.
- //
- */
- IPPAPI(IppStatus, ippsAddNRows_32f_D2, (Ipp32f* pSrc, int height, int offset,
- int step, Ipp32s* pInd, Ipp16u* pAddInd, int rows, Ipp32f* pDst, int width,
- Ipp32f weight))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsScaleLM_*
- // Purpose: Scales vector elements with thresholding.
- //
- // Parameters:
- // pSrc Pointer to the input vector [len].
- // pDst Pointer to the output vector [len].
- // len The number of elements in the pSrc and pDst vectors.
- // floor A value used to limit each element of pSrc.
- // scale The multiplier factor value.
- // base The additive value.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pDst pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0.
- //
- */
- IPPAPI(IppStatus, ippsScaleLM_32f, (const Ipp32f *pSrc, Ipp32f *pDst,
- int len, Ipp32f floor, Ipp32f scale, Ipp32f base))
- IPPAPI(IppStatus, ippsScaleLM_16s32s, (const Ipp16s* pSrc, Ipp32s* pDst,
- int len, Ipp16s floor, Ipp16s scale, Ipp32s base))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLogAdd_*
- // Purpose: Logarithmically adds two vectors in-place.
- // Parameters:
- // pSrc The first input vector [len].
- // pDst The second input and output vector [len].
- // len The number of elements in the input and output vectors.
- // hint Recommends to use a specific code for the
- // Logarithmically adds.
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pDst pointer is null.
- // ippStsSizeErr Indicates an error when lenis less than or equal to 0.
- //
- */
- IPPAPI(IppStatus,ippsLogAdd_64f,(const Ipp64f* pSrc, Ipp64f* pSrcDst, int len,
- IppHintAlgorithm hint))
- IPPAPI(IppStatus,ippsLogAdd_32f,(const Ipp32f* pSrc, Ipp32f* pSrcDst, int len,
- IppHintAlgorithm hint))
- IPPAPI(IppStatus,ippsLogAdd_32s_Sfs,(const Ipp32s* pSrc, Ipp32s* pSrcDst, int len,
- int scaleFactor, IppHintAlgorithm hint))
- IPPAPI(IppStatus,ippsLogAdd_16s_Sfs,(const Ipp16s* pSrc, Ipp16s* pSrcDst, int len,
- int scaleFactor, IppHintAlgorithm hint))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLogSub_*
- // Purpose: Logarithmically subtracts two vectors in place .
- // Parameters:
- // pSrc Pointer to the input vector [len].
- // pDst Pointer to the input and output vectors [len].
- // len The number of elements in the input and output vectors.
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pDst pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0.
- // ippStsNoOperation Indicates an error when pDst[i] > pSrc[i]is more than 0.
- */
- IPPAPI(IppStatus,ippsLogSub_32f,(const Ipp32f* pSrc, Ipp32f* pSrcDst, int len))
- IPPAPI(IppStatus,ippsLogSub_64f,(const Ipp64f* pSrc, Ipp64f* pSrcDst, int len))
- IPPAPI(IppStatus,ippsLogSub_32s_Sfs,(const Ipp32s* pSrc, Ipp32s* pSrcDst, int len,
- int scaleFactor))
- IPPAPI(IppStatus,ippsLogSub_16s_Sfs,(const Ipp16s* pSrc, Ipp16s* pSrcDst, int len,
- int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsMahDistSingle_*
- // Purpose: Calculates the Mahalanobis distance
- // for a single observation vector.
- // Parameters:
- // pSrc Pointer to the input vector [len].
- // pMean Pointer to the mean vector [len].
- // pVar Pointer to the variance vector [len].
- // len The number of elements in the input, mean,
- // and variance vectors.
- // pResult Pointer to the result value.
- // scaleFactor
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, pMean, pVar, or
- // pResult pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0
- */
- IPPAPI(IppStatus, ippsMahDistSingle_32f, (const Ipp32f* pSrc,
- const Ipp32f* pMean, const Ipp32f* pVar, int len,
- Ipp32f* pResult))
- IPPAPI(IppStatus, ippsMahDistSingle_64f, (const Ipp64f* pSrc,
- const Ipp64f* pMean, const Ipp64f* pVar, int len,
- Ipp64f* pResult))
- IPPAPI(IppStatus, ippsMahDistSingle_32f64f,(const Ipp32f* pSrc,
- const Ipp32f* pMean, const Ipp32f* pVar, int len, Ipp64f* pResult))
- IPPAPI(IppStatus, ippsMahDistSingle_16s32f,(const Ipp16s* pSrc,
- const Ipp16s* pMean, const Ipp16s* pVar, int len, Ipp32f* pResult))
- IPPAPI(IppStatus, ippsMahDistSingle_16s32s_Sfs,(const Ipp16s* pSrc,
- const Ipp16s* pMean, const Ipp16s* pVar, int len, Ipp32s* pResult,
- int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsMahDist_*_*
- // Purpose: Calculates the Mahalanobis distances
- // for multiple observation vectors.
- // Parameters:
- // pSrc Pointer to the input vector [height*step].
- // mSrc Pointer to the input matrix [height][width].
- // step The row step in pSrc.
- // pMean Pointer to the mean vector [width].
- // pVar Pointer to the variance vector [width].
- // width The length of the input matrix row, mean,
- // and variance vectors.
- // pDst Pointer to the result value [height].
- // height The number of rows in the input matrix and the length of
- // the result vector pDst.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, pMean, pVar,
- // pDst,o rmSrc pointer is null.
- // ippStsSizeErr Indicates an error when width or heightis less than or
- // equal to 0.
- // ippStsStrideErr Indicates an error when width > step.
- //
- */
- IPPAPI(IppStatus, ippsMahDist_32f_D2, (const Ipp32f* pSrc, int step,
- const Ipp32f* pMean, const Ipp32f* pVar, int width, Ipp32f* pDst,
- int height))
- IPPAPI(IppStatus, ippsMahDist_64f_D2, (const Ipp64f* pSrc, int step,
- const Ipp64f* pMean, const Ipp64f* pVar, int width, Ipp64f* pDst,
- int height))
- IPPAPI(IppStatus, ippsMahDist_32f_D2L, (const Ipp32f** mSrc,
- const Ipp32f* pMean, const Ipp32f* pVar, int width, Ipp32f* pDst,
- int height))
- IPPAPI(IppStatus, ippsMahDist_64f_D2L, (const Ipp64f** mSrc,
- const Ipp64f* pMean, const Ipp64f* pVar, int width, Ipp64f* pDst,
- int height))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsMahDistMultiMix_*_*
- // Purpose: Calculates the Mahalanobis distances
- // for multiple means and variances
- // Parameters:
- // pMean Pointer to the mean vector [height*step].
- // pVar Pointer to the variance vector [height*step].
- // mMean Pointer to the mean matrix [height][width].
- // mVar Pointer to the variance matrix [height][width].
- // step Row step in pSrc.
- // pSrc Pointer to the input vector [width].
- // width Length of the input matrix row and pSrc vector.
- // pDst Pointer to the result vector [height].
- // height Number of rows in input matrices and length of result
- // vector pDst.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, pMean, pVar,
- // mMean, mVar, or pDst pointer is null.
- // ippStsSizeErr Indicates an error when height or width is less than or
- // equal to 0.
- // ippStsStrideErr Indicates an error when width > step.
- //
- */
- IPPAPI(IppStatus, ippsMahDistMultiMix_32f_D2, (const Ipp32f* pMean,
- const Ipp32f* pVar, int step, const Ipp32f* pSrc, int width,
- Ipp32f* pDst, int height))
- IPPAPI(IppStatus, ippsMahDistMultiMix_64f_D2, (const Ipp64f* pMean,
- const Ipp64f* pVar, int step, const Ipp64f* pSrc, int width,
- Ipp64f* pDst, int height))
- IPPAPI(IppStatus, ippsMahDistMultiMix_32f_D2L, (const Ipp32f** mMean,
- const Ipp32f** mVar, const Ipp32f* pSrc, int width, Ipp32f* pDst,
- int height))
- IPPAPI(IppStatus, ippsMahDistMultiMix_64f_D2L, (const Ipp64f** mMean,
- const Ipp64f** mVar, const Ipp64f* pSrc, int width, Ipp64f* pDst,
- int height))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLogGaussSingle_*
- // Purpose: Calculates the observation probability for a
- // single Gaussian with an observation vector.
- //
- // Parameters:
- // pSrc Pointer to the input vector [len].
- // pMean Pointer to the mean vector [len].
- // pVar Pointer to the variance vector [len].
- // pBlockVar Pointer to the block diagonal variance matrix.
- // len Number of elements in the input, mean, and variance
- // vectors.
- // pResult Pointer to the result value.
- // val Gaussian constant.
- // scaleFactor
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, pMean, pVar, or
- // pResult or pBlockVar pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0.
- //
- */
- /*
- //Case 1: Operation for the inverse diagonal covariance matrix
- */
- IPPAPI(IppStatus, ippsLogGaussSingle_32f, (const Ipp32f* pSrc,
- const Ipp32f* pMean, const Ipp32f* pVar, int len,
- Ipp32f* pResult, Ipp32f val))
- IPPAPI(IppStatus, ippsLogGaussSingle_64f, (const Ipp64f* pSrc,
- const Ipp64f* pMean, const Ipp64f* pVar, int len,
- Ipp64f* pResult, Ipp64f val))
- IPPAPI(IppStatus, ippsLogGaussSingle_32f64f, (const Ipp32f* pSrc,
- const Ipp32f* pMean, const Ipp32f* pVar, int len,
- Ipp64f* pResult, Ipp64f val))
- IPPAPI(IppStatus, ippsLogGaussSingle_Scaled_16s32f, (const Ipp16s* pSrc,
- const Ipp16s* pMean, const Ipp16s* pVar, int width, Ipp32f* dst,
- Ipp32f val, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussSingle_16s32s_Sfs, (const Ipp16s* pSrc,
- const Ipp16s* pMean, const Ipp16s* pVar, int width, Ipp32s* dst,
- Ipp32s val, int scaleFactor))
- /*
- //Case 2: Operation for the diagonal covariance matrix
- */
- IPPAPI(IppStatus, ippsLogGaussSingle_DirectVar_32f,(const Ipp32f* pSrc,
- const Ipp32f* pMean, const Ipp32f* pVar, int len, Ipp32f* pResult,
- Ipp32f val))
- IPPAPI(IppStatus, ippsLogGaussSingle_DirectVar_64f,(const Ipp64f* pSrc,
- const Ipp64f* pMean, const Ipp64f* pVar, int len, Ipp64f* pResult,
- Ipp64f val))
- IPPAPI(IppStatus, ippsLogGaussSingle_DirectVar_32f64f,(const Ipp32f* pSrc,
- const Ipp32f* pMean, const Ipp32f* pVar, int len, Ipp64f* pResult,
- Ipp64f val))
- IPPAPI(IppStatus, ippsLogGaussSingle_DirectVarScaled_16s32f,(const Ipp16s* pSrc,
- const Ipp16s* pMean, const Ipp16s* pVar, int len, Ipp32f* pResult,
- Ipp32f val, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussSingle_DirectVar_16s32s_Sfs,(const Ipp16s* pSrc,
- const Ipp16s* pMean, const Ipp16s* pVar, int len, Ipp32s* pResult,
- Ipp32s val, int scaleFactor))
- /*
- //Case 3: Operation for the identity covariance matrix
- */
- IPPAPI(IppStatus, ippsLogGaussSingle_IdVar_32f,(const Ipp32f* pSrc,
- const Ipp32f* pMean, int len, Ipp32f* pResult, Ipp32f val))
- IPPAPI(IppStatus, ippsLogGaussSingle_IdVar_64f,(const Ipp64f* pSrc,
- const Ipp64f* pMean, int len, Ipp64f* pResult, Ipp64f val))
- IPPAPI(IppStatus, ippsLogGaussSingle_IdVar_32f64f,(const Ipp32f* pSrc,
- const Ipp32f* pMean, int len, Ipp64f* pResult, Ipp64f val))
- IPPAPI(IppStatus, ippsLogGaussSingle_IdVarScaled_16s32f,(const Ipp16s* pSrc,
- const Ipp16s* pMean, int len, Ipp32f* pResult, Ipp32f va,
- int scaleFactorl))
- IPPAPI(IppStatus, ippsLogGaussSingle_IdVar_16s32s_Sfs,(const Ipp16s* pSrc,
- const Ipp16s* pMean, int len, Ipp32s* pResult, Ipp32s val,
- int scaleFactor))
- /*
- //Case 4: Operation for the block diagonal covariance matrix
- */
- IPPAPI(IppStatus, ippsLogGaussSingle_BlockDVar_32f,(const Ipp32f* pSrc,
- const Ipp32f* pMean,const IppsBlockDMatrix_32f* pVar, int len,
- Ipp32f* pResult, Ipp32f val))
- IPPAPI(IppStatus, ippsLogGaussSingle_BlockDVar_64f,(const Ipp64f* pSrc,
- const Ipp64f* pMean, const IppsBlockDMatrix_64f * pVar, int len,
- Ipp64f* pResult, Ipp64f val))
- IPPAPI(IppStatus, ippsLogGaussSingle_BlockDVar_32f64f,(const Ipp32f* pSrc,
- const Ipp32f* pMean, const IppsBlockDMatrix_32f * pVar, int len,
- Ipp64f* pResult, Ipp64f val))
- IPPAPI(IppStatus, ippsLogGaussSingle_BlockDVarScaled_16s32f,(const Ipp16s* pSrc,
- const Ipp16s* pSrcMean,const IppsBlockDMatrix_16s* pSrcVar, int srcLen,Ipp32f* pResult,
- Ipp32f val,int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussSingle_BlockDVar_16s32s_Sfs,(const Ipp16s* pSrc,
- const Ipp16s* pMean, const IppsBlockDMatrix_16s * pVar, int len,
- Ipp32s* pResult, Ipp32s val, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLogGauss_*
- // Purpose: Calculates the observation probability for a single
- // Gaussian with multiple observation vectors.
- // Parameters:
- // pSrc Pointer to the input vector [height*step].
- // mSrc Pointer to the input matrix [height][width].
- // step The row step in pSrc.
- // pMean Pointer to the mean vector [width].
- // pVar Pointer to the variance vector [width].
- // width Length of the mean and variance vectors.
- // pDst Pointer to the result value [height].
- // pSrcDst Pointer to the input and output vector [height].
- // height The number of rows in the input matrix and the length of
- // the result vector pDst.
- // val Gaussian constant.
- // scaleFactor
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, pMean, pVar,
- // pDst,or mSrc pointer is null.
- // ippStsSizeErr Indicates an error when height or width is less than or
- // equal to 0.
- // ippStsStrideErr Indicates an error when width > step.
- //
- */
- /*
- //Case 1: Operation for the inverse diagonal covariance matrix
- */
- IPPAPI(IppStatus, ippsLogGauss_16s32s_D2Sfs, (const Ipp16s* pSrc, int step,
- const Ipp16s* pMean, const Ipp16s* pVar, int width, Ipp32s* pDst,
- int height, Ipp32s val, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGauss_16s32s_D2LSfs, (const Ipp16s** mSrc,
- const Ipp16s* pMean, const Ipp16s* pVar, int width, Ipp32s* pDst,
- int height, Ipp32s val, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGauss_32f_D2, (const Ipp32f* pSrc, int step,
- const Ipp32f* pMean, const Ipp32f* pVar, int width, Ipp32f* pDst,
- int height, Ipp32f val))
- IPPAPI(IppStatus, ippsLogGauss_64f_D2, (const Ipp64f* pSrc, int step,
- const Ipp64f* pMean, const Ipp64f* pVar, int width, Ipp64f* pDst,
- int height, Ipp64f val))
- IPPAPI(IppStatus, ippsLogGauss_32f_D2L, (const Ipp32f** mSrc,
- const Ipp32f* pMean, const Ipp32f* pVar, int width,
- Ipp32f* pDst, int height, Ipp32f val))
- IPPAPI(IppStatus, ippsLogGauss_64f_D2L, (const Ipp64f** mSrc,
- const Ipp64f* pMean, const Ipp64f* pVar, int width,
- Ipp64f* pDst, int height, Ipp64f val))
- IPPAPI(IppStatus, ippsLogGauss_Scaled_16s32f_D2, (const Ipp16s* pSrc, int step,
- const Ipp16s* pMean, const Ipp16s* pVar, int width, Ipp32f* pDst,
- int height, Ipp32f val, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGauss_Scaled_16s32f_D2L, (const Ipp16s** mSrc,
- const Ipp16s* pMean, const Ipp16s* pVar, int width, Ipp32f* pDst,
- int height, Ipp32f val, int scaleFactor))
- /*
- //Case 2: Operation for the identity covariance matrix
- */
- IPPAPI(IppStatus, ippsLogGauss_IdVar_16s32s_D2Sfs,(const Ipp16s* pSrc,
- int step, const Ipp16s* pMean, int width, Ipp32s* pDst, int height,
- Ipp32s val, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGauss_IdVarScaled_16s32f_D2,(const Ipp16s* pSrc,
- int step, const Ipp16s* pMean, int width, Ipp32f* pDst, int height,
- Ipp32f val, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGauss_IdVar_32f_D2,(const Ipp32f* pSrc, int step,
- const Ipp32f* pMean, int width, Ipp32f* pDst, int height,
- Ipp32f val))
- IPPAPI(IppStatus, ippsLogGauss_IdVar_64f_D2,(const Ipp64f* pSrc, int step,
- const Ipp64f* pMean, int width, Ipp64f* pDst, int height,
- Ipp64f val))
- IPPAPI(IppStatus, ippsLogGauss_IdVar_16s32s_D2LSfs,(const Ipp16s** mSrc,
- const Ipp16s* pMean, int width, Ipp32s* pDst, int height, Ipp32s val,
- int scaleFactor))
- IPPAPI(IppStatus, ippsLogGauss_IdVarScaled_16s32f_D2L,(const Ipp16s** mSrc,
- const Ipp16s* pMean, int width, Ipp32f* pDst, int height, Ipp32f val,
- int scaleFactor))
- IPPAPI(IppStatus, ippsLogGauss_IdVar_32f_D2L,(const Ipp32f** mSrc,
- const Ipp32f* pMean, int width, Ipp32f* pDst, int height, Ipp32f val))
- IPPAPI(IppStatus, ippsLogGauss_IdVar_64f_D2L,(const Ipp64f** mSrc,
- const Ipp64f* pMean, int width, Ipp64f* pDst, int height, Ipp64f val))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLogGaussMultiMix_*
- // Purpose: Calculates the observation probability for
- // multiple Gaussian mixture components.
- //
- // Parameters:
- // pMean Pointer to the mean vector [height*step].
- // pVar Pointer to the variance vector [height*step].
- // mMean Pointer to the mean matrix [height][width].
- // mVar Pointer to the variance matrix [height][width].
- // pSrcDst Pointer to the input additive values and
- // the result vector [height].
- // step The row step in pMean.
- // pSrc Pointer to the input vector [width].
- // height The number of rows in input matrices and the length of
- // the result vector pSrcDst.
- // width The length of the input matrices row and the vector pSrc.
- // scaleFactor
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, pMean, pVar,
- // pSrcDst, mMean, or mVar pointer is null.
- // ippStsSizeErr Indicates an error when height or width is less than or
- // equal to 0.
- // ippStsStrideErr Indicates an error when width > step.
- //
- */
- IPPAPI(IppStatus, ippsLogGaussMultiMix_16s32s_D2Sfs, (const Ipp16s* pMean,
- const Ipp16s* pVar, int step, const Ipp16s* pSrc, int width,
- Ipp32s* pSrcDst, int height, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMultiMix_16s32s_D2LSfs, (const Ipp16s** mMean,
- const Ipp16s** mVar, const Ipp16s* pSrc, int width, Ipp32s* pSrcDst,
- int height, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMultiMix_Scaled_16s32f_D2, (const Ipp16s* pMean,
- const Ipp16s* pVar, int step, const Ipp16s* pSrc, int width,
- Ipp32f* pSrcDst, int height, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMultiMix_Scaled_16s32f_D2L, (const Ipp16s** mMean,
- const Ipp16s** mVar, const Ipp16s* pSrc, int width, Ipp32f* pSrcDst,
- int height, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMultiMix_32f_D2, (const Ipp32f* pMean,
- const Ipp32f* pVar, int step, const Ipp32f* pSrc, int width,
- Ipp32f* pSrcDst, int height))
- IPPAPI(IppStatus, ippsLogGaussMultiMix_64f_D2, (const Ipp64f* pMean,
- const Ipp64f* pVar, int step, const Ipp64f* pSrc, int width,
- Ipp64f* pSrcDst, int height))
- IPPAPI(IppStatus, ippsLogGaussMultiMix_32f_D2L, (const Ipp32f** mMean,
- const Ipp32f** mVar, const Ipp32f* pSrc, int width, Ipp32f* pSrcDst,
- int height))
- IPPAPI(IppStatus, ippsLogGaussMultiMix_64f_D2L, (const Ipp64f** mMean,
- const Ipp64f** mVar, const Ipp64f* pSrc, int width, Ipp64f* pSrcDst,
- int height))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLogGaussMax_*_D2
- // Purpose: Computes maximum value of a vector dst and
- // logarithms of the Gaussian probability distribution function.
- // Parameters:
- // pSrc Pointer to the input vector [height*step].
- // mSrc Pointer to the input matrix [height][width].
- // step The row step in pSrc.
- // pMean Pointer to the mean vector [width].
- // pVar Pointer to the variance vector [width].
- // width The length of the input matrix row, mean,
- // and variance vectors.
- // pSrcDst Pointer to the input and output vector [height].
- // height The number of rows in the input matrix and the length of
- // the result vector pSrcDst.
- // val The value to add to each distance.
- // scaleFactor
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, pMean, pVar,
- // pSrcDst, mSrc pointer is null.
- // ippStsSizeErr Indicates an error when height or width is less than or
- // equal to 0.
- // ippStsStrideErr Indicates an error when width > step.
- //
- */
- /*
- //Case 1: Operation for the inverse diagonal covariance matrix
- */
- IPPAPI(IppStatus, ippsLogGaussMax_32f_D2, (const Ipp32f* pSrc, int step,
- const Ipp32f* pMean, const Ipp32f* pVar, int width,
- Ipp32f* pSrcDst, int height, Ipp32f val))
- IPPAPI(IppStatus, ippsLogGaussMax_32f_D2L, (const Ipp32f** mSrc,
- const Ipp32f* pMean, const Ipp32f* pVar, int width, Ipp32f* pSrcDst,
- int height, Ipp32f val))
- IPPAPI(IppStatus, ippsLogGaussMax_64f_D2, (const Ipp64f* pSrc, int step,
- const Ipp64f* pMean, const Ipp64f* pVar, int width, Ipp64f* pSrcDst,
- int height, Ipp64f val))
- IPPAPI(IppStatus, ippsLogGaussMax_64f_D2L, (const Ipp64f** mSrc,
- const Ipp64f* pMean, const Ipp64f* pVar, int width, Ipp64f* pSrcDst,
- int height, Ipp64f val))
- IPPAPI(IppStatus, ippsLogGaussMax_16s32s_D2Sfs, (const Ipp16s* pSrc,
- int step, const Ipp16s* pMean, const Ipp16s* pVar, int width,
- Ipp32s* pSrcDst, int height, Ipp32s val, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMax_16s32s_D2LSfs, (const Ipp16s** mSrc,
- const Ipp16s* pMean, const Ipp16s* pVar, int width, Ipp32s* pSrcDst,
- int height, Ipp32s val, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMax_Scaled_16s32f_D2, (const Ipp16s* pSrc, int step,
- const Ipp16s* pMean, const Ipp16s* pVar, int width,
- Ipp32f* pSrcDst, int height, Ipp32f val, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMax_Scaled_16s32f_D2L, (const Ipp16s** mSrc,
- const Ipp16s* pMean, const Ipp16s* pVar, int width, Ipp32f* pSrcDst,
- int height, Ipp32f val, int scaleFactor))
- /*
- //Case 2: Operation for the identity covariance matrix
- */
- IPPAPI(IppStatus, ippsLogGaussMax_IdVar_32f_D2, (const Ipp32f* pSrc,
- int step, const Ipp32f* pMean, int width, Ipp32f* pSrcDst,
- int height, Ipp32f val))
- IPPAPI(IppStatus, ippsLogGaussMax_IdVar_32f_D2L, (const Ipp32f** mSrc,
- const Ipp32f* pMean, int width, Ipp32f* pSrcDst, int height,
- Ipp32f val))
- IPPAPI(IppStatus, ippsLogGaussMax_IdVar_64f_D2, (const Ipp64f* pSrc,
- int step, const Ipp64f* pMean, int width, Ipp64f* pSrcDst,
- int height, Ipp64f val))
- IPPAPI(IppStatus, ippsLogGaussMax_IdVar_64f_D2L, (const Ipp64f** mSrc,
- const Ipp64f* pMean, int width, Ipp64f* pSrcDst, int height,
- Ipp64f val))
- IPPAPI(IppStatus, ippsLogGaussMax_IdVar_16s32s_D2Sfs, (const Ipp16s* pSrc,
- int step, const Ipp16s* pMean, int width, Ipp32s* pSrcDst,
- int height, Ipp32s val, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMax_IdVar_16s32s_D2LSfs, (const Ipp16s** mSrc,
- const Ipp16s* pMean, int width, Ipp32s* pSrcDst, int height,
- Ipp32s val, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMax_IdVarScaled_16s32f_D2, (const Ipp16s* pSrc,
- int step, const Ipp16s* pMean, int width, Ipp32f* pSrcDst,
- int height, Ipp32f val, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMax_IdVarScaled_16s32f_D2L, (const Ipp16s** mSrc,
- const Ipp16s* pMean, int width, Ipp32f* pSrcDst, int height,
- Ipp32f val, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLogGaussMaxMultiMix_*_*
- // Purpose: Computes the maximum of the Gaussian probability
- // distribution function.
- // Parameters:
- // pMean Pointer to the mean vector [height*step].
- // pVar Pointer to the variance vector [height*step].
- // mMean Pointer to the mean matrix [height][width].
- // mVar Pointer to the variance matrix [height][width].
- // pVal Pointer to the input vector of Max values [height].
- // pSrcDst Pointer to the input and output vector [height].
- // step Row step in pMean and pVar.
- // pSrc Pointer to theinput vector [width].
- // height Number of rows in input matrices and the length of
- // the result vector pSrcDst.
- // width Length of the input matrices row and the vector pSrc.
- // scaleFactor
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, pMean, pVar,
- // pSrcDst, mMean, mVar or pVal pointer is null.
- // ippStsSizeErr Indicates an error when height or width is less than or
- // equal to 0.
- // ippStsStrideErr Indicates an error when width > step.
- //
- */
- IPPAPI(IppStatus, ippsLogGaussMaxMultiMix_32f_D2, (const Ipp32f* pMean,
- const Ipp32f* pVar, int step, const Ipp32f* pSrc, int width,
- const Ipp32f* pVal, Ipp32f* pSrcDst, int height))
- IPPAPI(IppStatus, ippsLogGaussMaxMultiMix_32f_D2L, (const Ipp32f** mMean,
- const Ipp32f** mVar, const Ipp32f* pSrc, int width, const Ipp32f* pVal,
- Ipp32f* pSrcDst, int height))
- IPPAPI(IppStatus, ippsLogGaussMaxMultiMix_64f_D2, (const Ipp64f* pMean,
- const Ipp64f* pVar, int step, const Ipp64f* pSrc, int width,
- const Ipp64f* pVal, Ipp64f* pSrcDst, int height))
- IPPAPI(IppStatus, ippsLogGaussMaxMultiMix_64f_D2L, (const Ipp64f** mMean,
- const Ipp64f** mVar, const Ipp64f* pSrc, int width, const Ipp64f* pVal,
- Ipp64f* pSrcDst, int height))
- IPPAPI(IppStatus, ippsLogGaussMaxMultiMix_Scaled_16s32f_D2, (const Ipp16s* pMean,
- const Ipp16s* pVar, int step, const Ipp16s* pSrc, int width,
- const Ipp32f* pVal, Ipp32f* pSrcDst, int height, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMaxMultiMix_Scaled_16s32f_D2L, (const Ipp16s** mMean,
- const Ipp16s** mVar, const Ipp16s* pSrc, int width, const Ipp32f* pVal,
- Ipp32f* pSrcDst, int height, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMaxMultiMix_16s32s_D2Sfs, (const Ipp16s* pMean,
- const Ipp16s* pVar, int step, const Ipp16s* pSrc, int width,
- const Ipp32s* pVal, Ipp32s* pSrcDst, int height, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMaxMultiMix_16s32s_D2LSfs, (const Ipp16s** mMean,
- const Ipp16s** mVar, const Ipp16s* pSrc, int width, const Ipp32s* pVal,
- Ipp32s* pSrcDst, int height, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLogGaussAdd_32f_D2
- // Purpose: Calculates the likelihood probability for multiple
- // observation vectors.
- //
- // Parameters:
- // pSrc Pointer to the input vector [width*height]
- // mSrc Pointer to the input matrix [height][width].
- // step Row step in pSrc.
- // pMean Pointer to the mean vector [width]
- // pVar Pointer to the variance vector [width]
- // width Length of the mean, and variance vectors.
- // pSrcDst Pointer to input vector and output vector [height]
- // height Length of the input and output vector pSrcDst
- // val Value to add to each distance.
- //
- // Returns:
- // ippStsNoErr Indicates no error
- // ippStsNullPtrErr Indicates an error when the pSrc, pMean, pVar,
- // pSrcDst or mSrc pointer is null.
- // ippStsSizeErr Indicates an error when width or height
- // is less than or equal to 0.
- // ippStsStrideErr Indicates an error when width > step.
- */
- /*
- //Case 1: Operation for the inverse diagonal covariance matrix
- */
- IPPAPI(IppStatus, ippsLogGaussAdd_32f_D2, (const Ipp32f* pSrc, int step,
- const Ipp32f* pMean, const Ipp32f* pVar, int width, Ipp32f* pSrcDst,
- int height, Ipp32f val))
- IPPAPI(IppStatus, ippsLogGaussAdd_32f_D2L, (const Ipp32f** mSrc,
- const Ipp32f* pMean, const Ipp32f* pVar, int width, Ipp32f* pSrcDst,
- int height, Ipp32f val))
- IPPAPI(IppStatus, ippsLogGaussAdd_64f_D2,(const Ipp64f* pSrc, int step,
- const Ipp64f* pMean, const Ipp64f* pVar, int width,
- Ipp64f* pSrcDst, int height, Ipp64f val))
- IPPAPI(IppStatus, ippsLogGaussAdd_64f_D2L, (const Ipp64f** mSrc, const Ipp64f* pMean,
- const Ipp64f* pVar, int width, Ipp64f* pSrcDst, int height, Ipp64f val))
- IPPAPI(IppStatus, ippsLogGaussAdd_Scaled_16s32f_D2,(const Ipp16s* pSrc, int step,
- const Ipp16s* pMean, const Ipp16s* pVar, int width,
- Ipp32f* pSrcDst, int height, Ipp32f val, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussAdd_Scaled_16s32f_D2L, (const Ipp16s** mSrc,
- const Ipp16s* pMean, const Ipp16s* pVar, int width, Ipp32f* pSrcDst,
- int height, Ipp32f val, int scaleFactor))
- /*
- //Case 2: Operation for the identity covariance matrix
- */
- IPPAPI(IppStatus, ippsLogGaussAdd_IdVarScaled_16s32f_D2,(const Ipp16s* pSrc,
- int step, const Ipp16s* pMean, int width, Ipp32f* pSrcDst,
- int height, Ipp32f val, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussAdd_IdVarScaled_16s32f_D2L,(const Ipp16s** mSrc,
- const Ipp16s* pMean, int width, Ipp32f* pSrcDst, int height, Ipp32f val,
- int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussAdd_IdVar_32f_D2,(const Ipp32f* pSrc,
- int step, const Ipp32f* pMean, int width, Ipp32f* pSrcDst, int height,
- Ipp32f val))
- IPPAPI(IppStatus, ippsLogGaussAdd_IdVar_32f_D2L,(const Ipp32f** mSrc,
- const Ipp32f* pMean, int width, Ipp32f* pSrcDst, int height, Ipp32f val))
- IPPAPI(IppStatus, ippsLogGaussAdd_IdVar_64f_D2,(const Ipp64f* pSrc, int step,
- const Ipp64f* pMean, int width, Ipp64f* pSrcDst, int height, Ipp64f val))
- IPPAPI(IppStatus, ippsLogGaussAdd_IdVar_64f_D2L,(const Ipp64f** mSrc,
- const Ipp64f* pMean, int width, Ipp64f* pSrcDst, int height, Ipp64f val))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLogGaussAddMultiMix_*_*
- // Purpose: Calculates the likelihood probability for multiple
- // Gaussian mixture components.
- //
- // Parameters:
- // pMean Pointer to the variance vector [height*step].
- // mMean Pointer to the mean matrix [height][width].
- // pVar Pointer to the variance vector [height*step].
- // mVar Pointer to the variance matrix [height][width].
- // pVal Pointer to the input vector of additive values [height].
- // pSrcDst Pointer to the input and output vector [height].
- // step The row step in pMean.
- // pSrc Pointer to the input vector [width].
- // height The number of rows in input matrices and the length of
- // the result vector pSrcDst.
- // width The length of the input matrices row and the vector pSrc.
- // scaleFactor
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, pMean, pVar,
- // pSrcDst, mMean, mVar or pVal pointer is null.
- // ippStsSizeErr Indicates an error when height or width is less than or
- // equal to 0.
- // ippStsStrideErr Indicates an error when width > step.
- //
- */
- IPPAPI(IppStatus, ippsLogGaussAddMultiMix_Scaled_16s32f_D2, (const Ipp16s* pMean,
- const Ipp16s* pVar, int step, const Ipp16s* pSrc, int width,
- const Ipp32f* pVal, Ipp32f* pSrcDst, int height, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussAddMultiMix_Scaled_16s32f_D2L, (const Ipp16s** mMean,
- const Ipp16s** mVar, const Ipp16s* pSrc, int width, const Ipp32f* pVal,
- Ipp32f* pSrcDst, int height, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussAddMultiMix_32f_D2, (const Ipp32f* pMean,
- const Ipp32f* pVar, int step, const Ipp32f* pSrc, int width,
- const Ipp32f* pVal, Ipp32f* pSrcDst, int height))
- IPPAPI(IppStatus, ippsLogGaussAddMultiMix_32f_D2L, (const Ipp32f** mMean,
- const Ipp32f** mVar, const Ipp32f* pSrc, int width, const Ipp32f* pVal,
- Ipp32f* pSrcDst, int height))
- IPPAPI(IppStatus, ippsLogGaussAddMultiMix_64f_D2, (const Ipp64f* pMean,
- const Ipp64f* pVar, int step, const Ipp64f* pSrc, int width,
- const Ipp64f* pVal, Ipp64f* pSrcDst, int height))
- IPPAPI(IppStatus, ippsLogGaussAddMultiMix_64f_D2L, (const Ipp64f** mMean,
- const Ipp64f** mVar, const Ipp64f* pSrc, int width, const Ipp64f* pVal,
- Ipp64f* pSrcDst, int height))
- /* /////////////////////////////////////////////////////////////////////////////
- // Model Estimation
- ///////////////////////////////////////////////////////////////////////////// */
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsMeanColumn_*
- // Purpose: Computes the mean values vector of column
- // Parameters:
- // pSrc Pointer to the input vector [height*step].
- // mSrc Pointer to the input matrix [height][width].
- // height The number rows in the input matrix.
- // step The row step in pSrc.
- // pDstMean Pointer to the output mean vector [width].
- // width The number of columns in the input matrix and the length
- // of the output mean vector pDstMean.
- // scaleFactor
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, mSrc, or pDstMean
- // pointer is null.
- // ippStsSizeErr Indicates an error when height or width is less than
- // or equal to 0.
- // ippStsStrideErr Indicates an error when width > step.
- //
- */
- IPPAPI(IppStatus, ippsMeanColumn_16s_D2,(const Ipp16s* pSrc, int height,
- int step, Ipp16s* pDstMean, int width))
- IPPAPI(IppStatus, ippsMeanColumn_16s_D2L,(const Ipp16s** mSrc, int height,
- Ipp16s* pDstMean, int width))
- IPPAPI(IppStatus, ippsMeanColumn_32f_D2,(const Ipp32f* pSrc, int height,
- int step, Ipp32f* pDstMean, int width))
- IPPAPI(IppStatus, ippsMeanColumn_32f_D2L,(const Ipp32f** mSrc, int height,
- Ipp32f* pDstMean, int width))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsVarColumn_*
- // Purpose: Computes the variance values vector of column elements.
- // Parameters:
- // pSrc Pointer to the input vector [height*step].
- // mSrc Pointer to the input matrix [height][width].
- // height The number of rows in the input matrix.
- // step The row step in pSrc.
- // pSrcMean Pointer to the input mean vector [width].
- // pDstVar Pointer to the output variance vector of length [width].
- // width Number of columns in the input matrix and the length of
- // the input mean vector pSrcMean and output variance
- // vector pDstVar.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the mSrc, pSrcMean, pDstVar, or
- // pSrc pointer is null.
- // ippStsSizeErr Indicates an error when srcHight or width is less than or
- // equal to 0.
- // ippStsStrideErr Indicates an error when width > step.
- //
- */
- IPPAPI(IppStatus, ippsVarColumn_16s_D2Sfs,(const Ipp16s* pSrc, int height,
- int step, Ipp16s* pSrcMean, Ipp16s* pDstVar, int width, int scaleFactor))
- IPPAPI(IppStatus, ippsVarColumn_16s_D2LSfs,(const Ipp16s** mSrc, int height,
- Ipp16s* pSrcMean, Ipp16s* pDstVar, int width, int scaleFactor))
- IPPAPI(IppStatus, ippsVarColumn_32f_D2,(const Ipp32f* pSrc, int height,
- int step, Ipp32f* pSrcMean, Ipp32f* pDstVar, int width))
- IPPAPI(IppStatus, ippsVarColumn_32f_D2L,(const Ipp32f** mSrc, int height,
- Ipp32f* pSrcMean, Ipp32f* pDstVar, int width))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsMeanVarColumn_*
- // Purpose: Computes the mean and variance values vector of
- // column elements.
- // Parameters:
- // pSrc Pointer to the input vector [height*step].
- // mSrc Pointer to the input matrix [height][width].
- // height The number of rows in the input matrix.
- // step The row step in pSrc.
- // pDstMean Pointer to the output mean vector [width].
- // pDstVar Pointer to the output variance vector [width].
- // width The number of columns in the input matrix and the length
- // of the output mean vector pDstMean and
- // variance vector pDstVar.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, mSrc, pDstMean, or
- // pDstVar pointer is null.
- // ippStsSizeErr Indicates an error when height or width is less than
- // or equal to 0.
- // ippStsStrideErr Indicates an error when width > step.
- //
- */
- IPPAPI(IppStatus, ippsMeanVarColumn_16s_D2Sfs,(const Ipp16s* pSrc, int height,
- int step, Ipp16s* pDstMean, Ipp16s* pDstVar, int width, int scaleFactor))
- IPPAPI(IppStatus, ippsMeanVarColumn_16s_D2LSfs,(const Ipp16s** mSrc, int height,
- Ipp16s* pDstMean, Ipp16s* pDstVar, int width, int scaleFactor))
- IPPAPI(IppStatus, ippsMeanVarColumn_16s16s32s_D2,(const Ipp16s* pSrc, int height,
- int step, Ipp16s* pDstMean, Ipp32s* pDstVar, int width))
- IPPAPI(IppStatus, ippsMeanVarColumn_16s16s32s_D2L,(const Ipp16s** mSrc, int height,
- Ipp16s* pDstMean, Ipp32s* pDstVar, int width))
- IPPAPI(IppStatus, ippsMeanVarColumn_16s32s_D2Sfs,(const Ipp16s* pSrc, int height,
- int step, Ipp32s* pDstMean, Ipp32s* pDstVar, int width, int scaleFactor))
- IPPAPI(IppStatus, ippsMeanVarColumn_16s32s_D2LSfs,(const Ipp16s** mSrc, int height,
- Ipp32s* pDstMean, Ipp32s* pDstVar, int width, int scaleFactor))
- IPPAPI(IppStatus, ippsMeanVarColumn_32f_D2,(const Ipp32f* pSrc, int height,
- int step, Ipp32f* pDstMean, Ipp32f* pDstVar, int width))
- IPPAPI(IppStatus, ippsMeanVarColumn_32f_D2L,(const Ipp32f** mSrc, int height,
- Ipp32f* pDstMean, Ipp32f* pDstVar, int width))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsNormalizeColumn_*_*
- // Purpose: Normalizes the matrix rows with the help of mean
- // and variance vectors.
- // Parameters:
- // pMean Pointer to the mean vector [width].
- // pVar Pointer to the variance vector [width].
- // pSrcDst Pointer to the input and output vector [height*step].
- // mSrcDst Pointer to the input/output matrix [height][width]
- // width The number of elements in the mean
- // and variance vectors.
- // step The row step in pSrcDst.
- // height The number of rows in the input and output matrix
- // scaleFactor
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pMean, pVar, or pSrcDst
- // or mSrcDst pointer is null.
- // ippStsSizeErr Indicates an error when height or width is less than or
- // equal to 0.
- // ippStsStrideErr Indicates an error when width > step.
- //
- */
- IPPAPI(IppStatus, ippsNormalizeColumn_32f_D2,(Ipp32f* pSrcDst, int step,
- int height, const Ipp32f* pMean, const Ipp32f* pVar, int width))
- IPPAPI(IppStatus, ippsNormalizeColumn_32f_D2L,(Ipp32f** mSrcDst, int height,
- const Ipp32f* pMean, const Ipp32f* pVar, int width))
- IPPAPI(IppStatus, ippsNormalizeColumn_16s_D2Sfs,(Ipp16s* pSrcDst, int step,
- int height, const Ipp16s* pMean, const Ipp16s* pVar, int width,
- int scaleFactor))
- IPPAPI(IppStatus, ippsNormalizeColumn_16s_D2LSfs,(Ipp16s** mSrcDst, int height,
- const Ipp16s* pMean, const Ipp16s* pVar, int width, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsNormalizeInRange_*
- //
- // Purpose: Normalizes and scales input vector elements.
- //
- // Parameters:
- // pSrc Pointer to the input array [len].
- // pSrcDst Pointer to the input and output array
- // (for the in-place operation) [len].
- // pDst Pointer to the output array [len].
- // len Number of elements in the input and output array.
- // lowCut Lower cutoff value.
- // highCut High cutoff value.
- // range Upper bound of output data value (lower bound is 0).
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pDst pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0.
- // ippStsBadArgErr Indicates an error when 0<=lowCut<highCut<=1 condition
- // is not true or range is less than 0.
- // ippStsInvZero Indicates a warning when Xmin = Xmax. All elements of
- // the output vector are set to 0.
- */
- IPPAPI(IppStatus, ippsNormalizeInRange_16s8u, (const Ipp16s* pSrc, Ipp8u* pDst,
- int len, Ipp32f lowCut, Ipp32f highCut, Ipp8u range))
- IPPAPI(IppStatus, ippsNormalizeInRange_16s, (const Ipp16s* pSrc, Ipp16s* pDst,
- int len, Ipp32f lowCut, Ipp32f highCut, Ipp16s range))
- IPPAPI(IppStatus, ippsNormalizeInRange_16s_I, (Ipp16s* pSrcDst,
- int len, Ipp32f lowCut, Ipp32f highCut, Ipp16s range))
- IPPAPI(IppStatus, ippsNormalizeInRange_32f8u, (const Ipp32f* pSrc, Ipp8u* pDst,
- int len, Ipp32f lowCut, Ipp32f highCut, Ipp8u range))
- IPPAPI(IppStatus, ippsNormalizeInRange_32f16s, (const Ipp32f* pSrc, Ipp16s* pDst,
- int len, Ipp32f lowCut, Ipp32f highCut, Ipp16s range))
- IPPAPI(IppStatus, ippsNormalizeInRange_32f, (const Ipp32f* pSrc, Ipp32f* pDst,
- int len, Ipp32f lowCut, Ipp32f highCut, Ipp32f range))
- IPPAPI(IppStatus, ippsNormalizeInRange_32f_I, (Ipp32f* pSrcDst,
- int len, Ipp32f lowCut, Ipp32f highCut, Ipp32f range))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsNormalizeInRangeMinMax_*
- //
- // Purpose: Normalizes and scales input vector elements.
- //
- // Parameters:
- // pSrc Pointer to the input array [len].
- // pSrcDst Pointer to the input and output array
- // (for the in-place operation) [len].
- // pDst Pointer to the output array [len].
- // len Number of elements in the input and output array.
- // lowCut Lower cutoff value.
- // highCut High cutoff value.
- // range Upper bound of output data value (lower bound is 0).
- // valMin Minimum of input data.
- // valMax Maximum of input data.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pDst pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0.
- // ippStsBadArgErr Indicates an error when 0<=lowCut<highCut<=1 condition
- // is not true or range is less than 0 or valMin is greater
- // than valMax.
- // ippStsInvZero Indicates a warning when valMin=valMax. All elements of
- // the output vector are set to 0.
- */
- IPPAPI(IppStatus, ippsNormalizeInRangeMinMax_16s8u, (const Ipp16s* pSrc, Ipp8u* pDst,
- int len, Ipp16s valMin, Ipp16s valMax,
- Ipp32f lowCut, Ipp32f highCut, Ipp8u range))
- IPPAPI(IppStatus, ippsNormalizeInRangeMinMax_16s, (const Ipp16s* pSrc, Ipp16s* pDst,
- int len, Ipp16s valMin, Ipp16s valMax,
- Ipp32f lowCut, Ipp32f highCut, Ipp16s range))
- IPPAPI(IppStatus, ippsNormalizeInRangeMinMax_16s_I, (Ipp16s* pSrcDst,
- int len, Ipp16s valMin, Ipp16s valMax, Ipp32f
- lowCut, Ipp32f highCut, Ipp16s range))
- IPPAPI(IppStatus, ippsNormalizeInRangeMinMax_32f8u, (const Ipp32f* pSrc, Ipp8u* pDst,
- int len, Ipp32f valMin, Ipp32f valMax,
- Ipp32f lowCut, Ipp32f highCut, Ipp8u range))
- IPPAPI(IppStatus, ippsNormalizeInRangeMinMax_32f16s, (const Ipp32f* pSrc, Ipp16s* pDst,
- int len, Ipp32f valMin, Ipp32f valMax,
- Ipp32f lowCut, Ipp32f highCut, Ipp16s range))
- IPPAPI(IppStatus, ippsNormalizeInRangeMinMax_32f, (const Ipp32f* pSrc, Ipp32f* pDst,
- int len, Ipp32f valMin, Ipp32f valMax,
- Ipp32f lowCut, Ipp32f highCut, Ipp32f range))
- IPPAPI(IppStatus, ippsNormalizeInRangeMinMax_32f_I, (Ipp32f* pSrcDst,
- int len, Ipp32f valMin, Ipp32f valMax,
- Ipp32f lowCut, Ipp32f highCut, Ipp32f range))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsMeanVarAcc_*
- // Purpose: Computes mean and variance accumulators.
- // Parameters:
- // pSrc Pointer to the input vector [len].
- // pSrcMean Pointer to the mean vector [len].
- // pDstMeanAcc Pointer to the mean accumulated vector [len].
- // pDstVarAcc Pointer to the variance accumulated vector [len].
- // len The number of elements in the input, mean,
- // and variance vectors.
- // val The value of the multiplyed mean and variance vectors
- // before accumulated.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, pSrcMean, pDstMeanAcc,
- // or pDstVarAcc pointer is null.
- // ippStsSizeErr Indicates an error when lenis less than or equal to 0.
- //
- */
- IPPAPI(IppStatus, ippsMeanVarAcc_32f, (Ipp32f const* pSrc,
- Ipp32f const* pSrcMean, Ipp32f* pDstMeanAcc, Ipp32f* pDstVarAcc,
- int len, Ipp32f val))
- IPPAPI(IppStatus, ippsMeanVarAcc_64f, (Ipp64f const* pSrc,
- Ipp64f const* pSrcMean, Ipp64f* pDstMeanAcc, Ipp64f* pDstVarAcc,
- int len, Ipp64f val))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsGaussianDist_32f
- // Purpose: Computes distance between Gaussians.
- // Parameters:
- // pSrcMean1 Pointer to the mean vector of the first Gaussian [len]
- // pSrcVar1 Pointer to the variance vector of the
- // first Gaussian [len].
- // pSrcMean2 Pointer to the mean vector of the second
- // Gaussian [len].
- // pSrcVar2 Pointer to the variance vector of the second
- // Gaussian [len].
- // len The number of elements in the mean and variance vectors.
- // pResult Pointer to the distance value.
- // wgt1 The first Gaussian weight.
- // det1 The first Gaussian determinant.
- // wgt2 The second Gaussian weight.
- // det2 The second Gaussian determinant.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrcMean1, pSrcMean2,
- // pSrcVar1, pSrcVar2, or pResult pointer is null.
- // ippStsSizeErr Indicates an error when lenis less than or equal to 0.
- //
- */
- IPPAPI(IppStatus, ippsGaussianDist_32f,(const Ipp32f* pSrcMean1,
- const Ipp32f* pSrcVar1, const Ipp32f* pSrcMean2, const Ipp32f* pSrcVar2,
- int len, Ipp32f* pResult, Ipp32f wgt1, Ipp32f det1, Ipp32f wgt2,
- Ipp32f det2))
- IPPAPI(IppStatus, ippsGaussianDist_64f,(const Ipp64f* pSrcMean1,
- const Ipp64f* pSrcVar1, const Ipp64f* pSrcMean2, const Ipp64f* pSrcVar2,
- int len, Ipp64f* pResult, Ipp64f wgt1, Ipp64f det1, Ipp64f wgt2,
- Ipp64f det2))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsGaussianSplit_32f
- // Purpose: Splits simple Gaussian probability distribution functions
- //
- // Parameters:
- // pSrcMean1 Pointer to the input and the first output mean
- // vector [len].
- // pSrcVar1 Pointer to the input and the first variance vector [len].
- // pSrcMean2 Pointer to the second output mean vector [len].
- // pSrcVar2 Pointer to the input and the second variance vector [len].
- // len The number of elements in the mean and variance vectors.
- // val The variance perturbation value.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrcMean1, pSrcMean2,
- // pSrcVar1, or pSrcVar2 pointer is null.
- // ippStsSizeErr Indicates an error when lenis less than or equal to 0.
- //
- */
- IPPAPI(IppStatus, ippsGaussianSplit_32f,(Ipp32f* pSrcMean1, Ipp32f* pSrcVar1,
- Ipp32f* pSrcMean2, Ipp32f* pSrcVar2, int len, Ipp32f val))
- IPPAPI(IppStatus, ippsGaussianSplit_64f,(Ipp64f* pSrcMean1, Ipp64f* pSrcVar1,
- Ipp64f* pSrcMean2, Ipp64f* pSrcVar2, int len, Ipp64f val))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsGaussianMerge_32f
- // Purpose: Merges two simple Gaussian probability
- // distribution functions.
- // Parameters:
- // pSrcMean1 Pointer to the mean vector of the first Gaussian [len].
- // pSrcVar1 Pointer to the variance vector of the first
- // Gaussian [len].
- // pSrcMean2 Pointer to the mean vector of the second Gaussian [len].
- // pSrcVar2 Pointer to the variance vector of the second
- // Gaussian [len].
- // pDstMean Pointer to the mean vector of the merged Gaussian [len].
- // pDstVar Pointer to the variance vector of the merged
- // Gaussian [len].
- // len The number of elements in the mean and variance vectors.
- // pDstDet Pointer to the determinant of the merged Gaussian.
- // wgt1 The first Gaussian weight.
- // wgt2 The second Gaussian weight.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrcMean1, pSrcMean2,
- // pSrcVar1, pSrcVar2, pDstMean, pDstVar, or pDstDet
- // pointer is null.
- // ippStsSizeErr Indicates an error when lenis less than or equal to 0.
- //
- */
- IPPAPI(IppStatus, ippsGaussianMerge_32f,(const Ipp32f* pSrcMean1,
- const Ipp32f* pSrcVar1, const Ipp32f* pSrcMean2, const Ipp32f* pSrcVar2,
- Ipp32f* pDstMean, Ipp32f* pDstVar, int len, Ipp32f* pDstDet, Ipp32f wgt1,
- Ipp32f wgt2))
- IPPAPI(IppStatus, ippsGaussianMerge_64f,(const Ipp64f* pSrcMean1,
- const Ipp64f* pSrcVar1, const Ipp64f* pSrcMean2, const Ipp64f* pSrcVar2,
- Ipp64f* pDstMean, Ipp64f* pDstVar, int len, Ipp64f* pDstDet, Ipp64f wgt1,
- Ipp64f wgt2))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsEntropy_*
- //
- // Purpose: Calculate exponent of minus squared argument.
- //
- // Parameters:
- // pSrc Pointer to the input vector [len].
- // pResult Pointer to the destination enropy value.
- // len Length of the input vector.
- // srcShiftVal
- // scaleFactor
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pResult pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0.
- // ippStsLnNegArg Indicates a warning for input vector elements less than 0.
- // Operation execution is aborted. The destination
- // value NaN and for integer operations is 0.
- //
- */
- IPPAPI(IppStatus, ippsEntropy_32f, (const Ipp32f* pSrc, int len, Ipp32f* pResult))
- IPPAPI(IppStatus, ippsEntropy_16s32s_Sfs, (const Ipp16s* pSrc, int srcShiftVal,
- int len, Ipp32s* pResult, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsSinC_*
- //
- // Purpose: Calculate sine divided by argument.
- //
- // Parameters:
- // pSrc Pointer to the input array [len].
- // pSrcDst Pointer to the input and destination vector [len].
- // pDst Pointer to the output array [len].
- // len Number of elements in the input vector.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, pSrcDst or pDst
- // pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0.
- //
- */
- IPPAPI(IppStatus, ippsSinC_32f, (const Ipp32f* pSrc, Ipp32f* pDst, int len))
- IPPAPI(IppStatus, ippsSinC_32f64f, (const Ipp32f* pSrc, Ipp64f* pDst, int len))
- IPPAPI(IppStatus, ippsSinC_64f, (const Ipp64f* pSrc, Ipp64f* pDst, int len))
- IPPAPI(IppStatus, ippsSinC_32f_I, (Ipp32f* pSrcDst, int len))
- IPPAPI(IppStatus, ippsSinC_64f_I, (Ipp64f* pSrcDst, int len))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsExpNegSqr_*
- //
- // Purpose: Calculate exponent of minus squared argument.
- //
- // Parameters:
- // pSrc Pointer to the input array [len].
- // pSrcDst Pointer to the input and destination vector [len].
- // pDst Pointer to the destination vector [len].
- // len Length of the input and output vectors.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, pSrcDst or pDst
- // pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0.
- //
- // File: psexpns.c
- */
- IPPAPI(IppStatus, ippsExpNegSqr_32f, (const Ipp32f* pSrc, Ipp32f* pDst, int len))
- IPPAPI(IppStatus, ippsExpNegSqr_32f64f,(const Ipp32f* pSrc, Ipp64f* pDst, int len))
- IPPAPI(IppStatus, ippsExpNegSqr_64f, (const Ipp64f* pSrc, Ipp64f* pDst, int len))
- IPPAPI(IppStatus, ippsExpNegSqr_32f_I, (Ipp32f* pSrcDst, int len))
- IPPAPI(IppStatus, ippsExpNegSqr_64f_I, (Ipp64f* pSrcDst, int len))
- /*///////////////////////////////////////////////////////////////////////////////
- // Name: IppStatus ippsBhatDistSLog_*
- // Purpose: Calculates the Bhattacharia distance between two Gaussians.
- //
- // Parameters:
- // pSrcMean1 Pointer to the first mean vector [len].
- // pSrcVar1 Pointer to the first variance vector [len].
- // pSrcMean2 Pointer to the second mean vector [len].
- // pSrcVar2 Pointer to the second variance vector [len].
- // pResult Pointer to the result value.
- // len Length of the input mean and variance vectors.
- // sumLog1 Sum of the first Gaussian variance in the logarithmic
- // representation.
- // sumLog2 Sum of the second Gaussian variance in the logarithmic
- // representation.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrcMean1, pSrcVar1,
- // pSrcMean2, pSrcVar2 or pResult pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0
- // ippStsLnZeroArg Indicates a warning that a zero value was detected in
- // the input vector. The execution is not aborted.
- // The result value is set to -Inf if there is no negative
- // element in the vector.
- // ippStsLnNegArg Indicates a warning that negative values were detected
- // in the input vector. The execution is not aborted.
- // The result value is set to NaN.
- //
- */
- IPPAPI(IppStatus, ippsBhatDist_32f,(const Ipp32f* pSrcMean1,
- const Ipp32f* pSrcVar1, const Ipp32f* pSrcMean2, const Ipp32f* pSrcVar2,
- int len, Ipp32f* pResult))
- IPPAPI(IppStatus, ippsBhatDist_32f64f,(const Ipp32f* pSrcMean1,
- const Ipp32f* pSrcVar1, const Ipp32f* pSrcMean2, const Ipp32f* pSrcVar2,
- int len, Ipp64f* pResult))
- IPPAPI(IppStatus, ippsBhatDistSLog_32f,(const Ipp32f* pSrcMean1,
- const Ipp32f* pSrcVar1, const Ipp32f* pSrcMean2, const Ipp32f* pSrcVar2,
- int len, Ipp32f* pResult, Ipp32f sumLog1, Ipp32f sumLog2))
- IPPAPI(IppStatus, ippsBhatDistSLog_32f64f,(const Ipp32f* pSrcMean1,
- const Ipp32f* pSrcVar1, const Ipp32f* pSrcMean2, const Ipp32f* pSrcVar2,
- int len, Ipp64f* pResult, Ipp32f sumLog1, Ipp32f sumLog2))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsUpdateMean_*
- // Purpose: Update the mean vector in the embedded EM
- // training algorithm.
- // Parameters:
- // pMeanAcc Pointer to the mean accumulator [len].
- // pMean Pointer to the mean vector [len].
- // len The legth of the mean vector [len].
- // meanOcc The occupation sum of the Gaussian mixture.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pMean or pMeanAcc
- // pointer is null.
- // ippStsZeroOcc Indicates an error when meanOcc is equal to 0
- // ippStsNegOcc Indicates an error when meanOcc is less than 0
- //
- */
- IPPAPI(IppStatus, ippsUpdateMean_32f, (const Ipp32f* pMeanAcc, Ipp32f* pMean,
- int len, Ipp32f meanOcc))
- IPPAPI(IppStatus, ippsUpdateMean_64f, (const Ipp64f* pMeanAcc, Ipp64f* pMean,
- int len, Ipp64f meanOcc))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsUpdateVar_*
- // Purpose: Updates the variance vector in the EM training
- // algorithm.
- // Parameters:
- // pMeanAcc Pointer to the mean accumulator [len].
- // pVarAcc Pointer to the variance accumulator [len].
- // pVarFloor Pointer to the variance floor vector [len].
- // pVar Pointer to the variance vector [len].
- // len The legth of the mean and variance vectors [len].
- // meanOcc The occupation sum of the Gaussian mixture.
- // varOcc The square occupation sum of the variance mixture.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the or pMeanAcc or pVarAcc or pVar
- // or pVarFloor pointer is null.
- // ippStsZeroOcc Indicates an error when meanOcc or varOcc is equal to 0
- // ippStsNegOcc Indicates an error when meanOcc and varOcc are less than 0
- // ippStsResFloor Indicates a warning when all variances are floored.
- //
- */
- IPPAPI(IppStatus, ippsUpdateVar_32f, (const Ipp32f* pMeanAcc,
- const Ipp32f* pVarAcc, const Ipp32f* pVarFloor, Ipp32f* pVar, int len,
- Ipp32f meanOcc, Ipp32f varOcc))
- IPPAPI(IppStatus, ippsUpdateVar_64f, (const Ipp64f* pMeanAcc,
- const Ipp64f* pVarAcc, const Ipp64f* pVarFloor, Ipp64f* pVar, int len,
- Ipp64f meanOcc, Ipp64f varOcc))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsUpdateWeight_*
- // Purpose: Updates the weight values of Gaussian mixtures
- // in the EM training algorithm.
- // Parameters:
- // pWgtAccm Pointer to the weight accumulator [len].
- // pWgt Pointer to the weight vector [len].
- // len Number of mixtures in the HMM state.
- // pWgtSum Pointer to the output sum of weight values.
- // wgtOcc The nominator of the weight update equation.
- // wgtThresh The threshold for the weight values.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the or pWgtAcc or pWgt or pWgtSum
- // pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0
- // ippStsZeroOcc Indicates an error when wgtOcc is equal to 0
- // ippStsNegOcc Indicates an error when wgtOcc is less than 0
- // ippStsResFloor Indicates a warning when all weights are floored.
- //
- */
- IPPAPI(IppStatus, ippsUpdateWeight_32f, (const Ipp32f* pWgtAcc, Ipp32f* pWgt,
- int len, Ipp32f* pWgtSum, Ipp32f wgtOcc, Ipp32f wgtThresh))
- IPPAPI(IppStatus, ippsUpdateWeight_64f, (const Ipp64f* pWgtAcc, Ipp64f* pWgt,
- int len, Ipp64f* pWgtSum, Ipp64f wgtOcc, Ipp64f wgtThresh))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsUpdateGConst_*
- // Purpose: Updates the fixed constant in the Gaussian output
- // probability density function.
- // Parameters:
- // pVar Pointer to the variance vector [len].
- // len Dimension of the variance vector.
- // pDet Pointer to the result value.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the or pVar or pDet pointer
- // is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0
- // ippStsLnZeroArg Indicates a warning for zero-valued input vector elements.
- // Operation execution is not aborted. The result value is
- // set to -Inf if there are no negative elements in the vector.
- // ippStsLnNegArg Indicates a warning for negative input vector elements.
- // Operation execution is not aborted. The result value is NaN.
- //
- */
- IPPAPI(IppStatus, ippsUpdateGConst_32f, (const Ipp32f* pVar, int len, Ipp32f* pDet))
- IPPAPI(IppStatus, ippsUpdateGConst_64f, (const Ipp64f* pVar, int len, Ipp64f* pDet))
- IPPAPI(IppStatus, ippsUpdateGConst_DirectVar_32f, (const Ipp32f* pVar, int len,
- Ipp32f* pDet))
- IPPAPI(IppStatus, ippsUpdateGConst_DirectVar_64f, (const Ipp64f* pVar, int len,
- Ipp64f* pDet))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsOutProbPreCalc_*
- // Purpose: Pre-calculates the part of Gaussian mixture output
- // probability that is irrelevant to observation vectors.
- // Parameters:
- // pWeight Pointer to the Gaussian mixture weight vector [len].
- // pGConst Pointer to the constant vector calculated from
- // ippsUpdateGConst [len].
- // pVal Pointer to the resulting vector [len].
- // len Number of mixtures in the HMM state.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the or pWeight or pGConst or pVal
- // pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0
- //
- */
- IPPAPI(IppStatus, ippsOutProbPreCalc_32f, (const Ipp32f* pWeight,
- const Ipp32f* pGConst, Ipp32f* pVal, int len))
- IPPAPI(IppStatus, ippsOutProbPreCalc_64f, (const Ipp64f* pWeight,
- const Ipp64f* pGConst, Ipp64f* pVal, int len))
- IPPAPI(IppStatus, ippsOutProbPreCalc_32f_I, (const Ipp32f* pWeight,
- Ipp32f* pGConst, int len))
- IPPAPI(IppStatus, ippsOutProbPreCalc_64f_I, (const Ipp64f* pWeight,
- Ipp64f* pGConst, int len))
- IPPAPI(IppStatus, ippsOutProbPreCalc_32s, (const Ipp32s* pWeight,
- const Ipp32s* pGConst, Ipp32s* pVal, int len))
- IPPAPI(IppStatus, ippsOutProbPreCalc_32s_I, (const Ipp32s* pWeight,
- Ipp32s* pGConst, int len))
- /*///////////////////////////////////////////////////////////////////////////////
- // Name: ippsDcsClustLAccumulate_*
- // Purpose: Update the accumulators for calculating state-cluster
- // likelihood in the desition-tree clustering algorithm.
- // Parameters:
- // pMean Pointer to the mean vector of the HMM state in the
- // cluster [len]
- // pVar Pointer to the variance vector of the HMM state in the
- // cluster [len]
- // pDstSum Pointer to the sum part of the accumulator [len]
- // pDstSqr Pointer to the sqr part of the accumulator [len]
- // len Length of the mean and variance vectors.
- // occ Occupation count of the HMM state.
- // Return:
- // ippStsNoErr Idicates no error
- // ippStsNullPtrErr Idicates an error when the pMean, pVar, pDstSum or
- // pDstSqr pointer is null
- // ippStsSizeErr Idicates an error when len is less than or equal to 0
- //
- */
- IPPAPI(IppStatus, ippsDcsClustLAccumulate_32f, (const Ipp32f* pMean,
- const Ipp32f* pVar, Ipp32f* pDstSum, Ipp32f* pDstSqr, int len, Ipp32f occ))
- IPPAPI(IppStatus, ippsDcsClustLAccumulate_64f, (const Ipp64f* pMean,
- const Ipp64f* pVar, Ipp64f* pDstSum, Ipp64f* pDstSqr, int len, Ipp64f occ))
- IPPAPI(IppStatus, ippsDcsClustLAccumulate_DirectVar_32f, (const Ipp32f* pMean,
- const Ipp32f* pVar, Ipp32f* pDstSum, Ipp32f* pDstSqr, int len, Ipp32f occ))
- IPPAPI(IppStatus, ippsDcsClustLAccumulate_DirectVar_64f, (const Ipp64f* pMean,
- const Ipp64f* pVar, Ipp64f* pDstSum, Ipp64f* pDstSqr, int len, Ipp64f occ))
- /*///////////////////////////////////////////////////////////////////////////////
- // Name: ippsDcsClustLCompute_*
- // Purpose: Calculate the likelihood of an HMM state cluster in the
- // decision-tree state-clustering algorithm.
- // Parameters:
- // pSrcSum Pointer to the sum part of the accumulator [len]
- // pSrcSqr Pointer to the sqr part of the accumulator [len]
- // len Length of the mean and variance vectors.
- // pDst Pointer to the resulting likelihood value
- // occ Ocupation sum of the HMM state cluster
- //
- // Return:
- // ippStsNoErr Idicates no error
- // ippStsNullPtrErr Idicates an error when the pSrcSum, pSrcSqr,
- // pDst pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0 or
- // occ is less than or equal to 0.
- // ippStsZeroOcc Indicates an error when occ is equal to 0
- // ippStsNegOcc Indicates an error when occ is less than 0
- // ippStsLnZeroArg Indicates a warning for zero-valued input vector elements.
- // Operation execution is not aborted. The result value is
- // set to -Inf if there are no negative elements in the
- // vector.
- // ippStsLnNegArg Indicates a warning for negative input vector elements.
- // Operation execution is not aborted. The result value
- // is set to NaN.
- //
- */
- IPPAPI(IppStatus, ippsDcsClustLCompute_32f64f, (const Ipp32f* pSrcSum,
- const Ipp32f* pSrcSqr, int len, Ipp64f* pDst, Ipp32f occ))
- IPPAPI(IppStatus, ippsDcsClustLCompute_64f, (const Ipp64f* pSrcSum,
- const Ipp64f* pSrcSqr, int len, Ipp64f* pDst, Ipp64f occ))
- /* /////////////////////////////////////////////////////////////////////////////
- // Model Adaptation
- ///////////////////////////////////////////////////////////////////////////// */
- /*/////////////////////////////////////////////////////////////////////////////
- // Name: ippsAddMulColumn_64f_D2L
- // Purpose: Adds a weighted matrix column to another column.
- //
- // Parameters:
- // mSrcDst Pointer to the source and destination
- // matrix [height][width].
- // width The number of columns in the matrix mSrcDst.
- // height The number of rows in the matrix mSrcDst.
- // col1 The first number of the column.
- // col2 The second number of the column.
- // row1 The first number of the row.
- // val The multiplier factor.
- //
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the mSrcDst pointer is null.
- // ippStsSizeErr Indicates an error when when height, width
- // is less than or equal to 0;
- // or col1 or col2 is greater than or equal to width;
- // or row1 is greater than or equal to height;
- // or col1 or col2 or row1 is less than 0.
- //
- */
- IPPAPI(IppStatus, ippsAddMulColumn_64f_D2L, (Ipp64f** mSrcDst, int width,
- int height, int col1, int col2, int row1, const Ipp64f val))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsAddMulRow_64f
- // Purpose: Multiplies sourceh vector elements by a value
- // and places them in the destination vector.
- //
- // Parameters:
- // pSrc Pointer to the source vector [len]
- // pDst Pointer to the result vector [len]
- // len Length of source vector
- // val The multiplying coefficient
- //
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNoErr Indicates an error when the pSrc or pDst is null
- // ippStsSizeErr Indicates an error when the len is less or equal 0
- //
- */
- IPPAPI(IppStatus, ippsAddMulRow_64f, (const Ipp64f *pSrc, Ipp64f *pDst,
- int len, const Ipp64f val))
- /*/////////////////////////////////////////////////////////////////////////////
- // Name: ippsQRTransColumn_64f_D2L
- // Purpose: Calculates QR transformation.
- //
- // Parameters:
- // mSrcDst Pointer to the source and destination
- // matrix [height][width].
- // width The number of columns in the matrix mSrcDst.
- // height The number of rows in the matrix mSrcDst.
- // col1 The first number of the column.
- // col2 The second number of the column.
- // val1 The first multiplier factor.
- // val2 The second multiplier factor.
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the mSrcDst pointer is null.
- // ippStsSizeErr Indicates an error when height, width
- // is less than or equal to 0;
- // or col1 or col2 is greater than or equal to width.
- // or col1 or col2 is less than 0.
- //
- */
- IPPAPI(IppStatus, ippsQRTransColumn_64f_D2L, (Ipp64f** mSrcDst, int width,
- int height, int col1, int col2, const Ipp64f val1, const Ipp64f val2))
- /*/////////////////////////////////////////////////////////////////////////////
- // Name: ippsDotProdColumn_64f_D2L
- // Purpose: Calculates the dot product of two matrix columns.
- //
- // Parameters:
- // mSrc Pointer to the source matrix [height][width].
- // width The number of columns in the matrix mSrc.
- // height The number of rows in the matrix mSrc.
- // pSum Pointer to the value of the computed sum.
- // col1 The first number of the column.
- // col2 The second number of the column.
- // row1 The first number of the row.
- //
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the mSrcor pSum pointer is null.
- // ippStsSizeErr Indicates an error when height, width
- // is less than or equal to 0;
- // or row1 is greater than or equal to height;
- // or col1 is greater than or equal to width;
- // or row1 or col1 is less than 0.
- //
- */
- IPPAPI(IppStatus, ippsDotProdColumn_64f_D2L, (const Ipp64f** mSrc, int width,
- int height, Ipp64f* pSum, int col1, int col2, int row1))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsMulColumn_64f_D2L
- // Purpose: Multiplies a matrix column by a value.
- //
- // Parameters:
- // mSrcDst Pointer to the source and destination
- // matrix [height][width].
- // width The number of columns in the matrix mSrcDst.
- // height The number of rows in the matrix mSrcDst.
- // col1 The first number of the column.
- // row1 The first number of the row.
- // val The multiplier factor.
- //
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the mSrcDst pointer is null.
- // ippStsSizeErr Indicates an error when height, width
- // is less than or equal to 0;
- // or row1 is greater than or equal to height;
- // or col1 is greater than or equal to width;
- // or row1 or col1 is less than 0.
- //
- */
- IPPAPI(IppStatus, ippsMulColumn_64f_D2L, (Ipp64f** mSrcDst, int width,
- int height, int col1, int row1, const Ipp64f val))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsSumColumnAbs_64f_D2L
- // Purpose: Sums absolute values of column elements.
- //
- // Parameters:
- // mSrc Pointer to the source matrix [height][width].
- // width The number of columns in the matrix mSrc.
- // height The number of rows in the matrix mSrc.
- // pSum Pointer to the value of the computed sum.
- // col1 The first number of the column.
- // row1 The first number of the row.
- //
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the mSrc or pSum pointer is null.
- // ippStsSizeErr Indicates an error when width, height
- // is less than or equal to 0;
- // or row1 is greater than or equal to height;
- // or col1 is greater than or equal to width;
- // or row1 or col1 is less than 0.
- //
- */
- IPPAPI(IppStatus, ippsSumColumnAbs_64f_D2L, (const Ipp64f** mSrc, int width,
- int height, Ipp64f* pSum, int col1, int row1))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsSumColumnSqr_64f_D2L
- // Purpose: Multiplies matrix column elements by a value and
- // sums their squares.
- //
- // Parameters:
- // mSrcDst Pointer to the source matrix [height][width].
- // width The number of columns in the matrix mSrcDst.
- // height The number of rows in the matrix mSrcDst.
- // pSum Pointer to the value of the computed sum.
- // col1 The first number of the column.
- //
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the mSrcDst or pSum
- // pointer is null.
- // ippStsSizeErr Indicates an error when width, height
- // is less than or equal to 0;
- // or row1 is greater than or equal to height;
- // or col1 is greater than or equal to width.
- // or row1 or col1 is less than 0.
- //
- */
- IPPAPI(IppStatus, ippsSumColumnSqr_64f_D2L, (Ipp64f** mSrcDst, int width,
- int height, Ipp64f* pSum, int col1, int row1, const Ipp64f val))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsSumRowAbs_64f
- // Purpose: Sums absolute values of vector elements.
- //
- // Parameters:
- // pSrc Pointer to the source vector [len].
- // pSum Pointer to the value of the computed sum.
- // len The number of elements in the source vector pSrc.
- //
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pSum pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0.
- //
- */
- IPPAPI(IppStatus, ippsSumRowAbs_64f, (const Ipp64f *pSrc, int len, Ipp64f *pSum))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsSumRowSqr_64f
- // Purpose: Multiplies vector elements by a value and sums
- // their squares.
- //
- // Parameters:
- // pSrcDst Pointer to the source vector [len].
- // len The number of elements in the source vector pSrcDst.
- // pSum Pointer to the value of the computed sum.
- // val The multiplier factor.
- //
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrcDst or pSum
- // pointer is null.
- // ippStsSizeErr Indicates an error when lenis less than or equal to 0.
- //
- */
- IPPAPI(IppStatus, ippsSumRowSqr_64f, (Ipp64f *pSrcDst,
- int len, Ipp64f *pSum, const Ipp64f val))
- /*///////////////////////////////////////////////////////////////////////////////
- // Name: ippsSVD__*, ippsSVDSort__*
- // Purpose: Performs Single Value Decomposition on a matrix.
- //
- // Parameters:
- // pSrcA Pointer to the input vector A [height*step].
- // pDstU Ppointer to the output vector U [height*step].
- // pSrcDstA Pointer to the input matrix A and output
- // matrix U [height*step].
- // pDstV Pointer to the output vector V [width*step].
- // mSrcA Pointer to the input matrix A [height][width].
- // mDstU Pointer to the output matrix U [height][width].
- // mSrcDstA Pointer to the input matrix A and output
- // matrix U [height][width].
- // pDstW Pointer to the output vector W [width].
- // mDstV Pointer to the output matrix V [width][width].
- // height Number of rows in the input matrix.
- // width Number of columns in the input matrix.
- // step Row step in pSrcA, pSrcDstA, and pDstV.
- // nIter Number of iteration for diagonalization.
- //
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrcA, pSrcDstA, pDstV, mSrcA,
- // mDstU, mSrcDstA, pDstW or mDstV pointer is null.
- // ippStsSizeErr Indicates an error when heigh, width, step or nIter is less
- // than or equal to 0 or width is greater than step;
- // ippStsSVDCnvg Indicates an error when SVD algorithm was not converged for
- // nIter iterations.
- //
- */
- IPPAPI(IppStatus, ippsSVD_64f_D2,(const Ipp64f* pSrcA, Ipp64f* pDstU, int height,
- Ipp64f* pDstW, Ipp64f* pDstV, int width, int step, int nIter))
- IPPAPI(IppStatus, ippsSVD_64f_D2_I,(Ipp64f* pSrcDstA, int height, Ipp64f* pDstW,
- Ipp64f* pDstV, int width, int step, int nIter))
- IPPAPI(IppStatus, ippsSVD_64f_D2L,(const Ipp64f** mSrcA, Ipp64f** mDstU, int height,
- Ipp64f* pDstW, Ipp64f** mDstV, int width, int nIter))
- IPPAPI(IppStatus, ippsSVD_64f_D2L_I,(Ipp64f** mSrcDstA, int height, Ipp64f* pDstW,
- Ipp64f** mDstV, int width, int nIter))
- IPPAPI(IppStatus, ippsSVDSort_64f_D2,(const Ipp64f* pSrcA, Ipp64f* pDstU, int height,
- Ipp64f* pDstW, Ipp64f* pDstV, int width, int step, int nIter))
- IPPAPI(IppStatus, ippsSVDSort_64f_D2_I,(Ipp64f* pSrcDstA, int height, Ipp64f* pDstW,
- Ipp64f* pDstV, int width, int step, int nIter))
- IPPAPI(IppStatus, ippsSVDSort_64f_D2L,(const Ipp64f** mSrcA, Ipp64f** mDstU, int height,
- Ipp64f* pDstW, Ipp64f** mDstV, int width, int nIter))
- IPPAPI(IppStatus, ippsSVDSort_64f_D2L_I,(Ipp64f** mSrcDstA, int height, Ipp64f* pDstW,
- Ipp64f** mDstV, int width, int nIter))
- /*///////////////////////////////////////////////////////////////////////////////
- // Name: ippsWeightedSum_*
- // Purpose: Calculates the weighted sums of two input vector elements.
- // Parameters:
- // pSrc1 Pointer to the first input vector [len].
- // pSrc2 Pointer to the second input vector [len].
- // pDst Pointer to the output vector [len]
- // len The length of the input an output vectors.
- // weight1 The first weight value.
- // weight2 The second weight value.
- //
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc1, pSrc2 or pDst
- // pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0
- // ippStsDivByZero Indicates a warning for zero-valued divisor vector
- // element. Operation execution is not aborted. The value of
- // the destination vector element in the floating-point operations:
- // NaN For zero-valued dividend vector element.
- // +Inf For positive dividend vector element.
- // -Inf For negative dividend vector element.
- //
- */
- IPPAPI(IppStatus, ippsWeightedSum_16s, (const Ipp16s* pSrc1,
- const Ipp16s* pSrc2, Ipp16s* pDst, int len, Ipp32f weight1,
- Ipp32f weight2))
- IPPAPI(IppStatus, ippsWeightedSum_32f, (const Ipp32f* pSrc1,
- const Ipp32f* pSrc2, Ipp32f* pDst, int len, Ipp32f weight1,
- Ipp32f weight2))
- IPPAPI(IppStatus, ippsWeightedSum_64f, (const Ipp64f* pSrc1,
- const Ipp64f* pSrc2, Ipp64f* pDst, int len, Ipp64f weight1,
- Ipp64f weight2))
- IPPAPI(IppStatus, ippsWeightedSumHalf_32f, (const Ipp32f* pSrc1,
- const Ipp32f* pSrc2, Ipp32f* pDst, int len, Ipp32f weight1,
- Ipp32f weight2))
- IPPAPI(IppStatus, ippsWeightedSumHalf_64f, (const Ipp64f* pSrc1,
- const Ipp64f* pSrc2, Ipp64f* pDst, int len, Ipp64f weight1,
- Ipp64f weight2))
- IPPAPI(IppStatus, ippsWeightedSumHalf_16s, (const Ipp16s* pSrc1,
- const Ipp16s* pSrc2, Ipp16s* pDst, int len, Ipp32f weight1,
- Ipp32f weight2))
- /* /////////////////////////////////////////////////////////////////////////////
- // Vector Quantization
- ///////////////////////////////////////////////////////////////////////////// */
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsFormVector_*
- // Purpose: Composes a vector from four element chunks.
- // Parameters:
- // pInd Pointer to the input vector of codebook indexes [nStream].
- // mSrc Pointer to the vector of pointers to source lookup
- // tables [nStream].
- // pHeights Pointer to the vector of codebook lengths [nStream].
- // pWidths Pointer to the vector of codebook entry lengths [nStream].
- // pSteps Pointer to the vector of codebook row pSteps [nStream].
- // nStream The number of codebooks.
- // pDst Pointer to the output vector [len].
- // len The length of the output vector.
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the the pInd, mSrc, pHeights,
- // pWidths, pSteps, pDst or mSrc[k].
- // ippStsSizeErr Indicates an error when len , nStream, pHeights[k],
- // pWidths[k] or pSteps[k] is less than or equal to 0 .
- */
- IPPAPI(IppStatus, ippsFormVector_4i_8u16s, (const Ipp8u* pInd,
- const Ipp16s** mSrc, const Ipp32s* pHeights, Ipp16s* pDst, int len))
- IPPAPI(IppStatus, ippsFormVector_4i_16s16s, (const Ipp16s* pInd,
- const Ipp16s** mSrc, const Ipp32s* pHeights, Ipp16s* pDst, int len))
- IPPAPI(IppStatus, ippsFormVector_4i_8u32f, (const Ipp8u* pInd,
- const Ipp32f** mSrc, const Ipp32s* pHeights, Ipp32f* pDst, int len))
- IPPAPI(IppStatus, ippsFormVector_4i_16s32f, (const Ipp16s* pInd,
- const Ipp32f** mSrc, const Ipp32s* pHeights, Ipp32f* pDst, int len))
- IPPAPI(IppStatus, ippsFormVector_2i_8u16s, (const Ipp8u* pInd,
- const Ipp16s** mSrc, const Ipp32s* pHeights, Ipp16s* pDst, int len))
- IPPAPI(IppStatus, ippsFormVector_2i_16s16s, (const Ipp16s* pInd,
- const Ipp16s** mSrc, const Ipp32s* pHeights, Ipp16s* pDst, int len))
- IPPAPI(IppStatus, ippsFormVector_2i_8u32f, (const Ipp8u* pInd,
- const Ipp32f** mSrc, const Ipp32s* pHeights, Ipp32f* pDst, int len))
- IPPAPI(IppStatus, ippsFormVector_2i_16s32f, (const Ipp16s* pInd,
- const Ipp32f** mSrc, const Ipp32s* pHeights, Ipp32f* pDst, int len))
- IPPAPI(IppStatus, ippsFormVector_8u16s, (const Ipp8u* pInd,
- const Ipp16s** mSrc, const Ipp32s* pHeights, const Ipp32s* pWidths,
- const Ipp32s* pSteps, int nStream, Ipp16s* pDst))
- IPPAPI(IppStatus, ippsFormVector_16s16s, (const Ipp16s* pInd,
- const Ipp16s** mSrc, const Ipp32s* pHeights, const Ipp32s* pWidths,
- const Ipp32s* pSteps, int nStream, Ipp16s* pDst))
- IPPAPI(IppStatus, ippsFormVector_8u32f, (const Ipp8u* pInd,
- const Ipp32f** mSrc, const Ipp32s* pHeights, const Ipp32s* pWidths,
- const Ipp32s* pSteps, int nStream, Ipp32f * pDst))
- IPPAPI(IppStatus, ippsFormVector_16s32f, (const Ipp16s* pInd,
- const Ipp32f** mSrc, const Ipp32s* pHeights, const Ipp32s* pWidths,
- const Ipp32s* pSteps, int nStream, Ipp32f * pDst))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsCdbkInitAlloc_L2_*
- // Purpose: Initializes the codebook structure.
- //
- // Parameters:
- // pCdbk Pointer to the codebook structure to be created.
- // pSrc Pointer to the source vector [height*step].
- // width Length of input vectors.
- // step Row step in pSrc.
- // height Number of rows in pSrc.
- // cdbkSize Required number of codevectors.
- // hint One of the following values:
- // IPP_CDBK_FULL The source data are treated as a codebook,
- // height should be greater or equal to
- // nCluster. The nearest codebook entry is
- // found by a full search.
- // IPP_CDBK_KMEANS_LONG LBG algorithm with splitting of the
- // most extensional cluster is used for
- // the codebook building. The nearest
- // codebook entry is located through
- // a logarithmical search.
- // IPP_CDBK_KMEANS_NUM LBG algorithm with splitting of
- // the most numerous clusters is used for
- // the codebook building. The nearest
- // codebook entry is located through
- // a logarithmical search.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc pointer is null.
- // ippStsSizeErr Indicates an error when width, step, or cdbkSize
- // is less than or equal to 0;
- // or cdbkSizeis greater than height;
- // or width is greater than step;
- // or cdbkSize is greater than 16383;
- // or hintis equal to IPP_CDBK_FULL and cdbkSizeis not equal
- // to height.
- // ippStsCdbkFlagErr
- // Indicates an error when the hint value is incorrect.
- // ippStsMemAllocErr Indicates an error when no memory allocated.
- //
- */
- IPPAPI(IppStatus, ippsCdbkInitAlloc_L2_16s,(IppsCdbkState_16s** pCdbk,
- const Ipp16s* pSrc, int width, int step, int height, int nCluster,
- Ipp_Cdbk_Hint hint))
- IPPAPI(IppStatus, ippsCdbkInitAlloc_L2_32f,(IppsCdbkState_32f** pCdbk,
- const Ipp32f* pSrc, int width, int step, int height, int nCluster,
- Ipp_Cdbk_Hint hint))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsCdbkInitAlloc_WgtL2_*
- // Purpose: Initializes the structure that contains the codebook
- // and additional information to be used for fast search.
- //
- // Parameters:
- // pCdbk Pointer to the codebook structure to be created.
- // pSrc Pointer to the source vector [height*step].
- // pWgt Pointer to the weights vector [width].
- // width Length of input vectors.
- // step Row step in pSrc.
- // height Number of rows in pSrc.
- // cdbkSize Required number of codevectors.
- // hint One of the following values:
- // IPP_CDBK_FULL The source data are treated as a codebook, height should
- // be greater or equal to nCluster. The nearest codebook
- // entry is found by a full search.
- //
- // IPP_CDBK_LBG_LONG
- // LBG algorithm with splitting of the most extensious
- // cluster is used for the codebook building. The nearest
- // codebook entry is found by a logarithmical search.
- //
- // IPP_CDBK_LBG_NUM LBG algorithm with splitting of the most numerous
- // clusters is used for the codebook building. The nearest
- // codebook entry is found by a logarithmical search
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc pointer is null.
- // ippStsSizeErr Indicates an error when width, step, height or cdbkSize
- // is less than or equal to 0 or width is greater than step
- // or cdbkSize is greater than 16383;
- // ippStsCdbkFlagErr
- // Indicates an error when the hint value is incorrect.
- // ippStsMemAllocErr Indicates an error when no memory allocated.
- // Notes:
- */
- IPPAPI(IppStatus, ippsCdbkInitAlloc_WgtL2_32f,(IppsCdbkState_32f** pCdbk, const Ipp32f* pSrc,
- const Ipp32f* pWgt, int width, int step, int height, int cdbkSize, Ipp_Cdbk_Hint hint))
- IPPAPI(IppStatus, ippsCdbkInitAlloc_WgtL2_16s,(IppsCdbkState_16s** pCdbk, const Ipp16s* pSrc,
- const Ipp16s* pWgt, int width, int step, int height, int cdbkSize, Ipp_Cdbk_Hint hint))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsCdbkFree_*
- // Purpose: Destroys the codebook structure a
- //
- // Parameters:
- // pCdbk Pointer to the codebook structure.
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pCdbk pointer is null.
- //
- */
- IPPAPI(IppStatus, ippsCdbkFree_16s,(IppsCdbkState_16s* pCdbk))
- IPPAPI(IppStatus, ippsCdbkFree_32f,(IppsCdbkState_32f* pCdbk))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsGetCdbkSize_*
- // Purpose: Retrieves the number of codevectors in the codebook.
- //
- // Parameters:
- // pCdbk Pointer to the codebook structure.
- // pNum Pointer to the result number of codevectors.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pCdbk or pNum pointer is null.
- //
- */
- IPPAPI(IppStatus, ippsGetCdbkSize_16s,(const IppsCdbkState_16s* pCdbk, int* pNum))
- IPPAPI(IppStatus, ippsGetCdbkSize_32f,(const IppsCdbkState_32f* pCdbk, int* pNum))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsGetCodebook_*
- // Purpose: Retrieves the number of codevectors in the codebook pCdbk.
- //
- // Parameters:
- // pCdbk Pointer to the codebook structure.
- // pDst Pointer to the destination vector for codevectors
- // [pNum[0]* step].
- // step Row step in the destination vector pDst.
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pDst or pNum pointer is null.
- //
- */
- IPPAPI(IppStatus, ippsGetCodebook_16s,(const IppsCdbkState_16s* pCdbk,
- Ipp16s* pDst, int step))
- IPPAPI(IppStatus, ippsGetCodebook_32f,(const IppsCdbkState_32f* pCdbk,
- Ipp32f* pDst, int step))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsVQ_*
- // Purpose: Quantizes the input vectors given a codebook.
- //
- // Parameters:
- // pCdbk Pointer to the codebook structure.
- // pSrc Pointer to the source vector [height*step].
- // step Row step in pSrc.
- // height Number of rows in pSrc.
- // pIndx Pointer to the destination vector of closiest codevector
- // numbers [height].
- // pDist Pointer to the destination vector of distance to for
- // closiest codevector [height].
- // scaleFactor
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pCdbk, pSrc, pIndx or pDist
- // pointer is null.
- // ippStsSizeErr Indicates an error when step is less than or equal to 0 or
- // is step is less than width.
- // ippStsSizeErr Indicates an error when width, step, height is less than
- // or equal to 0 or width is greater than step;
- //
- */
- IPPAPI(IppStatus, ippsVQ_16s,(const Ipp16s* pSrc, int step, Ipp32s* pIndx,
- int height, const IppsCdbkState_16s* pCdbk))
- IPPAPI(IppStatus, ippsVQ_32f,(const Ipp32f* pSrc, int step, Ipp32s* pIndx,
- int height, const IppsCdbkState_32f* pCdbk))
- IPPAPI(IppStatus, ippsVQDist_16s32s_Sfs,(const Ipp16s* pSrc, int step,
- Ipp32s* pIndx, Ipp32s* pDist, int height, const IppsCdbkState_16s* pCdbk,
- int scaleFactor))
- IPPAPI(IppStatus, ippsVQDist_32f,(const Ipp32f* pSrc, int step, Ipp32s* pIndx,
- Ipp32f* pDist, int height, const IppsCdbkState_32f* pCdbk))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsSplitVQ_*
- // Purpose: Quantizes a multiple-stream vector given the codebooks.
- //
- // Parameters:
- // pCdbks Pointer to the vector of pointers to codebook
- // structure [nStream].
- // pSrc Pointer to the source vector [height*srcStep].
- // pDst Pointer to the destination vector [height*dstStep].
- // srcStep Row step in pSrc.
- // dstStep Row step in pDst.
- // dstBitStep Row step in pDst in bits
- // height Number of rows in pSrc.
- // nStream Number of chunks in input vectors.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pCdbk, pCdbk[k], pSrc or pDst
- // pointer is null.
- // ippStsSizeErr Indicates an error when srcStep, dstStep, height or
- // nStream is less than or equal to 0 or chunk length sum
- // is greater than srcStep or nStream is greater than
- // dstStep for functions with 16s or 8u output or number of
- // bits to represent output indexes sequence is greater than
- // dstStep for functions with 1u output or codebook size is
- // greater than 256 for functions with 8u output.
- //
- */
- IPPAPI(IppStatus, ippsSplitVQ_16s16s,(const Ipp16s* pSrc, int srcStep, Ipp16s* pDst,
- int dstStep, int height,const IppsCdbkState_16s** pCdbks, int nStream))
- IPPAPI(IppStatus, ippsSplitVQ_16s8u,(const Ipp16s* pSrc, int srcStep, Ipp8u* pDst,
- int dstStep, int height,const IppsCdbkState_16s** pCdbks, int nStream))
- IPPAPI(IppStatus, ippsSplitVQ_16s1u,(const Ipp16s* pSrc, int srcStep, Ipp8u* pDst,
- int dstBitStep, int height,const IppsCdbkState_16s** pCdbks, int nStream))
- IPPAPI(IppStatus, ippsSplitVQ_32f16s,(const Ipp32f* pSrc, int srcStep, Ipp16s* pDst,
- int dstStep, int height,const IppsCdbkState_32f** pCdbks, int nStream))
- IPPAPI(IppStatus, ippsSplitVQ_32f8u,(const Ipp32f* pSrc, int srcStep, Ipp8u* pDst,
- int dstStep, int height,const IppsCdbkState_32f** pCdbks, int nStream))
- IPPAPI(IppStatus, ippsSplitVQ_32f1u,(const Ipp32f* pSrc, int srcStep, Ipp8u* pDst,
- int dstBitStep, int height,const IppsCdbkState_32f** pCdbks, int nStream))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsFormVectorVQ_*
- // Purpose: Constructs multiple-stream vectors from codebooks,
- // given indexes.
- //
- // Parameters:
- // pCdbks Pointer to the vector of pointers to codebook
- // structure [nStream].
- // pSrc Pointer to the source vector [height*srcStep].
- // pDst Pointer to the destination vector [height*dstStep].
- // srcStep Row step in pSrc.
- // dstStep Row step in pDst.
- // srcBitStep Row step in pSrc in bits
- // height Number of rows in pSrc.
- // nStream Number of chunks in input vectors.
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pCdbk, pCdbk[k], pSrc or pDst
- // pointer is null.
- // ippStsSizeErr Indicates an error when srcStep, dstStep, height or
- // nStream is less than or equal to 0 or codevector length
- // sum is greater than dstStep or nStream is greater than
- // srcStep for functions with 16s or 8u output or number of bits
- // to represent output indexes sequence is greater than srcStep
- // for functions with 1u output.
- // Notes:
- */
- IPPAPI(IppStatus, ippsFormVectorVQ_16s16s,(const Ipp16s* pSrc, int srcStep, Ipp16s* pDst,
- int dstStep, int height, const IppsCdbkState_16s** pCdbks, int nStream))
- IPPAPI(IppStatus, ippsFormVectorVQ_8u16s,(const Ipp8u* pSrc, int srcStep, Ipp16s* pDst,
- int dstStep, int height, const IppsCdbkState_16s** pCdbks, int nStream))
- IPPAPI(IppStatus, ippsFormVectorVQ_1u16s,(const Ipp8u* pSrc, int srcBitStep, Ipp16s* pDst,
- int dstStep, int height, const IppsCdbkState_16s** pCdbks, int nStream))
- IPPAPI(IppStatus, ippsFormVectorVQ_16s32f,(const Ipp16s* pSrc, int srcStep, Ipp32f* pDst,
- int dstStep, int height, const IppsCdbkState_32f** pCdbks, int nStream))
- IPPAPI(IppStatus, ippsFormVectorVQ_8u32f,(const Ipp8u* pSrc, int srcStep, Ipp32f* pDst,
- int dstStep, int height, const IppsCdbkState_32f** pCdbks, int nStream))
- IPPAPI(IppStatus, ippsFormVectorVQ_1u32f,(const Ipp8u* pSrc, int srcBitStep, Ipp32f* pDst,
- int dstStep, int height, const IppsCdbkState_32f** pCdbks, int nStream))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: IppStatus ippsCdbkInit_L2_*
- //
- // Description: Initializes the structure that contains the codebook
- //
- //
- // Input Arguments: pCdbk Pointer to the codebook structure to be initialized.
- // pSrc Pointer to the source vector [height*step].
- // width Length of input vectors.
- // step Row step in pSrc.
- // height Number of rows in pSrc.
- // nCluster Required number of codevectors.
- // hint One of the following values:
- // IPP_CDBK_FULL The source data are treated as a
- // codebook, height should be greater or equal to
- // nCluster. The nearest codebook entry is found by
- // a full search.
- // IPP_CDBK_LBG_LONG Not supported
- // IPP_CDBK_LBG_NUM Not supported
- //
- //
- // Returns: ippStsNoErr - No Error.
- // ippStsSizeErr - Bad Arguments.
- // ippStsCdbkFlagErr - Hint not supported
- //
- // Notes: The primitive does not support tree-based codebook
- */
- IPPAPI(IppStatus, ippsCdbkInit_L2_16s,(IppsCdbkState_16s* pCdbk,
- const Ipp16s* pSrc,
- int width,
- int step,
- int height,
- int nCluster,
- Ipp_Cdbk_Hint hint))
- IPPAPI(IppStatus, ippsCdbkInit_L2_32f,(IppsCdbkState_32f* pCdbk,
- const Ipp32f* pSrc,
- int width,
- int step,
- int height,
- int nCluster,
- Ipp_Cdbk_Hint hint))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: IppStatus ippsCdbkGetSize_*
- //
- // Description: Computes the size in bytes required for the codebook table
- //
- //
- // Input Arguments: width Length of input vectors.
- // step Row step in pSrc.
- // nCluster Required number of codevectors.
- // hint One of the following values:
- // IPP_CDBK_FULL The source data are treated as a
- // codebook, height should be greater or equal to
- // nCluster. The nearest codebook entry is found by
- // a full search.
- // IPP_CDBK_LBG_LONG Not supported
- // IPP_CDBK_LBG_NUM Not supported
- //
- //
- // Returns: ippStsNoErr - No Error.
- // ippStsNullPtrErr - Indicates an error when pSize pointer is null.
- // ippStsSizeErr - Indicates an error when width, step, height, or cdbkSize is less than
- // or equal to 0; or width is greater than step; or cdbkSize is greater than 16383; or height is not equal to cdbkSize.
- // ippStsCdbkFlagErr - Indicates an error when the hint value is incorrect or not supported.
- //
- //
- // Notes:
- */
- IPPAPI(IppStatus, ippsCdbkGetSize_16s,(int width,
- int step,
- int height,
- int nCluster,
- Ipp_Cdbk_Hint hint,
- int* pSize))
- IPPAPI(IppStatus, ippsCdbkGetSize_32f,(int width,
- int step,
- int height,
- int nCluster,
- Ipp_Cdbk_Hint hint,
- int* pSize))
- /* /////////////////////////////////////////////////////////////////////////////
- // TTS Arithmetic
- ///////////////////////////////////////////////////////////////////////////// */
- /*/////////////////////////////////////////////////////////////////////////////
- // Name: ippsReflectionToAbsTilt_* / ippsReflectionToTilt_*
- // Purpose: Calculates tilt for rise/fall/connection parameters.
- //
- // Parameters:
- // pSrc1 Pointer to the first input vector [len].
- // pSrc2 Pointer to the second input vector [len].
- // pDst Pointer to the destination vector [len].
- // len Length of the input and output vectors.
- //
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc1, pSrc2 or pDst
- // pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0.
- // ippStsDivByZero Indicates a warning for zero-valued divisor vector
- // element. Operation execution is not aborted. The value of
- // the destination vector element in the floating-point
- // operations:
- // NaN For zero-valued dividend vector element.
- // +Inf For positive dividend vector element.
- // -Inf For negative dividend vector
- // The value of the destination vector element in the
- // integer operations:
- // IPP_MAX_16S For positive dividend vector element.
- // IPP_MIN_16S For negative dividend vector
- // Notes:
- // The function ippsReflectionToAbsTilt converts rise and fall
- // coefficients to absolute tilt.
- // The function ippsReflectionToTilt converts rise and fall
- // coefficients to tilt.
- */
- IPPAPI(IppStatus, ippsReflectionToAbsTilt_16s_Sfs, (const Ipp16s* pSrc1,
- const Ipp16s* pSrc2, Ipp16s* pDst, int len, int scaleFactor))
- IPPAPI(IppStatus, ippsReflectionToAbsTilt_32f, (const Ipp32f* pSrc1,
- const Ipp32f* pSrc2, Ipp32f* pDst, int len))
- IPPAPI(IppStatus, ippsReflectionToTilt_16s_Sfs, (const Ipp16s* pSrc1,
- const Ipp16s* pSrc2, Ipp16s* pDst, int len, int scaleFactor))
- IPPAPI(IppStatus, ippsReflectionToTilt_32f, (const Ipp32f* pSrc1,
- const Ipp32f* pSrc2, Ipp32f* pDst, int len))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLogGaussSingle_*
- // Purpose: Calculates the observation probability for a
- // single Gaussian with an observation vector.
- //
- // Parameters:
- // pSrc Pointer to the input vector [len].
- // pMean Pointer to the mean vector [len].
- // pVar Pointer to the variance vector [len].
- // pBlockVar Pointer to the block diagonal variance matrix.
- // len Number of elements in the input, mean, and variance
- // vectors.
- // pResult Pointer to the result value.
- // val Gaussian constant.
- // scaleFactor
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, pMean, pVar, or
- // pResult or pBlockVar pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0.
- //
- */
- /*
- //Case 1: Operation for the inverse diagonal covariance matrix
- */
- IPPAPI(IppStatus, ippsLogGaussSingle_Low_16s32s_Sfs,(const Ipp16s* pSrc,
- const Ipp16s* pMean, const Ipp16s* pVar, int len, Ipp32s* pResult,
- Ipp32s val, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussSingle_LowScaled_16s32f,(const Ipp16s* pSrc, const Ipp16s* pMean,
- const Ipp16s* pVar, int len, Ipp32f* pResult, Ipp32f val, int scaleFactor))
- /*
- //Case 3: Operation for the identity covariance matrix
- */
- IPPAPI(IppStatus, ippsLogGaussSingle_IdVarLow_16s32s_Sfs,(const Ipp16s* pSrc,
- const Ipp16s* pMean, int len, Ipp32s* pResult, Ipp32s val, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussSingle_IdVarLowScaled_16s32f,(const Ipp16s* pSrc,
- const Ipp16s* pMean, int len, Ipp32f* pResult, Ipp32f val, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLogGauss_*
- // Purpose: Calculates the observation probability for a single
- // Gaussian with multiple observation vectors.
- // Parameters:
- // pSrc Pointer to the input vector [height*step].
- // mSrc Pointer to the input matrix [height][ width].
- // step The row step in pSrc.
- // pMean Pointer to the mean vector [width].
- // pVar Pointer to the variance vector [width].
- // width Length of the mean and variance vectors.
- // pDst Pointer to the result value [height].
- // pSrcDst Pointer to the input and output vector [height].
- // height The number of rows in the input matrix and the length of
- // the result vector pDst.
- // val Gaussian constant.
- // scaleFactor
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, pMean, pVar,
- // pDst,or mSrc pointer is null.
- // ippStsSizeErr Indicates an error when height or width is less than or
- // equal to 0.
- // ippStsStrideErr Indicates an error when width > step.
- //
- */
- /*
- //Case 1: Operation for the inverse diagonal covariance matrix
- */
- IPPAPI(IppStatus, ippsLogGauss_Low_16s32s_D2Sfs, (const Ipp16s* pSrc, int step,
- const Ipp16s* pMean, const Ipp16s* pVar, int width, Ipp32s* pDst,
- int height, Ipp32s val, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGauss_Low_16s32s_D2LSfs, (const Ipp16s** mSrc,
- const Ipp16s* pMean, const Ipp16s* pVar, int width, Ipp32s* pDst,
- int height, Ipp32s val, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGauss_LowScaled_16s32f_D2, (const Ipp16s* pSrc, int step,
- const Ipp16s* pMean, const Ipp16s* pVar, int width, Ipp32f* pDst,
- int height, Ipp32f val, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGauss_LowScaled_16s32f_D2L, (const Ipp16s** mSrc,
- const Ipp16s* pMean, const Ipp16s* pVar, int width, Ipp32f* pDst,
- int height, Ipp32f val, int scaleFactor))
- /*
- //Case 2: Operation for the identity covariance matrix
- */
- IPPAPI(IppStatus, ippsLogGauss_IdVarLow_16s32s_D2Sfs,(const Ipp16s* pSrc,
- int step, const Ipp16s* pMean, int width, Ipp32s* pDst, int height,
- Ipp32s val,int scaleFactor))
- IPPAPI(IppStatus, ippsLogGauss_IdVarLowScaled_16s32f_D2,(const Ipp16s* pSrc,
- int step, const Ipp16s* pMean, int width, Ipp32f* pDst, int height,
- Ipp32f val,int scaleFactor))
- IPPAPI(IppStatus, ippsLogGauss_IdVarLow_16s32s_D2LSfs,(const Ipp16s** mSrc,
- const Ipp16s* pMean, int width, Ipp32s* pDst, int height, Ipp32s val,
- int scaleFactor))
- IPPAPI(IppStatus, ippsLogGauss_IdVarLowScaled_16s32f_D2L,(const Ipp16s** mSrc,
- const Ipp16s* pMean, int width, Ipp32f* pDst, int height, Ipp32f val,
- int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLogGaussMultiMix_*
- // Purpose: Calculates the observation probability for
- // multiple Gaussian mixture components.
- //
- // Parameters:
- // pMean Pointer to the variance vector [height*step].
- // mMean Pointer to the mean matrix [height][width].
- // mVar Pointer to the variance matrix [height][width].
- // pSrcDst Pointer to the input additive values and
- // the result vector [height].
- // step The row step in pMean.
- // pSrc Pointer to the input vector [width].
- // height The number of rows in input matrices and the length of
- // the result vector pSrcDst.
- // width The length of the input matrices row and the vector pSrc.
- // scaleFactor
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, pMean, pVar,
- // pSrcDst, mMean, or mVar pointer is null.
- // ippStsSizeErr Indicates an error when heightor width is less than or
- // equal to 0.
- // ippStsStrideErr Indicates an error when width > step.
- //
- */
- IPPAPI(IppStatus, ippsLogGaussMultiMix_Low_16s32s_D2Sfs, (const Ipp16s* pMean,
- const Ipp16s* pVar, int step, const Ipp16s* pSrc, int width,
- Ipp32s* pSrcDst, int height, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMultiMix_Low_16s32s_D2LSfs, (const Ipp16s** mMean,
- const Ipp16s** mVar, const Ipp16s* pSrc, int width, Ipp32s* pSrcDst,
- int height, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMultiMix_LowScaled_16s32f_D2, (const Ipp16s* pMean,
- const Ipp16s* pVar, int step, const Ipp16s* pSrc, int width,
- Ipp32f* pSrcDst, int height, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMultiMix_LowScaled_16s32f_D2L, (const Ipp16s** mMean,
- const Ipp16s** mVar, const Ipp16s* pSrc, int width, Ipp32f* pSrcDst,
- int height, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLogGaussMax_*_D2
- // Purpose: Computes maximum value of a vector dst and
- // logarithms of the Gaussian probability distribution function.
- // Parameters:
- // pSrc Pointer to the input vector [height*step].
- // step The row step in pSrc.
- // pMean Pointer to the mean vector [width].
- // pVar Pointer to the variance vector [width].
- // width The length of the input matrix row, mean,
- // and variance vectors.
- // pSrcDst Pointer to the input and output vector [height].
- // height The number of rows in the input matrix and the length of
- // the result vector pDst.
- // val The value to add to each distance.
- // scaleFactor
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, pMean, pVar,
- // pSrcDst pointer is null.
- // ippStsSizeErr Indicates an error when height or width is less than or
- // equal to 0.
- // ippStsStrideErr Indicates an error when width > step.
- //
- */
- /*
- //Case 1: Operation for the inverse diagonal covariance matrix
- */
- IPPAPI(IppStatus, ippsLogGaussMax_Low_16s32s_D2Sfs, (const Ipp16s* pSrc,
- int step, const Ipp16s* pMean, const Ipp16s* pVar, int width,
- Ipp32s* pSrcDst, int height, Ipp32s val, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMax_Low_16s32s_D2LSfs, (const Ipp16s** mSrc,
- const Ipp16s* pMean, const Ipp16s* pVar, int width, Ipp32s* pDst,
- int height, Ipp32s val, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMax_LowScaled_16s32f_D2, (const Ipp16s* pSrc, int step,
- const Ipp16s* pMean, const Ipp16s* pVar, int width,
- Ipp32f* pSrcDst, int height, Ipp32f val, int scaleFacto))
- IPPAPI(IppStatus, ippsLogGaussMax_LowScaled_16s32f_D2L, (const Ipp16s** mSrc,
- const Ipp16s* pMean, const Ipp16s* pVar, int width, Ipp32f* pDst,
- int height, Ipp32f val, int scaleFacto))
- /*
- //Case 2: Operation for the identity covariance matrix
- */
- IPPAPI(IppStatus, ippsLogGaussMax_IdVarLow_16s32s_D2Sfs, (const Ipp16s* pSrc,
- int step, const Ipp16s* pMean, int width, Ipp32s* pSrcDst,
- int height, Ipp32s val, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMax_IdVarLow_16s32s_D2LSfs, (const Ipp16s** mSrc,
- const Ipp16s* pMean, int width, Ipp32s* pSrcDst, int height,
- Ipp32s val, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMax_IdVarLowScaled_16s32f_D2, (const Ipp16s* pSrc,
- int step, const Ipp16s* pMean, int width, Ipp32f* pSrcDst,
- int height, Ipp32f val, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMax_IdVarLowScaled_16s32f_D2L, (const Ipp16s** mSrc,
- const Ipp16s* pMean, int width, Ipp32f* pSrcDst, int height,
- Ipp32f val, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLogGaussMaxMultiMix_*_*
- // Purpose: Computes the maximum of the Gaussian probability
- // distribution function.
- // Parameters:
- // pMean Pointer to the mean vector of length [height*step].
- // pVar Pointer to the variance vector of length [height*step].
- // mMean Pointer to the mean matrix of size [height][width].
- // mVar Pointer to the mean matrix of size [height][width].
- // pVal Pointer to the input vector of Maxitive values [height].
- // pSrcDst Pointer to the input and output vector of length [height].
- // step Row step in pMean and pVar.
- // pSrc Pointer to theinput vector of length[width].
- // height Number of rows in input matrices and the length of
- // the result vector pSrcDst.
- // width Length of the input matrices row and the vector pSrc.
- // scaleFactor
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, pMean, pVar,
- // pSrcDst or mMean or mVar or pVal pointer is null.
- // ippStsSizeErr Indicates an error when height or width is less than or
- // equal to 0.
- // ippStsStrideErr Indicates an error when width > step.
- //
- */
- IPPAPI(IppStatus, ippsLogGaussMaxMultiMix_LowScaled_16s32f_D2, (const Ipp16s* pMean,
- const Ipp16s* pVar, int step, const Ipp16s* pSrc,int width,
- const Ipp32f* pVal, Ipp32f* pSrcDst,int height, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMaxMultiMix_LowScaled_16s32f_D2L, (const Ipp16s** mMean,
- const Ipp16s** mVar, const Ipp16s* pSrc, int width, const Ipp32f* pVal,
- Ipp32f* pSrcDst,int height, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMaxMultiMix_Low_16s32s_D2Sfs, (const Ipp16s* pMean,
- const Ipp16s* pVar, int step, const Ipp16s* pSrc, int width,
- const Ipp32s* pVal, Ipp32s* pSrcDst,int height, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMaxMultiMix_Low_16s32s_D2LSfs, (const Ipp16s** mMean,
- const Ipp16s** mVar, const Ipp16s* pSrc, int width, const Ipp32s* pVal,
- Ipp32s* pSrcDst,int height, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLogGaussAdd_32f_D2
- // Purpose: Calculates the likelihood probability for multiple
- // observation vectors.
- //
- // Parameters:
- // pSrc Pointer to the first input vector of length [width*height]
- // step Row step in pSrc.
- // pMean Pointer to the mean vector of length [width]
- // pVar Pointer to the variance vector of length [width]
- // width Length of the mean, and variance vectors.
- // pSrcDst Pointer to input vector and output vector [height]
- // height Length of the input and output vector pSrcDst
- // val Value to add to each distance.
- //
- // Returns:
- // ippStsNoErr Indicates no error
- // ippStsNullPtrErr Indicates an error when the pSrc, pMean,pVar,
- // pSrcDst pointer is null.
- // ippStsSizeErr Indicates an error when width or height
- // is less than or equal to 0.
- // ippStsStrideErr Indicates an error when width > step.
- */
- /*
- //Case 1: Operation for the inverse diagonal covariance matrix
- */
- IPPAPI(IppStatus, ippsLogGaussAdd_LowScaled_16s32f_D2,(const Ipp16s* pSrc, int step,
- const Ipp16s* pMean, const Ipp16s* pVar, int width,
- Ipp32f* pSrcDst, int height, Ipp32f val, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussAdd_LowScaled_16s32f_D2L, (const Ipp16s** mSrc,
- const Ipp16s* pMean, const Ipp16s* pVar, int width, Ipp32f* pSrcDst,
- int height, Ipp32f val, int scaleFactor))
- /*
- //Case 2: Operation for the identity covariance matrix
- */
- IPPAPI(IppStatus, ippsLogGaussAdd_IdVarLowScaled_16s32f_D2,(const Ipp16s* pSrc,
- int step, const Ipp16s* pMean, int width, Ipp32f* pSrcDst,
- int height, Ipp32f val, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussAdd_IdVarLowScaled_16s32f_D2L,(const Ipp16s** mSrc,
- const Ipp16s* pMean, int width, Ipp32f* pSrcDst, int height, Ipp32f val,
- int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLogGaussAddMultiMix_*_*
- // Purpose: Calculates the likelihood probability for multiple
- // Gaussian mixture components.
- //
- // Parameters:
- // pMean Pointer to the variance vector [height*step].
- // mMean Pointer to the mean matrix [height][width].
- // pVal Pointer to the input vector of additive values [height].
- // mVar Pointer to the variance matrix [height][width].
- // pSrcDst Pointer to the input and output vector of length [height].
- // step The row step in pMean.
- // pSrc Pointer to the input vector [width].
- // height The number of rows in input matrices and the length of
- // the result vector pSrcDst.
- // width The length of the input matrices row and the vector pSrc.
- // scaleFactor
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, pMean, pVar,
- // pSrcDst, mMean, or mVar pointer is null.
- // ippStsSizeErr Indicates an error when heightor width is less than or
- // equal to 0.
- // ippStsStrideErr Indicates an error when width > step.
- //
- */
- IPPAPI(IppStatus, ippsLogGaussAddMultiMix_LowScaled_16s32f_D2, (const Ipp16s* pMean,
- const Ipp16s* pVar, int step, const Ipp16s* pSrc, int width,
- const Ipp32f* pVal, Ipp32f* pSrcDst, int height, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussAddMultiMix_LowScaled_16s32f_D2L, (const Ipp16s** mMean,
- const Ipp16s** mVar, const Ipp16s* pSrc, int width, const Ipp32f* pVal,
- Ipp32f* pSrcDst, int height, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: LogGaussMixture_*
- // Purpose: Calculates the likelihood probability for the Gaussian mixture
- //
- // Parameters:
- // pMean Pointer to the variance vector [height*step].
- // mMean Pointer to the mean matrix [height][width].
- // pVar Pointer to the variance vector [height*step].
- // mVar Pointer to the variance matrix [height][width].
- // pVal Pointer to the weight constant vector [height]..
- // pSrc Pointer to the input vector [width].
- // pResult Pointer to the output mixture value.
- // step The row step in pMean and pVar.
- // height Number of Gaussian mixture components.
- // width Length of the mean and variance matrices rows and pSrc vector.
- // scaleFactor
- //
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the mMean, mVar, pMean, pVar, pVal or
- // pResult pointer is null.
- // ippStsSizeErr Indicates an error when height, step or width is less than or
- // equal to 0.
- // ippStsStrideErr Indicates an error when width > step.
- //
- */
- /*
- //Case 1: Operation for the inverse diagonal covariance matrix
- */
- IPPAPI(IppStatus, ippsLogGaussMixture_Scaled_16s32f_D2,(const Ipp16s* pSrc, const Ipp16s* pMean,
- const Ipp16s* pVar, int height, int step, int width, const Ipp32f* pVal,
- Ipp32f* pResult, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMixture_Scaled_16s32f_D2L,(const Ipp16s* pSrc, const Ipp16s** mMean,
- const Ipp16s** mVar, int height, int width, const Ipp32f* pVal, Ipp32f* pResult,
- int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMixture_LowScaled_16s32f_D2,(const Ipp16s* pSrc,
- const Ipp16s* pMean, const Ipp16s* pVar, int height, int step, int width,
- const Ipp32f* pVal, Ipp32f* pResult, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMixture_LowScaled_16s32f_D2L,(const Ipp16s* pSrc,
- const Ipp16s** mMean, const Ipp16s** mVar, int height, int width,
- const Ipp32f* pVal, Ipp32f* pResult, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMixture_32f_D2,(const Ipp32f* pSrc, const Ipp32f* pMean,
- const Ipp32f* pVar, int height, int step, int width, const Ipp32f* pVal,
- Ipp32f* pResult))
- IPPAPI(IppStatus, ippsLogGaussMixture_32f_D2L,(const Ipp32f* pSrc, const Ipp32f** mMean,
- const Ipp32f** mVar, int height, int width, const Ipp32f* pVal, Ipp32f* pResult))
- IPPAPI(IppStatus, ippsLogGaussMixture_64f_D2,(const Ipp64f* pSrc, const Ipp64f* pMean,
- const Ipp64f* pVar, int height, int step, int width, const Ipp64f* pVal,
- Ipp64f* pResult))
- IPPAPI(IppStatus, ippsLogGaussMixture_64f_D2L,(const Ipp64f* pSrc, const Ipp64f** mMean,
- const Ipp64f** mVar, int height, int width, const Ipp64f* pVal, Ipp64f* pResult))
- /*
- //Case 2: Operation for the identity covariance matrix
- */
- IPPAPI(IppStatus, ippsLogGaussMixture_IdVarScaled_16s32f_D2,(const Ipp16s* pSrc,
- const Ipp16s* pMean, int height, int step, int width, const Ipp32f* pVal,
- Ipp32f* pResult, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMixture_IdVarScaled_16s32f_D2L,(const Ipp16s* pSrc,
- const Ipp16s** mMean, int height, int width, const Ipp32f* pVal,
- Ipp32f* pResult, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMixture_IdVarLowScaled_16s32f_D2,(const Ipp16s* pSrc,
- const Ipp16s* pMean, int height, int step, int width, const Ipp32f* pVal,
- Ipp32f* pResult, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMixture_IdVarLowScaled_16s32f_D2L,(const Ipp16s* pSrc,
- const Ipp16s** mMean, int height, int width, const Ipp32f* pVal,
- Ipp32f* pResult, int scaleFactor))
- IPPAPI(IppStatus, ippsLogGaussMixture_IdVar_32f_D2,(const Ipp32f* pSrc,
- const Ipp32f* pMean, int height, int step, int width, const Ipp32f* pVal,
- Ipp32f* pResult))
- IPPAPI(IppStatus, ippsLogGaussMixture_IdVar_32f_D2L,(const Ipp32f* pSrc,
- const Ipp32f** mMean, int height, int width, const Ipp32f* pVal,
- Ipp32f* pResult))
- IPPAPI(IppStatus, ippsLogGaussMixture_IdVar_64f_D2,(const Ipp64f* pSrc,
- const Ipp64f* pMean, int height, int step, int width, const Ipp64f* pVal,
- Ipp64f* pResult))
- IPPAPI(IppStatus, ippsLogGaussMixture_IdVar_64f_D2L,(const Ipp64f* pSrc,
- const Ipp64f** mMean, int height, int width, const Ipp64f* pVal,
- Ipp64f* pResult))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLogSum_*
- // Purpose: Logarithmically sums vector elements.
- // Parameters:
- // pSrc The first input vector [len].
- // pResult Pointer to the result value.
- // len The number of elements in the input and output vectors.
- // hint Recommends to use a specific code for the
- // Logarithmically Sums.
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pResult pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0.
- //
- */
- IPPAPI(IppStatus,ippsLogSum_64f,(const Ipp64f* pSrc, Ipp64f* pResult, int len,
- IppHintAlgorithm hint))
- IPPAPI(IppStatus,ippsLogSum_32f,(const Ipp32f* pSrc, Ipp32f* pResult, int len,
- IppHintAlgorithm hint))
- IPPAPI(IppStatus,ippsLogSum_32s_Sfs,(const Ipp32s* pSrc, Ipp32s* pResult, int len,
- int scaleFactor, IppHintAlgorithm hint))
- IPPAPI(IppStatus,ippsLogSum_16s_Sfs,(const Ipp16s* pSrc, Ipp16s* pResult, int len,
- int scaleFactor, IppHintAlgorithm hint))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsWeightedMeanColumn_*_*
- // Purpose: Computes the weighted mean values for the column elements.
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when pSrc, mSrc, pWgt, or pDstMean pointer is null.
- // ippStsSizeErr Indicates an error when height or width is less than or equal to 0.
- // IppStsStrideErr Indicates an error when step is less than width.
- // Parameters:
- // pSrc Pointer to the input vector [height*step].
- // mSrc Pointer to the input matrix [height][width].
- // pWgt Pointer to the weights vector [height].
- // height Number of rows in the input matrix.
- // step Row step in the input vector (measured in pSrc elements).
- // pDstMean Pointer to the output mean vector [width].
- // width Number of columns in the input matrix, and also the length of the output mean vector pDstMean.
- // Notes:
- */
- IPPAPI(IppStatus, ippsWeightedMeanColumn_32f_D2,(const Ipp32f* pSrc, int step,
- const Ipp32f* pWgt, int height, Ipp32f* pDstMean, int width))
- IPPAPI(IppStatus, ippsWeightedMeanColumn_32f_D2L,(const Ipp32f** mSrc,
- const Ipp32f* pWgt, int height, Ipp32f* pDstMean, int width))
- IPPAPI(IppStatus, ippsWeightedMeanColumn_64f_D2,(const Ipp64f* pSrc, int step,
- const Ipp64f* pWgt, int height, Ipp64f* pDstMean, int width))
- IPPAPI(IppStatus, ippsWeightedMeanColumn_64f_D2L,(const Ipp64f** mSrc,
- const Ipp64f* pWgt, int height, Ipp64f* pDstMean, int width))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsWeightedVarColumn_*_*
- // Purpose: Computes the weighted variances values for the column elements.
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when pSrc, mSrc, pWgt, pSrcMean,
- // or pDstVar pointer is null.
- // ippStsSizeErr Indicates an error when height or width is less than
- // or equal to 0.
- // ippStsStrideErr Indicates an error when step is less than width.
- // Parameters:
- // pSrc Pointer to the input vector [height*step].
- // mSrc Pointer to the input matrix [height][width].
- // pWgt Pointer to the weights vector [height].
- // height Number of rows in the input matrix.
- // step Row step in the input vector (measured in pSrc elements).
- // pSrcMean Pointer to the input mean vector [width].
- // pDstVar Pointer to the output variance vector [width].
- // width Number of columns in the input matrix, and also the length
- // of the input mean vector pSrcMean and the output variance vector pDstVar.
- */
- IPPAPI(IppStatus, ippsWeightedVarColumn_32f_D2,(const Ipp32f* pSrc, int step,
- const Ipp32f* pWgt, int height, const Ipp32f* pSrcMean,
- Ipp32f* pDstVar, int width))
- IPPAPI(IppStatus, ippsWeightedVarColumn_32f_D2L,(const Ipp32f** mSrc,
- const Ipp32f* pWgt, int height, const Ipp32f* pSrcMean,
- Ipp32f* pDstVar, int width))
- IPPAPI(IppStatus, ippsWeightedVarColumn_64f_D2,(const Ipp64f* pSrc, int step,
- const Ipp64f* pWgt, int height, const Ipp64f* pSrcMean,
- Ipp64f* pDstVar, int width))
- IPPAPI(IppStatus, ippsWeightedVarColumn_64f_D2L,(const Ipp64f** mSrc,
- const Ipp64f* pWgt, int height, const Ipp64f* pSrcMean,
- Ipp64f* pDstVar,int width))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsWeightedMeanVarColumn_*_*
- // Purpose: Computes the weighted mean variances values for the column elements.
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when pSrc, mSrc, pWgt, pDstMean,
- // or pDstVar pointer is null.
- // ippStsSizeErr Indicates an error when height or width is less than
- // or equal to 0.
- // ippStsStrideErr Indicates an error when step is less than width.
- // Parameters:
- // pSrc Pointer to the input vector [height*step].
- // mSrc Pointer to the input matrix [height][width].
- // pWgt Pointer to the weights vector [height].
- // height Number of rows in the input matrix.
- // step Row step in the input vector (measured in pSrc elements).
- // pDstMean Pointer to the output mean vector [width].
- // pDstVar Pointer to the output variance vector [width].
- // width Number of columns in the input matrix, and also the length of the output mean vector pSrcMean and the output variance vector pDstVar.
- */
- IPPAPI(IppStatus, ippsWeightedMeanVarColumn_32f_D2,(const Ipp32f* pSrc, int step,
- const Ipp32f* pWgt, int height, Ipp32f* pDstMean, Ipp32f* pDstVar, int width))
- IPPAPI(IppStatus, ippsWeightedMeanVarColumn_32f_D2L,(const Ipp32f** mSrc,
- const Ipp32f* pWgt, int height, Ipp32f* pDstMean, Ipp32f* pDstVar, int width))
- IPPAPI(IppStatus, ippsWeightedMeanVarColumn_64f_D2,(const Ipp64f* pSrc, int step,
- const Ipp64f* pWgt, int height, Ipp64f* pDstMean, Ipp64f* pDstVar, int width))
- IPPAPI(IppStatus, ippsWeightedMeanVarColumn_64f_D2L,(const Ipp64f** mSrc,
- const Ipp64f* pWgt, int height, Ipp64f* pDstMean, Ipp64f* pDstVar, int width))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsCrossCorrCoeffDecim
- // Purpose: Calculate vector of cross correlation coefficients with decimation.
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc1, pSrc2, or pDst pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0.
- // ippStsBadArgErr Indicates an error when val is less than 0.
- // Parameters:
- // pSrc1 Pointer to the first input vector [maxLen].
- // pSrc2 Pointer to the second input vector [maxLen].
- // pDst Pointer to the output vector [(maxLen-minLen+dec-1)/dec].
- // maxLen Maximal length of cross correlation.
- // minLen Minimal length of cross correlation.
- // dec Decimation step.
- */
- IPPAPI(IppStatus, ippsCrossCorrCoeffDecim_16s32f,(const Ipp16s* pSrc1,
- const Ipp16s* pSrc2, int maxLen, int minLen, Ipp32f* pDst, int dec))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsCrossCorrCoeff
- // Purpose: Calculate cross correlation coefficient.
- // Context:
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc1, pSrc2, or pResult pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0.
- // ippStsBadArgErr Indicates an error when val is less than 0.
- // Parameters:
- // pSrc1 Pointer to the first input vector [len].
- // pSrc2 Pointer to the second input vector [len].
- // len Length of the input vectors.
- // pResult Pointer to the result cross correlation coefficient value.
- // val First vector length value.
- */
- IPPAPI(IppStatus, ippsCrossCorrCoeff_16s32f,(const Ipp16s* pSrc1,
- const Ipp16s* pSrc2, int len, Ipp32f* pResult))
- IPPAPI(IppStatus, ippsCrossCorrCoeffPartial_16s32f,(const Ipp16s* pSrc1,
- const Ipp16s* pSrc2, int len, Ipp32f val, Ipp32f* pResult))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsCrossCorrCoeffInterpolation
- // Purpose: Calculate cross correlation coefficient.
- // Context:
- // Returns:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc1, pSrc2, pBeta or pResult pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0.
- // ippStsStrideErr Indicates an error when srcStep or dstStep is less than width.
- // Parameters:
- // pSrc1 Pointer to the first input vector [len].
- // pSrc2 Pointer to the second input vector [len+1].
- // len Length of the input vectors.
- // pResult Pointer to the result cross correlation coefficient value.
- // pBeta Pointer to the result value of fractional part of the pitch period.
- */
- IPPAPI(IppStatus, ippsCrossCorrCoeffInterpolation_16s32f,(const Ipp16s* pSrc1,
- const Ipp16s* pSrc2, int len, Ipp32f* pBeta, Ipp32f* pResult))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsBuildSignTable_8u1u
- // Purpose: Fills sign table for Gaussian mixture calculation.
- //
- // Parameters:
- // pIndx Pointer to the cluster indexes vector ([frames*num] or sum of pNum elements).
- // num Number of clusters for each input vector.
- // mShortlist Pointer to the shortlist matrix [clust*width] (in bytes).
- // clust Number of rows in shortlist vector (equal to the codebook size).
- // width Row length in shortlist matrix in bytes.
- // shift First element displacement in shortlist vector rows (in bits).
- // pSign Pointer to the output vector of Gaussian calculation
- // signs [frames*(comps+7)/8] (in bytes).
- // frames Number of input vectors (rows in pSign vector).
- // comps Number of Gaussian mixture components (bit columns in pSign vector).
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when pIndx, pSign, mShortlist or pNum is NULL.
- // ippStsSizeErr Indicates an error when clust, width, frames, comps, num or one
- // of pNum vector elements is less than or equal to 0 or when
- // shift is less than 0.
- // ippStsStrideErr Indicates an error when width is less than (shift+height+7)/8.
- // ippStsBadArgErr Indicates an error when one of pIndx vector elements is
- // less than 0 or greater than or equal to clust.
- // Notes:
- */
- IPPAPI(IppStatus, ippsBuildSignTable_8u1u, (const Ipp32s* pIndx, int num, const Ipp8u** mShortlist,
- int clust, int width, int shift, Ipp8u* pSign, int frames, int comps))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsBuildSignTable_Var_8u1u
- // Purpose: Fills sign table for Gaussian mixture calculation.
- //
- // Parameters:
- // pIndx Pointer to the cluster indexes vector ([frames*num] or sum of pNum elements).
- // pNum Number of clusters vector [frames].
- // mShortlist Pointer to the shortlist matrix [clust*width] (in bytes).
- // clust Number of rows in shortlist vector (equal to the codebook size).
- // width Row length in shortlist matrix in bytes.
- // shift First element displacement in shortlist vector rows (in bits).
- // pSign Pointer to the output vector of Gaussian calculation
- // signs [frames*(comps+7)/8] (in bytes).
- // frames Number of input vectors (rows in pSign vector).
- // comps Number of Gaussian mixture components (bit columns in pSign vector).
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when pIndx, pSign, mShortlist or pNum is NULL.
- // ippStsSizeErr Indicates an error when clust, width, frames, comps, num or one
- // of pNum vector elements is less than or equal to 0 or when
- // shift is less than 0.
- // ippStsStrideErr Indicates an error when width is less than (shift+height+7)/8.
- // ippStsBadArgErr Indicates an error when one of pIndx vector elements is
- // less than 0 or greater than or equal to clust.
- // Notes:
- */
- IPPAPI(IppStatus, ippsBuildSignTable_Var_8u1u, (const Ipp32s* pIndx, const int* pNum,
- const Ipp8u** mShortlist, int clust, int width, int shift, Ipp8u* pSign,
- int frames, int comps))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLogGaussMixture_Select*_*_D2
- // Purpose: Calculates the likelihood probability for the Gaussian
- // mixture using Gaussian selection.
- //
- // Parameters:
- // pSrc Pointer to the input vector
- // pMean Pointer to the mean vector
- // pVar Pointer to the variance vector
- // step Row step in mean, variance and input vectors (in pMean elements)
- // width Length of the mean, variance and input matrix rows
- // pVal Pointer to the vector of weight constants
- // pSign Pointer to the vector of Gaussian calculation
- // signs [frames*(height+7)/8] (in bytes).
- // height Number of Gaussian mixture components
- // pResult Pointer to the vector of output mixture values
- // frames Number of input vectors; also the length of pSign row
- // none Result value if no Gaussian is calculated
- // scaleFactor Scaling factor for intermediate sums.
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when pSrc, pMean, pVar, pSign, pVal
- // or pResult is NULL.
- // ippStsSizeErr Indicates an error when width, height or frames less than
- // or equal to 0.
- // ippStsStrideErr Indicates an error when step is less than width.
- // ippStsSizeErr Indicates an error when width, height, frames less than
- // or equal to 0
- // ippStsStrideErr Indicates an error when step is less than width .
- // ippStsNoGaussian Indicates a warning when no Gaussian is calculated for
- // one of input vectors.
- // Notes:
- */
- IPPAPI(IppStatus, ippsLogGaussMixture_Select_32f_D2, (const Ipp32f* pSrc, const Ipp32f* pMean,
- const Ipp32f* pVar,/* const Ipp32f* Det,*/ int step, int width, const Ipp32f* pVal,
- const Ipp8u* pSign, int height, Ipp32f* pResult, int frames, Ipp32f none))
- IPPAPI(IppStatus, ippsLogGaussMixture_SelectScaled_16s32f_D2, (const Ipp16s* pSrc,
- const Ipp16s* pMean, const Ipp16s* pVar, int step, int width, const Ipp32f* pVal,
- const Ipp8u* pSign, int height, Ipp32f* pResult, int frames, Ipp32f none, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLogGaussMixture_Select*_*_D2L
- // Purpose: Calculates the likelihood probability for the Gaussian
- // mixture using Gaussian selection.
- //
- // Parameters:
- // mSrc Pointer to the input matrix [frames][width].
- // mMean Pointer to the mean matrix [height][width].
- // mVar Pointer to the variance matrix [height][width].
- // width Length of the mean, variance and input matrix rows
- // pVal Pointer to the vector of weight constants
- // pSign Pointer to the vector of Gaussian calculation
- // signs [frames*(height+7)/8] (in bytes).
- // height Number of Gaussian mixture components
- // pResult Pointer to the vector of output mixture values
- // frames Number of input vectors; also the length of pSign row
- // none Result value if no Gaussian is calculated
- // scaleFactor Scaling factor for intermediate sums.
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when mSrc, mMean, mVar, pSign, pVal
- // or pResult is NULL.
- // ippStsSizeErr Indicates an error when width, height or frames less than
- // or equal to 0.
- // ippStsSizeErr Indicates an error when width, height, frames less than
- // or equal to 0
- // ippStsNoGaussian Indicates a warning when no Gaussian is calculated for
- // one of input vectors.
- // Notes:
- */
- IPPAPI(IppStatus, ippsLogGaussMixture_Select_32f_D2L,(const Ipp32f** mSrc, const Ipp32f** mMean,
- const Ipp32f** mVar, int width, const Ipp32f* pVal, const Ipp8u* pSign, int height,
- Ipp32f* pResult, int frames, Ipp32f none))
- IPPAPI(IppStatus, ippsLogGaussMixture_SelectScaled_16s32f_D2L, (const Ipp16s** mSrc,
- const Ipp16s** mMean, const Ipp16s** mVar, int width, const Ipp32f* pVal,
- const Ipp8u* pSign, int height, Ipp32f* pResult, int frames, Ipp32f none, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLogGaussMixture_SelectIdVar*_*_D2
- // Purpose: Calculates the likelihood probability for the Gaussian
- // mixture using Gaussian selection.
- //
- // Parameters:
- // pSrc Pointer to the input vector
- // pMean Pointer to the mean vector
- // step Row step in mean, variance and input vectors (in pMean elements)
- // width Length of the mean, variance and input matrix rows
- // pVal Pointer to the vector of weight constants
- // pSign Pointer to the vector of Gaussian calculation
- // signs [frames*(height+7)/8] (in bytes).
- // height Number of Gaussian mixture components
- // pResult Pointer to the vector of output mixture values
- // frames Number of input vectors; also the length of pSign row
- // none Result value if no Gaussian is calculated
- // scaleFactor Scaling factor for intermediate sums.
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when pSrc, pMean, pSign, pVal
- // or pResult is NULL.
- // ippStsSizeErr Indicates an error when width, height or frames less than
- // or equal to 0.
- // ippStsStrideErr Indicates an error when step is less than width.
- // ippStsSizeErr Indicates an error when width, height, frames less than
- // or equal to 0
- // ippStsStrideErr Indicates an error when step is less than width .
- // ippStsNoGaussian Indicates a warning when no Gaussian is calculated for
- // one of input vectors.
- // Notes:
- */
- IPPAPI(IppStatus, ippsLogGaussMixture_SelectIdVar_32f_D2, (const Ipp32f* pSrc, const Ipp32f* pMean,
- int step, int width, const Ipp32f* pVal, const Ipp8u* pSign, int height, Ipp32f* pResult,
- int frames, Ipp32f none))
- IPPAPI(IppStatus, ippsLogGaussMixture_SelectIdVarScaled_16s32f_D2, (const Ipp16s* pSrc,
- const Ipp16s* pMean, int step, int width, const Ipp32f* pVal, const Ipp8u* pSign, int height,
- Ipp32f* pResult, int frames, Ipp32f none, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLogGaussMixture_SelectIdVar*_*_D2L
- // Purpose: Calculates the likelihood probability for the Gaussian
- // mixture using Gaussian selection.
- //
- // Parameters:
- // mSrc Pointer to the input matrix [frames][width].
- // mMean Pointer to the mean matrix [height][width].
- // width Length of the mean, variance and input matrix rows
- // pVal Pointer to the vector of weight constants
- // pSign Pointer to the vector of Gaussian calculation
- // signs [frames*(height+7)/8] (in bytes).
- // height Number of Gaussian mixture components
- // pResult Pointer to the vector of output mixture values
- // frames Number of input vectors; also the length of pSign row
- // none Result value if no Gaussian is calculated
- // scaleFactor Scaling factor for intermediate sums.
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when mSrc, mMean, pSign, pVal
- // or pResult is NULL.
- // ippStsSizeErr Indicates an error when width, height or frames less than
- // or equal to 0.
- // ippStsSizeErr Indicates an error when width, height, frames less than
- // or equal to 0
- // ippStsNoGaussian Indicates a warning when no Gaussian is calculated for
- // one of input vectors.
- // Notes:
- */
- IPPAPI(IppStatus, ippsLogGaussMixture_SelectIdVar_32f_D2L, (const Ipp32f** mSrc,
- const Ipp32f** mMean, int width, const Ipp32f* pVal, const Ipp8u* pSign, int height,
- Ipp32f* pResult, int frames, Ipp32f none))
- IPPAPI(IppStatus, ippsLogGaussMixture_SelectIdVarScaled_16s32f_D2L, (const Ipp16s** mSrc,
- const Ipp16s** mMean, int width, const Ipp32f* pVal, const Ipp8u* pSign, int height,
- Ipp32f* pResult, int frames, Ipp32f none, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsVQSingle_Thresh_*
- // Purpose: Quantizes the input vector given a codebook getting
- // several closest clusters
- //
- // Parameters:
- // pSrc Pointer to the input vector
- // pIndx Pointer to the destination indexes vector
- // pCdbk Pointer to the codebook structure
- // val Relative threshold value
- // pNum Pointer to the number of clusters within threshold [1]
- // Return:
- // ippStsNoErr Indicates no error
- // ippStsNullPtrErr Indicates an error when pSrc, pIndx, pCdbk or pNum is NULL
- // ippStsBadArgErr Indicates an error when val is less than 1
- // Notes:
- */
- IPPAPI(IppStatus, ippsVQSingle_Thresh_32f,(const Ipp32f *pSrc, Ipp32s *pIndx, const IppsCdbkState_32f* pCdbk, Ipp32f val, int *pNum))
- IPPAPI(IppStatus, ippsVQSingle_Thresh_16s,(const Ipp16s *pSrc, Ipp32s *pIndx, const IppsCdbkState_16s* pCdbk, Ipp32f val, int *pNum))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsVQDistSingle_Thresh_*
- // Purpose: Quantizes the input vector given a codebook getting
- // several closest clusters
- //
- // Parameters:
- // pSrc Pointer to the input vector
- // pIndx Pointer to the destination indexes vector
- // pDist Pointer to the destination distances vector
- // pCdbk Pointer to the codebook structure
- // val Relative threshold value
- // pNum Pointer to the number of clusters within threshold [1]
- // scaleFactor Refer to "Integer Scaling" in Chapter 2.
- // Return:
- // ippStsNoErr Indicates no error
- // ippStsNullPtrErr Indicates an error when pSrc, pIndx, pDist, pCdbk or pNum is NULL
- // ippStsBadArgErr Indicates an error when val is less than 1
- // Notes:
- */
- IPPAPI(IppStatus, ippsVQDistSingle_Thresh_32f,(const Ipp32f *pSrc, Ipp32s *pIndx, Ipp32f *pDist, const IppsCdbkState_32f* pCdbk, Ipp32f val, int *pNum))
- IPPAPI(IppStatus, ippsVQDistSingle_Thresh_16s32s_Sfs,(const Ipp16s *pSrc, Ipp32s *pIndx, Ipp32s *pDist, const IppsCdbkState_16s* pCdbk, Ipp32f val, int *pNum, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsVQSingle_Sort_*
- // Purpose: Quantizes the input vector given a codebook getting
- // several closest clusters
- //
- // Parameters:
- // pSrc Pointer to the input vector
- // pIndx Pointer to the destination indexes vector
- // pCdbk Pointer to the codebook structure
- // num Number of closest clusters to search for each input vector
- // Return:
- // ippStsNoErr Indicates no error
- // ippStsNullPtrErr Indicates an error when pSrc, pIndx, pCdbk is NULL
- // ippStsSizeErr Indicates an error when num less than or equal to 0 or
- // is greater than the codebook size.
- // Notes:
- */
- IPPAPI(IppStatus, ippsVQSingle_Sort_32f,(const Ipp32f *pSrc, Ipp32s *pIndx, const IppsCdbkState_32f* pCdbk, int num))
- IPPAPI(IppStatus, ippsVQSingle_Sort_16s,(const Ipp16s *pSrc, Ipp32s *pIndx, const IppsCdbkState_16s* pCdbk, int num))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsVQDistSingle_Sort_*
- // Purpose: Quantizes the input vector given a codebook getting
- // several closest clusters
- //
- // Parameters:
- // pSrc Pointer to the input vector
- // pIndx Pointer to the destination indexes vector
- // pDist Pointer to the destination distances vector
- // pCdbk Pointer to the codebook structure
- // num Number of closest clusters to search for each input vector
- // scaleFactor Refer to "Integer Scaling" in Chapter 2.
- // Return:
- // ippStsNoErr Indicates no error
- // ippStsNullPtrErr Indicates an error when pSrc, pIndx, pDist, pCdbk is NULL
- // ippStsSizeErr Indicates an error when num less than or equal to 0 or
- // is greater than the codebook size.
- // Notes:
- */
- IPPAPI(IppStatus, ippsVQDistSingle_Sort_32f,(const Ipp32f *pSrc, Ipp32s *pIndx, Ipp32f *pDist, const IppsCdbkState_32f* pCdbk, int num))
- IPPAPI(IppStatus, ippsVQDistSingle_Sort_16s32s_Sfs,(const Ipp16s *pSrc, Ipp32s *pIndx, Ipp32s *pDist, const IppsCdbkState_16s* pCdbk, int num, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsFillShortlist_Row_1u
- // Purpose: Fills row-wise shortlist table for Gaussian selection.
- // several closest clusters
- //
- // Parameters:
- // pIndx Pointer to the cluster indexes vector ([num*clust])
- // num Number of Gaussian for each codebook cluster
- // pShortlist Pointer to the shortlist matrix [clust][Listlen] (size in bytes)
- // clust Number of rows in shortlist vector and rows in pIndx
- // Listlen Number of elements in shortlist vector
- // shift First element displacement in shortlist vector rows (in bits)
- // height Number of Gaussian mixture components
- // Return:
- // ippStsNoErr Indicates no error
- // ippStsNoErr Indicates no error
- // ippStsNullPtrErr Indicates an error when pIndx or pShortlist NULL
- // ippStsSizeErr Indicates an error when clust, height, Listlen, num vector elements
- // is less than or equal to 0 or when shift is less than 0
- // ippStsStrideErr Indicates an error when Listlen is less than (shift+height+7)/8.
- // ippStsBadArgErr Indicates an error when one of pIndx vector elements is less than
- // 0 or greater than or equal to height.
- // Notes:
- */
- IPPAPI(IppStatus, ippsFillShortlist_Row_1u,(const Ipp32s* pIndx, int height, int num, Ipp8u** pShortlist, int clust, int Listlen, int shift))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsFillShortlist_RowVar_1u
- // Purpose: Fills row-wise shortlist table for Gaussian selection.
- // several closest clusters
- //
- // Parameters:
- // pIndx Pointer to the cluster indexes vector ([sum of pNum's])
- // pNum Number of clusters vector [clust].
- // pShortlist Pointer to the shortlist matrix [clust][Listlen] (size in bytes)
- // clust Number of rows in shortlist vector and rows in pIndx
- // Listlen Number of elements in shortlist vector
- // shift First element displacement in shortlist vector rows (in bits)
- // height Number of Gaussian mixture components
- // Return:
- // ippStsNoErr Indicates no error
- // ippStsNoErr Indicates no error
- // ippStsNullPtrErr Indicates an error when pIndx or pShortlist NULL
- // ippStsSizeErr Indicates an error when clust, height, Listlen, or any pNum elements
- // is less than or equal to 0 or when shift is less than 0.
- // ippStsStrideErr Indicates an error when Listlen is less than (shift+height+7)/8.
- // ippStsBadArgErr Indicates an error when one of pIndx vector elements is less than
- // 0 or greater than or equal to height.
- // Notes:
- */
- IPPAPI(IppStatus, ippsFillShortlist_RowVar_1u,(const Ipp32s* pIndx, int *pNum, int height, Ipp8u** pShortlist, int clust, int Listlen, int shift))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsFillShortlist_Column_1u
- // Purpose: Fills column-wise shortlist table for Gaussian selection.
- // several closest clusters
- //
- // Parameters:
- // pIndx Pointer to the cluster indexes vector ([num*height])
- // num Number of Gaussian for each codebook cluster
- // pShortlist Pointer to the shortlist matrix [clust][Listlen] (size in bytes)
- // clust Number of rows in shortlist vector
- // Listlen Number of elements in shortlist vector
- // shift First element displacement in shortlist vector rows (in bits)
- // height Number of Gaussian mixture components (and rows in pIndx)
- // Return:
- // ippStsNoErr Indicates no error
- // ippStsNullPtrErr Indicates an error when pIndx or pShortlist NULL
- // ippStsSizeErr Indicates an error when clust, height, Listlen, num vector elements
- // is less than or equal to 0 or when shift is less than 0
- // ippStsStrideErr Indicates an error when Listlen is less than (shift+height+7)/8.
- // ippStsBadArgErr Indicates an error when one of pIndx vector elements is less than
- // 0 or greater than or equal to clust.
- // Notes:
- */
- IPPAPI(IppStatus, ippsFillShortlist_Column_1u,(const Ipp32s* pIndx, int num, Ipp8u** pShortlist, int clust, int Listlen, int shift, int height))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsFillShortlist_ColumnVar_1u
- // Purpose: Fills column-wise shortlist table for Gaussian selection.
- // several closest clusters
- //
- // Parameters:
- // pIndx Pointer to the cluster indexes vector ([sum of pNum's])
- // pNum Number of clusters vector [height].
- // pShortlist Pointer to the shortlist matrix [clust][Listlen] (size in bytes)
- // clust Number of rows in shortlist vector
- // Listlen Number of elements in shortlist vector
- // shift First element displacement in shortlist vector rows (in bits)
- // height Number of Gaussian mixture components (and rows in pIndx)
- // Return:
- // ippStsNoErr Indicates no error
- // ippStsNullPtrErr Indicates an error when pIndx or pShortlist NULL
- // ippStsSizeErr Indicates an error when clust, height, Listlen, any pNum elements
- // is less than or equal to 0 or when shift is less than 0.
- // ippStsStrideErr Indicates an error when Listlen is less than (shift+height+7)/8.
- // ippStsBadArgErr Indicates an error when one of pIndx vector elements is less than
- // 0 or greater than or equal to clust.
- // Notes:
- */
- IPPAPI(IppStatus, ippsFillShortlist_ColumnVar_1u,(const Ipp32s* pIndx, int *pNum, Ipp8u** pShortlist, int clust, int ListLen, int shift, int height))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsTabsCalculation_Aurora
- // Purpose: Calculates filter coefficients for residual filter
- //
- //
- // Arguments:
- // pSrc Pointer to the input vector [10]
- // pDst Pointer to the output vector [17]
- // Return Value
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pDst pointer is null.
- */
- IPPAPI(IppStatus, ippsTabsCalculation_Aurora_32f,(const Ipp32f *pSrc,Ipp32f *pDst))
- IPPAPI(IppStatus, ippsTabsCalculation_Aurora_16s,(const Ipp16s *pSrc,Ipp16s *pDst))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsResidualFilter_Aurora
- // Purpose: Calculates denoised waveform signal
- // Arguments:
- // pTabs Pointer to the input vector [17]
- // pSrc Pointer to the input vector [96]
- // pDst Pointer to the output vector [80]
- // scaleFactor Refer to "Integer Scaling" in Chapter 2.
- // Return Value
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pDst or pTabs pointer is null.
- */
- IPPAPI(IppStatus, ippsResidualFilter_Aurora_32f,(const Ipp32f* pSrc, Ipp32f* pDst, const Ipp32f* pTabs))
- IPPAPI(IppStatus, ippsResidualFilter_Aurora_16s_Sfs,(const Ipp16s* pSrc, Ipp16s* pDst, const Ipp16s* pTabs, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsWaveProcessing_Aurora
- // Purpose: Processes waveform data after noise reduction
- // Arguments:
- // pSrc Pointer to the input vector [200]
- // pDst Pointer to the output vector [200]
- // Return Value
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pDst pointer is null.
- */
- IPPAPI(IppStatus, ippsWaveProcessing_Aurora_32f,(const Ipp32f *pSrc,Ipp32f *pDst))
- IPPAPI(IppStatus, ippsWaveProcessing_Aurora_16s,(const Ipp16s *pSrc,Ipp16s *pDst))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsSmoothedPowerSpectrumAurora
- // Purpose: Calculates smoothed magnitude of FFT output
- // Arguments:
- // pSrc Pointer to the input vector [len]
- // pDst Pointer to the output vector [len/4+1]
- // len The length of input and output vectors
- // scaleFactor Refer to "Integer Scaling" in Chapter 2.
- // Return Value
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pDst pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0, or len is not multiple of 4
- */
- IPPAPI(IppStatus, ippsSmoothedPowerSpectrumAurora_32f,(Ipp32f *pSrc, Ipp32f *pDst,Ipp32s len))
- IPPAPI(IppStatus, ippsSmoothedPowerSpectrumAurora_32s_Sfs,(Ipp32s *pSrc, Ipp32s *pDst,Ipp32s len,
- int scaleFactor))
- IPPAPI(IppStatus, ippsSmoothedPowerSpectrumAurora_32s64s_Sfs,(Ipp32s *pSrc, Ipp64s *pDst,
- Ipp32s len, int scaleFactor))
- IPPAPI(IppStatus, ippsSmoothedPowerSpectrumAurora_16s,(Ipp16s *pSrc, Ipp16s *pDst,Ipp32s len))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsLowHighFilter_Aurora
- // Purpose: Calculates low band and high band filters
- // Arguments:
- // pTabs Pointer to the input vector [tapsLen]
- // tapsLen The filter taps number (even)
- // pSrc Pointer to the input vector [len+tapsLen-1]
- // pDstLow Pointer to the output vector [len/2]
- // pDstHigh Pointer to the output vector [len/2]
- // len The input samples number (even)
- // scaleFactor Refer to "Integer Scaling" in Chapter 2.
- // Return Value
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc or pTabs or pDstLow or pDstHigh pointer is null.
- // ippStsSizeErr Indicates an error when len or tapsLen is less than or equal to 0
- */
- IPPAPI(IppStatus, ippsLowHighFilter_Aurora_32f,(const Ipp32f* pSrc,
- Ipp32f* pDstLow, Ipp32f* pDstHigh, Ipp32s len, const Ipp32f* pTabs, Ipp32s tapsLen))
- IPPAPI(IppStatus, ippsLowHighFilter_Aurora_16s_Sfs,(const Ipp16s* pSrc,
- Ipp16s* pDstLow, Ipp16s* pDstHigh, Ipp32s len, const Ipp16s* pTabs, Ipp32s tapsLen, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsNoiseSpectrumUpdate_Aurora
- // Purpose: Updates noise spectrum
- // Arguments:
- // pSrc Pointer to the input vector of mean [len]
- // pSrcNoise Pointer to the input vector of noiseless signal spectrum [len]
- // pDst Pointer to the output vector [len]
- // len The length of input and output vectors
- // ScaleFactor Refer to "Integer Scaling" in Chapter 2.
- //
- // Return Value
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, pSrcNoise, pDst pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0
- */
- IPPAPI(IppStatus, ippsNoiseSpectrumUpdate_Aurora_32f,(const Ipp32f* pSrc, const Ipp32f* pSrcNoise,
- Ipp32f *pDst, int len))
- IPPAPI(IppStatus, ippsNoiseSpectrumUpdate_Aurora_16s_Sfs,(const Ipp16s* pSrc, const Ipp16s* pSrcNoise,
- Ipp16s *pDst, int len, int ScaleFactor))
- IPPAPI(IppStatus, ippsNoiseSpectrumUpdate_Aurora_32s_Sfs,(const Ipp32s* pSrc, const Ipp32s* pSrcNoise,
- Ipp32s *pDst, int len, int ScaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsWienerFilterDesign_Aurora
- // Purpose: Calculates improved transfer function of adaptive Wiener filter
- // Arguments:
- // pSrc Pointer to the input vector of square roots of power spectral density mean [len]
- // pNoise Pointer to the input vector of square roots of noise spectrum estimate [len]
- // pDen Pointer to the input vector of square roots of previous noiseless signal spectrum [len]
- // pDst Pointer to the output vector [len]
- // len The length of input and output vectors
- //
- // Return Value
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, pNoise, pDen, pDst pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0
- */
- IPPAPI(IppStatus, ippsWienerFilterDesign_Aurora_32f,(const Ipp32f* pSrc, const Ipp32f* pNoise,
- const Ipp32f* pDen, Ipp32f* pDst, int len))
- IPPAPI(IppStatus, ippsWienerFilterDesign_Aurora_16s,(const Ipp16s* pSrc, const Ipp16s* pNoise,
- const Ipp16s* pDen, Ipp16s* pDst, int len))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsBlindEqualization_Aurora
- // Purpose: Equalizes the cepstral coefficients
- // Arguments:
- // pRefs Pointer to the input vector of reference cepstrum [len]
- // pCeps Pointer to the input and output vector of cepstrum [len]
- // pBias Pointer to the input and output vector of bias [len]
- // len The length of input and output vectors
- // val The log energy value
- // Return Value
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pRefs, pCeps, pBias pointer is null.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0
- */
- IPPAPI(IppStatus, ippsBlindEqualization_Aurora_32f,(const Ipp32f* pRefs, Ipp32f* pCeps, Ipp32f* pBias,
- int len, Ipp32f val))
- IPPAPI(IppStatus, ippsBlindEqualization_Aurora_16s,(const Ipp16s* pRefsQ6, Ipp16s* pCeps,
- Ipp16s* pBias, int len, Ipp32s valQ6))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsHighBandCoding_Aurora
- // Purpose: Codes and decodes high frequency band energy values
- // Arguments:
- // pSrcHFB Pointer to the input high frequency band energy vector [3].
- // pInSWP Pointer to the input signal smoothed power spectrum vector [65].
- // pDSWP Pointer to the denoised signal power spectrum vector [129].
- // pDstHFB Pointer to the output coded high frequency band log energy vector [3].
- // scaleFactor Refer to "Integer Scaling" in Chapter 2.
- // Return Value
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pRefs, pCeps, pBias pointer is null.
- // ippBadArg Indicates an error when a non-positive or NaN argument of logarithm is detected
- */
- IPPAPI(IppStatus, ippsHighBandCoding_Aurora_32f,(const Ipp32f* pSrcHFB,
- const Ipp32f* pInSWP, const Ipp32f* pDSWP, Ipp32f* pDstHFB))
- IPPAPI(IppStatus, ippsHighBandCoding_Aurora_32s_Sfs,(const Ipp32s* pSrcHFB,
- const Ipp32s* pInSWP, const Ipp32s* pDSWP, Ipp32s* pDstHFB, int scaleFactor))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsMatVecMul
- // Purpose: Multiplies matrix by vector
- // Arguments:
- // pSrc Pointer to the input vector [width].
- // pMatr Pointer to the input matrix [height*step].
- // mMatr Pointer to the input matrix [height][width].
- // step Row step in pMatr vector (in pMatr elements).
- // width Length of the input vector and input matrix rows
- // height Number of rows in the input matrix and the length of the result vector.
- //
- // Return Value
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, pMatr, mMatr pointer is null.
- // ippStsSizeErr Indicates an error when width or height is less than or equal to 0
- */
- IPPAPI(IppStatus, ippsMatVecMul_16s_D2Sfs,(const Ipp16s* pMatr, int step, const Ipp16s* pSrc, int width,
- Ipp16s* pDst, int height, int scaleFactor))
- IPPAPI(IppStatus, ippsMatVecMul_16s32s_D2Sfs,(const Ipp16s* pMatr, int step, const Ipp16s* pSrc, int width,
- Ipp32s* pDst, int height, int scaleFactor))
- IPPAPI(IppStatus, ippsMatVecMul_32s_D2Sfs,(const Ipp32s* pMatr, int step, const Ipp32s* pSrc, int width,
- Ipp32s* pDst, int height, int scaleFactor))
- IPPAPI(IppStatus, ippsMatVecMul_32f_D2,(const Ipp32f* pMatr, int step, const Ipp32f* pSrc, int width,
- Ipp32f* pDst, int height))
- IPPAPI(IppStatus, ippsMatVecMul_16s_D2LSfs,(const Ipp16s** mMatr, const Ipp16s* pSrc, int width,
- Ipp16s* pDst, int height, int scaleFactor))
- IPPAPI(IppStatus, ippsMatVecMul_16s32s_D2LSfs,(const Ipp16s** mMatr, const Ipp16s* pSrc, int width,
- Ipp32s* pDst, int height, int scaleFactor))
- IPPAPI(IppStatus, ippsMatVecMul_32s_D2LSfs,(const Ipp32s** mMatr, const Ipp32s* pSrc, int width,
- Ipp32s* pDst, int height, int scaleFactor))
- IPPAPI(IppStatus, ippsMatVecMul_32f_D2L,(const Ipp32f** mMatr, const Ipp32f* pSrc, int width,
- Ipp32f* pDst, int height))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsVecMatMul
- // Purpose: Multiplies vector by matrix
- // Arguments:
- // pSrc Pointer to the input vector [height].
- // pMatr Pointer to the input matrix [height*step].
- // mMatr Pointer to the input matrix [height][width].
- // step Row step in pMatr vector (in pMatr elements).
- // width Length of the input vector and input matrix rows
- // height Number of rows in the input matrix and the length of the result vector.
- // Return Value
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSrc, pMatr, mMatr pointer is null.
- // ippStsSizeErr Indicates an error when width or height is less than or equal to 0
- */
- IPPAPI(IppStatus, ippsVecMatMul_16s_D2Sfs,(const Ipp16s* pSrc, const Ipp16s* pMatr, int step, int height,
- Ipp16s* pDst, int width, int scaleFactor))
- IPPAPI(IppStatus, ippsVecMatMul_16s32s_D2Sfs,(const Ipp16s* pSrc, const Ipp16s* pMatr, int step, int height,
- Ipp32s* pDst, int width, int scaleFactor))
- IPPAPI(IppStatus, ippsVecMatMul_32s_D2Sfs,(const Ipp32s* pSrc, const Ipp32s* pMatr, int step, int height,
- Ipp32s* pDst, int width, int scaleFactor))
- IPPAPI(IppStatus, ippsVecMatMul_32f_D2,(const Ipp32f* pSrc, const Ipp32f* pMatr, int step, int height,
- Ipp32f* pDst, int width))
- IPPAPI(IppStatus, ippsVecMatMul_16s_D2LSfs,(const Ipp16s* pSrc, const Ipp16s** mMatr, int height,
- Ipp16s* pDst, int width, int scaleFactor))
- IPPAPI(IppStatus, ippsVecMatMul_16s32s_D2LSfs,(const Ipp16s* pSrc, const Ipp16s** mMatr, int height,
- Ipp32s* pDst, int width, int scaleFactor))
- IPPAPI(IppStatus, ippsVecMatMul_32s_D2LSfs,(const Ipp32s* pSrc, const Ipp32s** mMatr, int height,
- Ipp32s* pDst, int width, int scaleFactor))
- IPPAPI(IppStatus, ippsVecMatMul_32f_D2L,(const Ipp32f* pSrc, const Ipp32f** mMatr, int height,
- Ipp32f* pDst, int width))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsVADGetBufSize_Aurora
- // Purpose: Queries the memory size for VAD decision
- // Arguments:
- // pSize Pointer to the output value of the memory size needed for VAD decision
- //
- // Return Value
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSize pointer is null.
- */
- IPPAPI(IppStatus, ippsVADGetBufSize_Aurora_32f,(Ipp32s* pSize))
- IPPAPI(IppStatus, ippsVADGetBufSize_Aurora_16s,(Ipp32s* pSize))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsVADInit_Aurora
- // Purpose: Initializes VAD decision process
- // Arguments:
- // pVADmem Pointer to the VAD decision memory
- // Return Value
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pVADmem pointer is null.
- */
- IPPAPI(IppStatus, ippsVADInit_Aurora_32f,(Ipp8u* pVADmem))
- IPPAPI(IppStatus, ippsVADInit_Aurora_16s,(Ipp8u* pVADmem))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsVADDecision_Aurora
- // Purpose: Takes VAD decision for the input data
- // Arguments:
- // pCoeff Pointer to the input vector of Mel-warped Wiener filter coefficients [25].
- // pTrans Pointer to the input vector of Wiener filter transfer function [64].
- // nbSpeechFrame Speech frame hangover counter
- // res VAD decision (1 for if voice detected, 0 otherwise).
- // pVADmem Pointer to the VAD decision memory
- // Return Value
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pVADmem pointer is null.
- */
- IPPAPI(IppStatus, ippsVADDecision_Aurora_32f,(const Ipp32f* pCoeff, const Ipp32f* pTrans,
- int nbSpeechFrame, IppVADDecision_Aurora *pRes, Ipp8u* pVADmem))
- IPPAPI(IppStatus, ippsVADDecision_Aurora_16s,(const Ipp16s* pCoeff, const Ipp16s* pTrans,
- int nbSpeechFrame, IppVADDecision_Aurora *pRes, Ipp8u* pVADmem))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsVADFlush_Aurora
- // Purpose: Takes VAD decision for the input data
- // Arguments:
- // pRes VAD decision (1 for if voice detected, 0 otherwise).
- // pVADmem Pointer to the VAD decision memory
- // Return Value
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pVADmem, pRes pointer is null.
- */
- IPPAPI(IppStatus, ippsVADFlush_Aurora_32f,(IppVADDecision_Aurora *pRes, Ipp8u* pVADmem))
- IPPAPI(IppStatus, ippsVADFlush_Aurora_16s,(IppVADDecision_Aurora *pRes, Ipp8u* pVADmem))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsResamplePolyphaseFree
- // Purpose: Free structure for data resampling
- // Arguments:
- // pSpec The pointer to the resampling state structure
- //
- // Return Value
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when the pSpec pointer is null.
- */
- IPPAPI(IppStatus, ippsResamplePolyphaseFree_16s,(IppsResamplingPolyphase_16s* pSpec))
- IPPAPI(IppStatus, ippsResamplePolyphaseFree_32f,(IppsResamplingPolyphase_32f* pSpec))
- IPPAPI(IppStatus, ippsResamplePolyphaseFixedFree_16s,(IppsResamplingPolyphaseFixed_16s* pSpec))
- IPPAPI(IppStatus, ippsResamplePolyphaseFixedFree_32f,(IppsResamplingPolyphaseFixed_32f* pSpec))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsResamplePolyphaseInitAlloc
- // Purpose: Initialize structure for data resampling
- // Arguments:
- // pSpec The pointer to the resampling state structure
- // window The size of the ideal lowpass filter window.
- // nStep The discretization step for filter coefficients
- // rollf The roll-off frequency of the filter.
- // alpha The parameter of the Kaiser window.
- // width Length of the input vector and input matrix rows
- // inRate The input rate for resampling with fixed factor.
- // outRate The output rate for resampling with fixed factor.
- // len The filter length for resampling with fixed factor.
- // pSpec The pointer to the resampling state structure to be created.
- // hint Suggests using specific code. The values for the hint argument are described in "Flag and Hint Arguments"
- //
- //
- // Return Value
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when pSpec is NULL.
- // ippStsSizeErr Indicates an error when inRate, outRate, nStep or len is less than or equal to 0.
- // ippStsBadArgErr Indicates an error when rollf is less than or equal to 0 or is greater than 1 or if alpha is less than 1 or if window is less than 2/nStep.
- // ippStsMemAllocErr Indicates a memory allocation error.
- */
- IPPAPI(IppStatus, ippsResamplePolyphaseInitAlloc_16s,(IppsResamplingPolyphase_16s** pState, Ipp32f window,
- int nStep, Ipp32f rollf, Ipp32f alpha,
- IppHintAlgorithm hint))
- IPPAPI(IppStatus, ippsResamplePolyphaseInitAlloc_32f,(IppsResamplingPolyphase_32f** pState, Ipp32f window,
- int nStep, Ipp32f rollf, Ipp32f alpha,
- IppHintAlgorithm hint))
- IPPAPI(IppStatus, ippsResamplePolyphaseFixedInitAlloc_16s,(IppsResamplingPolyphaseFixed_16s** pState, int inRate,
- int outRate, int len, Ipp32f rollf, Ipp32f alpha,
- IppHintAlgorithm hint))
- IPPAPI(IppStatus, ippsResamplePolyphaseFixedInitAlloc_32f,(IppsResamplingPolyphaseFixed_32f** pState, int inRate,
- int outRate, int len, Ipp32f rollf, Ipp32f alpha,
- IppHintAlgorithm hint))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsResamplePolyphase
- // Purpose: Resample input data
- // Arguments:
- // pSpec The pointer to the resampling state structure.
- // pSrc The pointer to the input vector.
- // pDst The pointer to the output vector.
- // len The number of input vector elements to resample.
- // norm The norming factor for output samples.
- // factor The resampling factor.
- // pTime The pointer to the start time of resampling (in input vector elements).
- // pOutlen The number of calculated output vector elements
- // Return Value
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when pSpec, pSrc, pDst, pTime or pOutlen is NULL.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0.
- // ippStsBadArgErr Indicates an error when factor is less than or equal to.
- */
- IPPAPI(IppStatus, ippsResamplePolyphase_16s,(const IppsResamplingPolyphase_16s *pState, const Ipp16s *pSrc, int len,
- Ipp16s *pDst, Ipp64f factor, Ipp32f norm, Ipp64f *pTime,
- int *pOutlen))
- IPPAPI(IppStatus, ippsResamplePolyphase_32f,(const IppsResamplingPolyphase_32f *pState, const Ipp32f *pSrc, int len,
- Ipp32f *pDst, Ipp64f factor, Ipp32f norm, Ipp64f *pTime,
- int *pOutlen))
- IPPAPI(IppStatus, ippsResamplePolyphaseFixed_16s,(const IppsResamplingPolyphaseFixed_16s *pState,
- const Ipp16s *pSrc, int len, Ipp16s *pDst,
- Ipp32f norm, Ipp64f *pTime, int *pOutlen))
- IPPAPI(IppStatus, ippsResamplePolyphaseFixed_32f,(const IppsResamplingPolyphaseFixed_32f *pState,
- const Ipp32f *pSrc, int len, Ipp32f *pDst,
- Ipp32f norm, Ipp64f *pTime, int *pOutlen))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsResamplePolyphaseFixedGetSize
- // Purpose: Determines the size required for the ResamplePolyphaseFixed_*
- // Arguments:
- // inRate The input rate for resampling with fixed factor.
- // outRate The output rate for resampling with fixed factor.
- // len The filter length for resampling with fixed factor.
- // pSize Required size in bytes
- // pLen Filter len
- // pHeight Number of filter
- // hint Suggests using specific code. The values for the hint argument are described in "Flag and Hint Arguments"
- //
- // Return Value
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when pSize, pLen or pHeight are NULL.
- // ippStsSizeErr Indicates an error when inRate, outRate or len is less than or equal to 0.
- */
- IPPAPI(IppStatus, ippsResamplePolyphaseFixedGetSize_16s,(int inRate, int outRate, int
- len, int* pSize, int* pLen, int* pHeight, IppHintAlgorithm hint))
- IPPAPI(IppStatus, ippsResamplePolyphaseFixedGetSize_32f,(int inRate, int outRate, int
- len, int* pSize, int* pLen, int* pHeight, IppHintAlgorithm hint))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsResamplePolyphaseFixedInit
- // Purpose: Initializes ResamplePolyphaseFixed_* structures
- // Arguments:
- // pSpec The pointer to the resampling state structure to be created.
- // inRate The input rate for resampling with fixed factor.
- // outRate The output rate for resampling with fixed factor.
- // len The filter length for resampling with fixed factor.
- // hint Suggests using specific code. The values for the hint argument are described in "Flag and Hint Arguments"
- // Return Value
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when pSpec is NULL.
- // ippStsSizeErr Indicates an error when inRate, outRate or len is less than or equal to 0.
- //
- */
- IPPAPI(IppStatus, ippsResamplePolyphaseFixedInit_16s,(IppsResamplingPolyphaseFixed_16s* pSpec,
- int inRate, int outRate, int len, IppHintAlgorithm hint))
- IPPAPI(IppStatus, ippsResamplePolyphaseFixedInit_32f,(IppsResamplingPolyphaseFixed_32f* pSpec,
- int inRate, int outRate, int len, IppHintAlgorithm hint))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsResamplePolyphaseSetFixedFilter
- // Purpose: Set filter coefficient
- // Arguments:
- // pSpec The pointer to the resampling state structure to be created.
- // pSrc Input vector of filter coefficients [height][step]
- // step Lenght of filter
- // height Number of filter
- // Return Value
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when pSpec or pSrc are NULL.
- // ippStsSizeErr Indicates an error when step or height is less than or equal to 0.
- */
- IPPAPI(IppStatus, ippsResamplePolyphaseSetFixedFilter_16s,(IppsResamplingPolyphaseFixed_16s* pSpec,
- const Ipp16s* pSrc, int step, int height))
- IPPAPI(IppStatus, ippsResamplePolyphaseSetFixedFilter_32f,(IppsResamplingPolyphaseFixed_32f* pSpec,
- const Ipp32f* pSrc, int step, int height))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsResamplePolyphaseGetFixedFilter
- // Purpose: Get filter coefficient
- // Arguments:
- // pSpec The pointer to the resampling state structure to be created.
- // pDst Input vector of filter coefficients [height][step]
- // step Lenght of filter
- // height Number of filter
- // Return Value
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when pSpec or pSrc are NULL.
- // ippStsSizeErr Indicates an error when step or height is less than or equal to 0.
- */
- IPPAPI(IppStatus, ippsResamplePolyphaseGetFixedFilter_16s,(IppsResamplingPolyphaseFixed_16s* pSpec,
- Ipp16s* pDst, int step, int height))
- IPPAPI(IppStatus, ippsResamplePolyphaseGetFixedFilter_32f,(IppsResamplingPolyphaseFixed_32f* pSpec,
- Ipp32f* pDst, int step, int height))
- /* /////////////////////////////////////////////////////////////////////////////
- // Definitions for Audio Toolkit functions
- ///////////////////////////////////////////////////////////////////////////// */
- #if !defined( _OWN_BLDPCS )
- struct MCRAState;
- typedef struct MCRAState IppMCRAState;
- struct MCRAState32f;
- typedef struct MCRAState32f IppMCRAState32f;
- #endif /* _OWN_BLDPCS */
- /* /////////////////////////////////////////////////////////////////////////////
- // Definitions of Audio Toolkit functions
- ///////////////////////////////////////////////////////////////////////////// */
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsFilterUpdateEMNS
- // Purpose: Calculates the Ephraim-Malah noise suppression filter coefficients
- //
- // H(k) = (0.5 * sqrt(pi * W(k) * Rp(k)) * M(W(k)*Rp(k))) / Rp(k)
- // where,
- // k : frequency bin index
- // W : Wiener filter coefficients
- // Rp : posterior SNR
- // M(T) : exp(-T/2) * [(1+T)*I0(T/2) + T*I1(T/2)]
- // where,
- // I0, I1 : are modified Bessel functions of order 0 and 1 respectively
- // In here, for better performance in fix-point implement, Original Ephraim-Malah
- // filter weights formula have been reformed as fellow:
- // H(k) = W(k) * M'(W(k)*Rp(k)))
- // M'(T) = 0.5 * sqrt(pi/T) * exp(-T/2) * [(1+T)*I0(T/2) + T*I1(T/2)]
- // By the new Ephraim-Malah filter weights formula, the division operation has been
- // removed.
- // M'(T) have been fix-point realized by (T is thetaQ22 in code):
- // 1) Use table look-up for small value (T< 2^(-15)) to achieve high precision
- // 2) Set exponential increasing band ( From 2^i to 2^(i+1) ) to keep near same
- // precision in each band. Total 24 bands used in code.
- // 3) Use dynamic Q value for parameter P1 and P2 to keep high precision. P1, P2
- // and P0 are used in the formula of two-order polynomial approximations:
- // f(x) = P0 + P1 * x + P2 * x^2
- // The value of P0, P1 & P2 have been recorded in table P0_2_32SQ22, P1_2_32SQ5i
- // and P2_2_32SQi4. The Q value of P1 is (i+5), The Q value of P2 is (i-4),
- // i is the index of band (i from 0 to 23). The representation of P0 is fixed
- // at Q22 for all segments
- // Arguments:
- // pSrcWienerCoefsQ31 - pointer to a real-valued vector containing the Q31 format
- // Wiener filter coefficients.
- // pSrcPostSNR - pointer to a real-valued vector containing an estimate of
- // the a posteriori signal to noise ratio.
- // len - number of elements contained in input and output vectors.
- // pDstFilterCoefsQ31 - pointer to a real-valued vector containing the Q31 format
- // filter coefficients.
- //
- // Returns: ippStsNoErr - No Error.
- // ippStsNullPtrErr - pSrcWienerCoefsQ31, pSrcPostSNRQ15 or pDstFilterCoefsQ31 is null.
- // ippStsLengthErr - len is out of range.
- //
- // Notes:
- */
- IPPAPI(IppStatus, ippsFilterUpdateEMNS_32s,(const Ipp32s *pSrcWienerCoefsQ31,
- const Ipp32s *pSrcPostSNRQ15, Ipp32s *pDstFilterCoefsQ31, int len))
- IPPAPI(IppStatus, ippsFilterUpdateEMNS_32f,(const Ipp32f *pSrcWienerCoefs,
- const Ipp32f *pSrcPostSNR, Ipp32f *pDstFilterCoefs, int len))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsFilterUpdateWiener
- // Purpose: Calculates Wiener filter coefficients.
- // W(k) = 1 / (1 + 1/R(k))
- //
- // with a piecewise uniform quantization table. The table is
- // designed such that finer quantization steps are taken for
- // smaller values where the function is more sensitive and large
- // steps are taken for large values where the function is fairly
- // flat. The table is divided into segments defined by
- //
- // 0 <= r < 2^WienerSegmentBitOffset[1]
- // 2^WienerSegmentBitOffset[1] <= r < 2^WienerSegmentBitOffset[2]
- // 2^WienerSegmentBitOffset[2] <= r < 2^WienerSegmentBitOffset[3]
- // 2^WienerSegmentBitOffset[3] <= r
- //
- // where r represents an entry of the input vector. The number
- // of table entries in segment i of the table is
- //
- // 2^(WienerSegmentBitOffset[i+1] - WienerSegmentBitOffset[i]).
- //
- // Therefore, if an input pSrcPriorSNRQ15[k] falls into segment i
- // of the table then the index into the table segment is simply
- //
- // pSrcPriorSNRQ15[k] / 2^WienerSegmentBitOffset[i]
- //
- // A segment offset (e.g., TABLESEG0) is provided for each segment
- // of the table. It may be added to the above result to find the
- // offset from the beginning of the table. Within a segment, the
- // table entries were created by uniform quantization. Since the
- // function is flat for large values, it it represented by a
- // constant in the final segment.
- // Input Arguments: pSrcPriorSNRQ15 - pointer to the a priori SNR vector
- // in Q15 (x/32768) format.
- // len - number of elements contained in input vector.
- //
- // Output Arguments: pDstFilterCoefsQ31 - pointer to the output vector
- // in Q31 format.
- //
- // Returns:
- // IppStsNoErr - No Error
- // IppStsBadArgErr - Bad Arguments
- //
- // Notes: none
- //
- */
- IPPAPI( IppStatus, ippsFilterUpdateWiener_32s,(const Ipp32s *pSrcPriorSNRQ15,
- Ipp32s *pDstFilterCoefsQ31, int len))
- IPPAPI( IppStatus, ippsFilterUpdateWiener_32f,(const Ipp32f *pSrcPriorSNR,
- Ipp32f *pDstFilterCoefs, int len) )
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsGetSizeMCRA
- // Purpose: Returns the size of memory for noise PSD estimator
- //
- // Arguments:
- // nFFTSize - number of elements contained in the input FFT.
- // pDstSize - pointer to the state structure.
- //
- // Returns:
- // IppStsNoErr - No Error
- // IppStsBadArgErr - Bad Arguments
- //
- // Notes: none
- //
- */
- IPPAPI( IppStatus, ippsGetSizeMCRA_32s,(int nFFTSize, int *pDstSize) )
- IPPAPI( IppStatus, ippsGetSizeMCRA_32f,(int nFFTSize, int *pDstSize) )
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsInitMCRA
- // Purpose: Initializes the noise PSD estimator
- // See page 14 of "Noise Estimation by Minima
- // Controlled Recursive Averaging for Robust Speech Enhancement"
- // by I. Cohen and B. Berdugo, IEEE Signal Proc. Letters, Vol. 9,
- // No. 1, Jan. 2002, pp. 12-15. Since the authors only established
- // parameters for a sample rate Fs of 16000 Hz and a block update of
- // 8 msec (M == 64 samples), it was necessary to derive equations
- // to support arbitrary sample rate and block update. These
- // equations are given in the comments below.
- // Arguments:
- // nSamplesPerSec - input sample rate.
- // nFFTSize - number of elements contained in the input FFT.
- // pDst - pointer to the state structure.
- // Returns:
- // IppStsNoErr - No Error
- // IppStsBadArgErr - Bad Arguments
- //
- // Notes: This function must be kept in synch with the definition of the
- // IppMCRAState. Memory pointers are assigned according to the order
- // in the structure.
- //
- */
- IPPAPI( IppStatus, ippsInitMCRA_32s,(int nSamplesPerSec, int nFFTSize,
- IppMCRAState *pDst) )
- IPPAPI( IppStatus, ippsInitMCRA_32f,(int nSamplesPerSec, int nFFTSize,
- IppMCRAState32f *pDst) )
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsAltInitMCRA
- // Purpose: Initializes alternative noise PSD estimator
- //
- // Arguments:
- // nSamplesPerSec - input sample rate.
- // nFFTSize - number of elements contained in the input FFT.
- // nUpdateSamples - number of new samples per frame
- // pDst - pointer to the state structure.
- //
- // Returns:
- // IppStsNoErr - No Error
- // IppStsBadArgErr - Bad Arguments
- //
- // Notes: This function is a candidate to replace ippsInitMCRA_32s. It provides
- // an added degree of flexibility so that the state can be initialized
- // properly when zero padding is used to support frame sizes that are
- // less than nFFTSize/2.
- // This function must be kept in synch with the definition of the
- // IppMCRAState. Memory pointers are assigned according to the order
- // in the structure.
- //
- */
- IPPAPI( IppStatus, ippsAltInitMCRA_32s,(int nSamplesPerSec,
- int nFFTSize,
- int nUpdateSamples,
- IppMCRAState *pDst) )
- IPPAPI( IppStatus, ippsAltInitMCRA_32f,(int nSamplesPerSec,
- int nFFTSize,
- int nUpdateSamples,
- IppMCRAState32f *pDst) )
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsUpdateNoisePSDMCRA
- // Purpose: Estimates the noise power spectral density
- // using the "Minima Controlled Recursive Averaging" method. See
- // "Noise Estimation by Minima Controlled Recursive Averaging for
- // Robust Speech Enhancement" by I. Cohen and B. Berdugo, IEEE
- // Signal Proc. Letters, Vol. 9, No. 1, Jan. 2002, pp. 12-15. To
- // relate this source code to the paper, the following table may
- // be helpful:
- //
- // Paper Eqn Source Code
- // ===== === ===========
- // |Y(k,l)|^2 4 pSrcNoisySpeech[k]
- // lambdahat_d(k,l) 4 pSrcDstNoisePSD[k] (input)
- // lambdahat_d(k,l+1) 4 pSrcDstNoisePSD[k] (output)
- // alpha_d 4 pSrcDstState->alphaDQ31
- // alphatilde_d(k,l) 4 alphaTildeDQ31
- // S(k,l-1) 7 pSrcDstState->pS[k] (input)
- // S(k,l) 7 pSrcDstState->pS[k] (output)
- // alpha_s 7 pSrcDstState->alphaSQ31
- // S_min(k,l-1) 8 pSrcDstState->pSmin[k] (input)
- // S_min(k,l) 8 pSrcDstState->pSmin[k] (output)
- // S_tmp(k,l-1) 9 pSrcDstState->pStmp[k] (input)
- // S_tmp(k,l) 9 pSrcDstState->pStmp[k] (output)
- // phatprime(k,l-1) 14 pSrcDstState->pPprimeQ31[k] (input)
- // phatprime(k,l) 14 pSrcDstState->pPprimeQ31[k] (output)
- // alpha_p 14 pSrcDstState->alphaPQ31
- //
- // Arguments:
- // pSrcNoisySpeech - pointer to the magnitude squared of the FFT of the noisy speech.
- // pSrcDstState - state structure.
- // pSrcDstNoisePSD - pointer to the input noise PSD vector.
- //
- // pSrcDstState - updated state structure.
- // pSrcDstNoisePSD - pointer to the output noise PSD vector.
- //
- // Returns:
- // IppStsNoErr - No Error
- // IppStsBadArgErr - Bad Arguments
- //
- // Notes: For reasonable signal levels, the pSrcNoisySpeech and pSrcDstNoisePSD
- // values will need to be scaled by 2^31 during the mag-squaring
- // procedure.
- //
- */
- IPPAPI( IppStatus, ippsUpdateNoisePSDMCRA_32s_I, (const Ipp32s *pSrcNoisySpeech,
- IppMCRAState *pSrcDstState, Ipp32s *pSrcDstNoisePSD))
- IPPAPI( IppStatus, ippsUpdateNoisePSDMCRA_32f_I, (const Ipp32f *pSrcNoisySpeech,
- IppMCRAState32f *pSrcDstState, Ipp32f *pSrcDstNoisePSD) )
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsFindPeaks
- // Purpose: Identifies the peaks in the input vector,
- // places a one in the output vector at the locations of the peaks
- // and places a zero elsewhere. A peak is defined as a point pSrc[i]
- // such that - pSrc[i-L] < pSrc[i-L+1] <...< pSrc[i] > pSrc[i+1] > ...> pSrc[i+L]
- // where L is the size of the search.
- // If movingAvgSize (M) is greater than 0, the input vector is smoothed
- // before peaks are selected -
- // pSrc[i] = (1/(2M+1)) {pSrc[i-M] + pSrc[i-M+1] + ... + pSrc[i] + pSrc[i+1]+
- // ...+ pSrc[i+M] }
- // Arguments:
- // pSrc - pointer to the input vector
- // len - number of elements contained in the input and output vectors
- // searchSize - number of elements on either side to consider when peak picking
- // movingAvgSize - width of the moving average window applied before peak picking
- // pDstPeaks - pointer to the output vector
- //
- // Returns: ippStsNoErr - No Error.
- // ippStsBadArgErr - Bad Arguments.
- // ippStsSizeErr - Error: search window greater than the internal
- // buffer that holds smoothed values
- //
- // Notes: Search the input vector. Calculate each number of the successive ascending elements
- // and the successive descending elements. If both the number of successive ascending
- // elements and the number of successive descending elements are greater than searchSize,
- // then, one peak was found.
- */
- IPPAPI(IppStatus, ippsFindPeaks_32s8u,(const Ipp32s *pSrc, Ipp8u *pDstPeaks,
- int len, int searchSize, int movingAvgSize))
- IPPAPI(IppStatus, ippsFindPeaks_32f8u,(const Ipp32f *pSrc, Ipp8u *pDstPeaks,
- int len, int searchSize, int movingAvgSize))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsPeriodicityLSPE
- // Purpose: Estimates the periodicity and period of the input frame.
- // The core algorithm used is the least-squares periodicity estimator as
- // described in Section 4.1 of the paper:
- // R.Tucker,"Voice activity etection using a periodicity measure",
- // IEEE Proceedings-I Vol. 139, No. 4, August 1992
- //
- // The approach is to compute the normalized periodicity measure (R1) for
- // all values of possible pitch periods in samples (Pmin <= P0 <= Pmax). The
- // maximum value of R1 obtained is the estimated periodicity of the input frame
- // and the corresponding period (P0) is the pitch period in samples of the input frame.
- //
- // The correspondence of the notation used in the paper to that used in
- // this function is as follows:
- // Paper Equation Source code
- // ----- -------- -----------
- // s 3, 4, 5 pSrc
- // Pmin 2 minPeriod
- // Pmax 2 maxPeriod
- // P0 3, 4, 5 p
- // I0 3, 5 i0
- // I1 3, 4 i1
- // R1 3 periodicityQ15
- // K0 4, 5 n
- //
- // Arguments:
- // pSrc - pointer to the input vector containing non-negative entries
- // (assumed input is energy values for time-domain signal.
- // len - number of elements contained in the input vector
- // maxPeriod - maximum pitch period (in samples) to search
- // minPeriod - minimum pitch period (in samples) to search
- //
- // periodicityQ15 - normalized sum of the largest harmonic sampling
- // period - period in sample that provided the maximum-energy harmonic
- // Returns: ippStsNoErr - No Error.
- // ippStsBadArgErr - Bad Arguments.
- //
- // Notes: none
- */
- IPPAPI(IppStatus, ippsPeriodicityLSPE_16s,(const Ipp16s *pSrc, int len,
- Ipp16s *periodicityQ15, int *period, int maxPeriod, int minPeriod))
- IPPAPI(IppStatus, ippsPeriodicityLSPE_32f,(const Ipp32f *pSrc, int len,
- Ipp32f *periodicity, int *period, int maxPeriod, int minPeriod))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsPeriodicity
- // Purpose: Computes the periodicity of the input vector. In typical
- // applications, the input vector is the magnitude-squared of the discrete Fourier
- // transform of speech. The periodicity is defined as the periodic sampling of the
- // input vector that preserves the most energy.
- //
- // The period is defined as P such that
- // P = argmax_(p) sum_n[ x(b + np) ]/N
- // where Pmin<=p<=Pmax, 0<b<p, N<=MAX_HARMONICS, 0<n<N
- // N is the smaller of the number of harmonics in the input vector
- // for a particular period (p) or MAX_HARMONICS
- //
- // Using the N,P values obtained above, the periodicity is calculated as:
- // periodicity = sum_n[x(k+nP)] / sum_n2[x(n2)], 0<n<N, 0<n2<len
- //
- //
- // Arguments:
- // pSrc - pointer to the input vector containing non-negative entries
- // for, e.g. magnitude spectrum values
- // len - number of elements contained in the input vector
- // maxPeriod - maximum period to search
- // minPeriod - minimum period of search
- //
- // periodicityQ15 - normalized sum of the largest harmonic sampling
- // period - period in sample that provided the maximum-energy harmonics
- //
- // Returns: ippStsNoErr - No Error.
- // ippStsBadArgErr - Bad Arguments.
- //
- // Notes: none
- */
- IPPAPI(IppStatus, ippsPeriodicity_32s16s, (const Ipp32s *pSrc, int len,
- Ipp16s *periodicityQ15, int *period, int maxPeriod, int minPeriod))
- IPPAPI(IppStatus, ippsPeriodicity_32f, (const Ipp32f *pSrc, int len,
- Ipp32f *periodicity, int *period, int maxPeriod, int minPeriod))
- /* /////////////////////////////////////////////////////////////////////////////
- // Name: ippsNthMaxElement_*
- // Purpose: Functions ippsNthMaxElement find N-th maximal element of
- // the input vector pSrc.
- // Parameters:
- // pSrc Pointer to the input vector [len].
- // len Number of elements in the input vector pSrc.
- // N Rank of element to find.
- // pRes Pointer to the value of N-th maximal element.
- // Return:
- // ippStsNoErr Indicates no error.
- // ippStsNullPtrErr Indicates an error when pSrc or pRes is NULL.
- // ippStsSizeErr Indicates an error when len is less than or equal to 0 or.
- // ippStsBadArgErr Indicates an error when N is less then 0 or is greater than or equal to len.
- // Notes:
- */
- IPPAPI(IppStatus, ippsNthMaxElement_32s,(const Ipp32s* pSrc, int len, int N, Ipp32s* pRes))
- IPPAPI(IppStatus, ippsNthMaxElement_32f,(const Ipp32f* pSrc, int len, int N, Ipp32f* pRes))
- IPPAPI(IppStatus, ippsNthMaxElement_64f,(const Ipp64f* pSrc, int len, int N, Ipp64f* pRes))
- /*======== End of declaration of functions ===================================*/
- #ifdef __cplusplus
- }
- #endif
- #if defined (_IPP_STDCALL_CDECL)
- #undef _IPP_STDCALL_CDECL
- #define __stdcall __cdecl
- #endif
- #endif /* __IPPSR_H__ */
- /* ////////////////////////// End of file "ippsr.h" ///////////////////////// */
|