1 /********************************************************************
3 * THIS FILE IS PART OF THE OggVorbis 'TREMOR' CODEC SOURCE CODE. *
5 * THE OggVorbis 'TREMOR' SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
6 * BY THE Xiph.Org FOUNDATION http://www.xiph.org/ *
7 * ALL REDISTRIBUTION RIGHTS RESERVED. *
9 ********************************************************************
11 function: libvorbis codec headers
13 ********************************************************************/
20 typedef void vorbis_look_mapping
;
21 typedef void vorbis_look_floor
;
22 typedef void vorbis_look_residue
;
23 typedef void vorbis_look_transform
;
25 /* mode ************************************************************/
33 typedef void vorbis_info_floor
;
34 typedef void vorbis_info_residue
;
35 typedef void vorbis_info_mapping
;
37 typedef struct backend_lookup_state
{
38 /* local lookup storage */
39 ogg_int32_t
*window
[2];
41 /* backend lookups are tied to the mode, not the backend or naked mapping */
43 vorbis_look_mapping
**mode
;
45 } backend_lookup_state
;
47 /* codec_setup_info contains all the setup information specific to the
48 specific compression/decompression mode in progress (eg,
49 psychoacoustic settings, channel setup, options, codebook
51 *********************************************************************/
53 typedef struct codec_setup_info
{
55 /* Vorbis supports only short and long blocks, but allows the
56 encoder to choose the sizes */
60 /* modes are the primary means of supporting on-the-fly different
61 blocksizes, different channel mappings (LR or M/A),
62 different residue backends, etc. Each mode consists of a
63 blocksize flag and a mapping (along with the mapping setup */
72 vorbis_info_mode
*mode_param
[64];
74 vorbis_info_mapping
*map_param
[64];
77 vorbis_info_floor
*floor_param
[64];
79 vorbis_info_residue
*residue_param
[64];
80 static_codebook
*book_param
[256];
83 int passlimit
[32]; /* iteration limit per couple/quant pass */