18e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels/******************************************************************** 28e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels * * 38e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 48e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 58e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 68e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 78e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels * * 88e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * 98e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels * by the Xiph.Org Foundation http://www.xiph.org/ * 108e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels * * 118e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels ******************************************************************** 128e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels 138e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels function: utility functions for loading .vqh and .vqd files 148e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels last mod: $Id: bookutil.h 13293 2007-07-24 00:09:47Z xiphmont $ 158e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels 168e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels ********************************************************************/ 178e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels 188e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels#ifndef _V_BOOKUTIL_H_ 198e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels#define _V_BOOKUTIL_H_ 208e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels 218e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels#include <stdio.h> 228e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels#include <sys/time.h> 238e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels 248e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels#include "localcodebook.h" 258e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels 268e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsextern char *get_line(FILE *in); 278e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsextern char *setup_line(FILE *in); 288e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsextern int get_line_value(FILE *in,float *value); 298e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsextern int get_next_value(FILE *in,float *value); 308e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsextern int get_next_ivalue(FILE *in,long *ivalue); 318e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsextern void reset_next_value(void); 328e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsextern int get_vector(codebook *b,FILE *in,int start,int num,float *a); 338e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsextern char *find_seek_to(FILE *in,char *s); 348e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels 358e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsextern codebook *codebook_load(char *filename); 368e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsextern void write_codebook(FILE *out,char *name,const static_codebook *c); 378e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels 388e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsextern void spinnit(char *s,int n); 398e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsextern void build_tree_from_lengths(int vals, long *hist, long *lengths); 408e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsextern void build_tree_from_lengths0(int vals, long *hist, long *lengths); 418e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels 428e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels#endif 438e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels 44