14a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/*---------------------------------------------------------------------------* 24a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * pre_desc.h * 34a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * * 44a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Copyright 2007, 2008 Nuance Communciations, Inc. * 54a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * * 64a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the 'License'); * 74a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * you may not use this file except in compliance with the License. * 84a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * * 94a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * You may obtain a copy of the License at * 104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 * 114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * * 124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Unless required by applicable law or agreed to in writing, software * 134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * distributed under the License is distributed on an 'AS IS' BASIS, * 144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * 154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * See the License for the specific language governing permissions and * 164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * limitations under the License. * 174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * * 184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *---------------------------------------------------------------------------*/ 194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#ifndef _h_pre_desc_ 234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define _h_pre_desc_ 244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#ifdef SET_RCSID 264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectstatic const char pre_desc_h[] = "$Id: pre_desc.h,v 1.3.6.10 2008/03/07 19:41:39 dahan Exp $"; 274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#endif 284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "all_defs.h" 314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "hmm_type.h" 324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "specnorm.h" 334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#ifndef _RTT 344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "duk_io.h" 354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#endif 364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define DO_SUBTRACTED_SEGMENTATION 0 384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#ifndef NONE 404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define NONE 0 414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#endif 424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define SCALE 1 /* Scaling the channels */ 434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define LIN_TRAN 2 /* Linear Transformation */ 444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define VFR 4 /* Variable frame rate */ 454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define USE_MULTAB 8 /* Set up multable distance calculations */ 464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @todo document 494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projecttypedef struct 514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project{ /* mul-table data types */ 524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project unsigned short sigma; 534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int num; 544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project short *pdf; 554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project} 564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectmul_table; 574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @todo document 604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projecttypedef struct 624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project{ 634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project unsigned short num_dev8_index; 644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project unsigned char *dev8_index; 654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project unsigned short *wt_index; 664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project short *gauss_dist_table; 674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project short **dist_ptr; 684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project prdata multable_factor; /* euclidean to multable */ 694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project prdata multable_factor_gaussian; /* euclidean to multable */ 704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project prdata grand_mod_cov; /* grand covariance modulus */ 714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project prdata grand_mod_cov_gaussian; /* grand covariance modulus */ 724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project} 734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectmul_table_info; 744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @todo document 774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projecttypedef struct 794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project{ 804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project const prdata *table; 814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project prdata add_log_limit; 824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project prdata scale; /* X - scale to log function */ 834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project prdata inv_scale; 844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project float logscale; /* Y - scale to log function */ 854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project} 864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectlogadd_table_info; 874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @todo document 904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projecttypedef struct 924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project{ 934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project unsigned long num; 944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project accdata **between; 954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project accdata *bmean; 964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project accdata **within; 974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project accdata *wmean; 984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project} 994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projecttransform_info; 1004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 1014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 1024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @todo document 1034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 1044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projecttypedef struct 1054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project{ /* Segmentation parameters */ 1064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int rel_low; 1074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int rel_high; 1084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int gap_period; 1094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int click_period; 1104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int breath_period; 1114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int extend_annotation; 1124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int param; 1134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int min_initial_quiet_frames; /* num silence frames needed before input */ 1144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int min_annotation_frames; /* minimum overall length */ 1154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int max_annotation_frames; /* maximum overall length */ 1164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int delete_leading_segments; /* num segments to delete. 0=no action */ 1174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int leading_segment_accept_if_not_found; /* Do not reject segmentation if not found */ 1184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int leading_segment_min_frames; /* remove unless shorter */ 1194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int leading_segment_max_frames; /* remove unless exceeded */ 1204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int leading_segment_min_silence_gap_frames;/* remove if good silence gap to next segment */ 1214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int beep_size; /*X201 beep filter */ 1224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int beep_threshold; /*X201 beep filter */ 1234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int min_segment_rel_c0; /* Any segment gets deleted whose peak c0 is < max - min_segment_rel_c0 */ 1244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 1254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#if DO_SUBTRACTED_SEGMENTATION 1264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int snr_holdoff; /* Ignore first n frames when estimating speech level for SNR measure */ 1274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int min_acceptable_snr; /* for an acceptable segmentation */ 1284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#endif 1294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project} 1304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectendpoint_info; 1314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 1324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 1334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 1344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @todo document 1354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 1364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projecttypedef struct 1374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project{ /* processed speech data/front end output */ 1384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int ref_count; /* reference counts */ 1394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project /* Pattern vector section */ 1404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int dim; /* dimension of frame vector */ 1414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int use_dim; /* dimension used for recognition */ 1424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int whole_dim; /* reduced feature use. Set unused to 127 (0) on model construction */ 1434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int use_from; /* first channel used for recognition */ 1444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project featdata *last_frame; /* last frame processed in frame buffer */ 1454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project imeldata *seq; /* current valid frame */ 1464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project imeldata *seq_unnorm; /* current valid frame, for whole-word models */ 1474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project prdata seq_sq_sum; /* sum of the squared of frames */ 1484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project prdata seq_sq_sum_whole; /* sum of the squared of frames, for wholeword */ 1494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project prdata seq_unnorm_sq_sum_whole; /* sum of the squared of frames, for wholeword */ 1504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int voicing_status; /* voicing code */ 1514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int post_proc; /* post processing functions */ 1524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project imeldata *offset; /* offset vector with transformation */ 1534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project imeldata **matrix; /* linear transformation matrix */ 1544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int imel_shift; /* Imelda scale factor (in shifts) */ 1554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project covdata **imelda; /* linear transformation matrix, PMC or RN */ 1564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project imeldata **invmat; /* inverse transformation matrix */ 1574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int inv_shift; /* inverse Imelda scale factor (in shifts) */ 1584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project covdata **inverse; /* inverse linear transformation matrix, PMC or RN */ 1594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#if PARTIAL_DISTANCE_APPROX /* Gaussian tail approximation? */ 1604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int partial_distance_calc_dim; /* number of params to calc distance over, before approximating if beyond threshold */ 1614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project scodata partial_distance_threshold; 1624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project prdata partial_distance_calc_threshold; 1634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project prdata partial_distance_offset; 1644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project prdata global_distance_over_n_params; 1654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int global_model_means[MAX_DIMEN]; 1664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project prdata partial_mean_sq_sum; 1674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project prdata partial_seq_sq_sum; 1684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project prdata partial_seq_unnorm_sq_sum; 1694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#endif 1704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project imeldata *chan_offset; 1714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project /* Channel Normalization etc */ 1724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 1734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project /* Tables */ 1744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project prdata exp_wt[MAX_WTS]; /* weights exp lookup table */ 1754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project mul_table_info mul; /* Mul-table */ 1764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project logadd_table_info add; /* logadd-table */ 1774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project /* ENC */ 1784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project booldata is_setup_for_noise; 1794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project booldata do_whole_enc; /* to enable ENC */ 1804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project booldata do_sub_enc; /* to enable ENC */ 1814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project booldata enc_count; 1824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project booldata ambient_valid; /* ambient estimates valid */ 1834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project imeldata **pmc_fixmat; /* ENC matrix */ 1844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project imeldata **pmc_fixinv; /* inverse ENC matrix */ 1854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project covdata **pmc_matrix; /* ENC matrix in float */ 1864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project covdata **pmc_inverse; /* inverse ENC matrix in float */ 1874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int pmc_matshift; /* scaling */ 1884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int pmc_invshift; /* scaling */ 1894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project imeldata *ambient_mean; /* ambient mean vector */ 1904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project imeldata *ambient_prof; /* ambient estimates, pseudo space */ 1914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project imeldata *ambient_prof_unnorm; /* ambient estimates, unnormalised */ 1924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project logadd_table_info fbadd; /* logadd-table for ENC */ 1934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#if DO_SUBTRACTED_SEGMENTATION 1944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int mel_dim; 1954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project covdata **spec_inverse; 1964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project imeldata **spec_fixinv; 1974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int spec_invshift; 1984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project int *cep_offset; 1994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#endif 2004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project /* Parameters */ 2014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project prdata mix_score_scale; /* Mixture score scaling constant */ 2024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project prdata uni_score_scale; /* Unimodal score scaling constant */ 2034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project prdata uni_score_offset; /* Unimodal score offset constant */ 2044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project prdata imelda_scale; /* Imelda grand variance */ 2054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project /* Endpoint data */ 2064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project endpoint_info end; 2074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 2084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project} 2094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectpreprocessed; 2104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 2114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 2124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @todo document 2134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 2144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projecttypedef struct 2154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project{ 2164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project preprocessed *prep; /* The preprocessed data structure */ 2174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project /* The following stuff cannot be cloned */ 2184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project booldata do_imelda; /* Alignment based accumulation */ 2194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project transform_info imelda_acc; 2204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project} 2214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectpattern_info; 2224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 2234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#endif /* _h_pre_desc_ */ 224