All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
vcd.h
Go to the documentation of this file.
1 #ifndef _VCD_H
2 #define _VCD_H
3 
4 #if defined(__cplusplus)
5 extern "C"
6 {
7 #endif
8 
16 /*
17  =============================================================================
18  */
19 
26 /*--------------------------------------------------------------------------
27  Includes
28  ---------------------------------------------------------------------------*/
29 
30 #include <stdint.h>
31 #include <stdbool.h>
32 #include <stdio.h>
33 
34 /*--------------------------------------------------------------------------
35  Defines
36  -------------------------------------------------------------------------*/
37 
38 /*
39  =============================================================================
40  */
41 
52 /*
53  =============================================================================
54  */
63 #define VCD_SAMPLE_RATE (8000)
64 
66 #define VCD_FRAME_SAMPLES (160)
67 
69 #define VCD_MODELS_OVERHEAD (6)
70 
72 #define VCD_MODELS_NAME_CHARS (16)
73 
75 #define VCD_MODELS_OBS_DATA (16)
76 
78 #define VCD_P_MULT (2)
79 
81 #define VCD_M16_MULT (39)
82 
84 #define VCD_M16_ADD (16)
85 
86 #define VCD_API
87 
90 /*----------------------------------------------------------------------------
91  Typedefs and Enumerations
92  --------------------------------------------------------------------------- */
93 
94 /*
95  =============================================================================
96  */
97 
111 typedef struct VCD_ConfigStructDef
112 {
114  uint_least16_t modelsNum;
116  uint_least16_t modelsObsMax;
119  uint_least32_t modelsSizeMax;
122  int_least16_t **modelsList;
124  int_least16_t numUserModels;
126  void *p;
128  int_least16_t *m16;
130 
137 typedef struct VCD_ObjStructDef *VCD_Handle;
138 
143 typedef enum VCD_MessageEnumDef
144 {
178 
182 typedef enum VCD_ModelTypesEnum
183 {
195 
199 {
207 
210 typedef struct VCD_RecoStructDef
211 {
215  int_least32_t fullScore;
217  int_least32_t confScore;
219  int_least16_t normScore;
223  int_least16_t modelIndex;
225  char const *name;
227 
230 
234 {
236  int_least16_t numModels;
238  int_least16_t numObs;
240  int_least16_t numUpdates;
242  int_least16_t type;
244  char const *name;
246  int_least16_t index;
248  bool enabled;
250 
253 
259 typedef struct VCD_ParamsStructDef
260 {
262  int_least16_t unnormMixScore;
264  int_least16_t unnormFillerScore;
266  int_least16_t unnormStayScore;
268  int_least16_t unnormProgScore;
270  int_least16_t unnormSkipScore;
272  int_least16_t iMaxDelta;
275  int_least16_t hmmTransWgt;
278  int_least16_t oovMult;
281  int_least16_t scrThreshMult;
284  int_least16_t minModelStates;
287  int_least16_t maxModelStates;
291  char const *keyword;
295  char const *filler;
300  int_least16_t sampleRate;
302  int_least16_t frameLength;
306  int_least16_t vadAlpha;
309  int_least16_t vadSigSNRThresh;
311 
314 
317 /*
318  ---------------------------------------------------------------------------
319  Functions
320  ---------------------------------------------------------------------------*/
321 /*
322  =============================================================================
323  */
324 
340 VCD_API
341 VCD_MessageEnum VCD_init(VCD_Handle *pmh, VCD_ConfigStruct *config);
342 
351 VCD_API
352 VCD_MessageEnum VCD_startEnroll(VCD_Handle vh, char const *name);
353 
405 VCD_API
406 VCD_MessageEnum VCD_processFrame(VCD_Handle vh,
407  int_least16_t const *data);
408 
423 VCD_API
425  int_least16_t *quality);
426 
443 VCD_API
445  int_least16_t *difference);
446 
457 VCD_API
458 VCD_MessageEnum VCD_addEnroll(VCD_Handle vh);
459 
467 VCD_API
468 VCD_MessageEnum VCD_stopEnroll(VCD_Handle vh);
469 
478 VCD_API
479 VCD_MessageEnum VCD_startUpdate(VCD_Handle vh, char const *name);
480 
500 VCD_API
501 VCD_MessageEnum VCD_addUpdate(VCD_Handle vh,
502  int_least16_t priorUpdates);
503 
511 VCD_API
512 VCD_MessageEnum VCD_stopUpdate(VCD_Handle vh);
513 
518 VCD_API
519 VCD_MessageEnum VCD_startSearch(VCD_Handle vh);
520 
526 VCD_API
527 VCD_MessageEnum VCD_stopSearch(VCD_Handle vh);
528 
544 VCD_API
545 VCD_MessageEnum VCD_getResult(VCD_Handle vh,
546  VCD_Reco result);
547 
559 VCD_API
560 VCD_MessageEnum VCD_resetSearch(VCD_Handle vh);
561 
576 VCD_API
577 VCD_MessageEnum VCD_getModelInfo(VCD_Handle vh, char const *name,
578  int_least16_t index,
579  VCD_ModelInfo info);
580 
590 VCD_API
591 VCD_MessageEnum VCD_removeModel(VCD_Handle vh, char const *name,
592  int_least16_t index);
593 
608 VCD_API
609 VCD_MessageEnum VCD_disableModel(VCD_Handle vh, char *name,
610  int_least16_t index);
611 
623 VCD_API
624 VCD_MessageEnum VCD_enableModel(VCD_Handle vh, char *name,
625  int_least16_t index);
626 
637 VCD_API
638 VCD_MessageEnum VCD_getParams(VCD_Handle vh, VCD_Params params);
639 
647 VCD_API
648 VCD_MessageEnum VCD_setParams(VCD_Handle vh, VCD_Params params);
649 
657 VCD_API
658 VCD_MessageEnum VCD_shutdown(VCD_Handle vh);
659 
664 VCD_API
665 VCD_MessageEnum VCD_checkValidModel(int_least16_t *address);
666 
673 VCD_API
674 VCD_MessageEnum VCD_addList(VCD_Handle vh,
675  int_least16_t **modelsList,
676  int_least16_t numModels);
677 
686 VCD_API
687 VCD_MessageEnum VCD_writeModel( VCD_Handle vh,
688  int_least16_t *ptrModel,
689  int_least32_t mSize,
690  int_least16_t **mAddress);
691 
697 VCD_API
698 VCD_MessageEnum VCD_clearModel(int_least16_t *mAddress);
699 
708 VCD_MessageEnum VCD_updateModel(VCD_Handle vh,
709  int_least16_t *ptrModel,
710  int_least32_t mSize,
711  int_least16_t *mAddress);
712 
715 #if defined( __cplusplus )
716 }
717 #endif
718 
719 #endif //_VCD_H
int_least16_t oovMult
Definition: vcd.h:278
Definition: vcd.h:170
Definition: vcd.h:168
int_least16_t iMaxDelta
Definition: vcd.h:272
VCD_MessageEnum VCD_updateModel(VCD_Handle vh, int_least16_t *ptrModel, int_least32_t mSize, int_least16_t *mAddress)
VCD_API VCD_MessageEnum VCD_setParams(VCD_Handle vh, VCD_Params params)
uint_least16_t modelsObsMax
Definition: vcd.h:116
int_least16_t unnormMixScore
Definition: vcd.h:262
int_least16_t unnormProgScore
Definition: vcd.h:268
Definition: vcd.h:146
int_least16_t type
Definition: vcd.h:242
struct VCD_RecoStructDef VCD_RecoStruct
VCD_API VCD_MessageEnum VCD_shutdown(VCD_Handle vh)
VCD_API VCD_MessageEnum VCD_enableModel(VCD_Handle vh, char *name, int_least16_t index)
VCD_API VCD_MessageEnum VCD_getEnrollQuality(VCD_Handle vh, int_least16_t *quality)
Definition: vcd.h:166
char const * keyword
Definition: vcd.h:291
VCD_API VCD_MessageEnum VCD_addEnroll(VCD_Handle vh)
int_least16_t maxModelStates
Definition: vcd.h:287
VCD_RecoResultEnumDef
Definition: vcd.h:198
Definition: vcd.h:158
VCD_API VCD_MessageEnum VCD_processFrame(VCD_Handle vh, int_least16_t const *data)
VCD_API VCD_MessageEnum VCD_checkValidModel(int_least16_t *address)
Definition: vcd.h:193
VCD_ModelTypesEnum
Definition: vcd.h:182
VCD_RecoStruct * VCD_Reco
Definition: vcd.h:229
int_least16_t modelIndex
Definition: vcd.h:223
Definition: vcd.h:111
Definition: vcd.h:201
int_least16_t vadSigSNRThresh
Definition: vcd.h:309
int_least16_t numModels
Definition: vcd.h:236
VCD_API VCD_MessageEnum VCD_resetSearch(VCD_Handle vh)
struct VCD_ConfigStructDef VCD_ConfigStruct
VCD_API VCD_MessageEnum VCD_removeModel(VCD_Handle vh, char const *name, int_least16_t index)
enum VCD_MessageEnumDef VCD_MessageEnum
VCD_API VCD_MessageEnum VCD_addUpdate(VCD_Handle vh, int_least16_t priorUpdates)
int_least16_t unnormStayScore
Definition: vcd.h:266
VCD_API VCD_MessageEnum VCD_startSearch(VCD_Handle vh)
VCD_API VCD_MessageEnum VCD_getResult(VCD_Handle vh, VCD_Reco result)
Definition: vcd.h:156
VCD_API VCD_MessageEnum VCD_stopEnroll(VCD_Handle vh)
VCD_RecoResultEnum status
Definition: vcd.h:213
VCD_API VCD_MessageEnum VCD_startUpdate(VCD_Handle vh, char const *name)
int_least16_t numUpdates
Definition: vcd.h:240
Definition: vcd.h:174
char const * name
Definition: vcd.h:225
VCD_API VCD_MessageEnum VCD_disableModel(VCD_Handle vh, char *name, int_least16_t index)
struct VCD_ParamsStructDef VCD_ParamsStruct
int_least16_t * m16
Definition: vcd.h:128
VCD_API VCD_MessageEnum VCD_addList(VCD_Handle vh, int_least16_t **modelsList, int_least16_t numModels)
Definition: vcd.h:162
Definition: vcd.h:203
bool enabled
Definition: vcd.h:248
VCD_API VCD_MessageEnum VCD_init(VCD_Handle *pmh, VCD_ConfigStruct *config)
Definition: vcd.h:150
VCD_ParamsStruct * VCD_Params
Definition: vcd.h:313
int_least16_t hmmTransWgt
Definition: vcd.h:275
void * p
Definition: vcd.h:126
Definition: vcd.h:259
int_least16_t numObs
Definition: vcd.h:238
int_least16_t minModelStates
Definition: vcd.h:284
Definition: vcd.h:148
enum VCD_RecoResultEnumDef VCD_RecoResultEnum
int_least16_t normScore
Definition: vcd.h:219
VCD_API VCD_MessageEnum VCD_getEnrollDifference(VCD_Handle vh, int_least16_t *difference)
VCD_API VCD_MessageEnum VCD_startEnroll(VCD_Handle vh, char const *name)
int_least32_t fullScore
Definition: vcd.h:215
VCD_API VCD_MessageEnum VCD_writeModel(VCD_Handle vh, int_least16_t *ptrModel, int_least32_t mSize, int_least16_t **mAddress)
VCD_API VCD_MessageEnum VCD_stopUpdate(VCD_Handle vh)
int_least16_t frameLength
Definition: vcd.h:302
Definition: vcd.h:189
char const * filler
Definition: vcd.h:295
uint_least32_t modelsSizeMax
Definition: vcd.h:119
int_least32_t confScore
Definition: vcd.h:217
int_least16_t vadAlpha
Definition: vcd.h:306
Definition: vcd.h:152
bool waitCommit
Definition: vcd.h:298
char const * name
Definition: vcd.h:244
int_least16_t numUserModels
Definition: vcd.h:124
struct VCD_ObjStructDef * VCD_Handle
Definition: vcd.h:137
#define VCD_API
Definition: vcd.h:86
VCD_MessageEnumDef
Definition: vcd.h:143
VCD_API VCD_MessageEnum VCD_stopSearch(VCD_Handle vh)
Definition: vcd.h:176
int_least16_t index
Definition: vcd.h:246
VCD_API VCD_MessageEnum VCD_clearModel(int_least16_t *mAddress)
VCD_ModelInfoStruct * VCD_ModelInfo
Definition: vcd.h:252
VCD_API VCD_MessageEnum VCD_getParams(VCD_Handle vh, VCD_Params params)
int_least16_t scrThreshMult
Definition: vcd.h:281
Definition: vcd.h:210
Definition: vcd.h:154
struct VCD_ModelInfoStructDef VCD_ModelInfoStruct
VCD_API VCD_MessageEnum VCD_getModelInfo(VCD_Handle vh, char const *name, int_least16_t index, VCD_ModelInfo info)
int_least16_t unnormFillerScore
Definition: vcd.h:264
Definition: vcd.h:233
Definition: vcd.h:160
Definition: vcd.h:205
int_least16_t ** modelsList
Definition: vcd.h:122
uint_least16_t modelsNum
Definition: vcd.h:114
Definition: vcd.h:164
int_least16_t sampleRate
Definition: vcd.h:300
int_least16_t unnormSkipScore
Definition: vcd.h:270
Copyright 2017, Texas Instruments Incorporated