********************************************************************
function: basic shared codebook operations
- last mod: $Id$
********************************************************************/
long *quantlist; /* map == 1: (int)(entries^(1/dim)) element column map
map == 2: list of dim*entries quantized entry vals
*/
-
- /* encode helpers ********************************************************/
- struct encode_aux_nearestmatch *nearest_tree;
- struct encode_aux_threshmatch *thresh_tree;
- struct encode_aux_pigeonhole *pigeon_tree;
-
int allocedp;
} static_codebook;
-/* this structures an arbitrary trained book to quickly find the
- nearest cell match */
-typedef struct encode_aux_nearestmatch{
- /* pre-calculated partitioning tree */
- long *ptr0;
- long *ptr1;
-
- long *p; /* decision points (each is an entry) */
- long *q; /* decision points (each is an entry) */
- long aux; /* number of tree entries */
- long alloc;
-} encode_aux_nearestmatch;
-
-/* assumes a maptype of 1; encode side only, so that's OK */
-typedef struct encode_aux_threshmatch{
- float *quantthresh;
- long *quantmap;
- int quantvals;
- int threshvals;
-} encode_aux_threshmatch;
-
-typedef struct encode_aux_pigeonhole{
- float min;
- float del;
-
- int mapentries;
- int quantvals;
- long *pigeonmap;
-
- long fittotal;
- long *fitlist;
- long *fitmap;
- long *fitlength;
-} encode_aux_pigeonhole;
-
typedef struct codebook{
long dim; /* codebook dimensions (elements per vector) */
long entries; /* codebook entries */
int dec_firsttablen;
int dec_maxlength;
+ /* The current encoder uses only centered, integer-only lattice books. */
+ int quantvals;
+ int minval;
+ int delta;
+
} codebook;
extern void vorbis_staticbook_clear(static_codebook *b);