diff options
author | Monty <xiphmont@xiph.org> | 2001-08-13 01:37:17 +0000 |
---|---|---|
committer | Monty <xiphmont@xiph.org> | 2001-08-13 01:37:17 +0000 |
commit | d59cea578a9f2b9961218e1440026715371836d8 (patch) | |
tree | 2040cd8a12d5eaa342ba09a09e54ed1239f67f00 /lib/codec_internal.h | |
parent | f9e9af66a421be8bbdb5e0132dddc2b83174feff (diff) | |
download | libvorbis-git-d59cea578a9f2b9961218e1440026715371836d8.tar.gz |
Bringing rc2 (minus the modes it needs) onto mainline.
Monty
svn path=/trunk/vorbis/; revision=1815
Diffstat (limited to 'lib/codec_internal.h')
-rw-r--r-- | lib/codec_internal.h | 77 |
1 files changed, 34 insertions, 43 deletions
diff --git a/lib/codec_internal.h b/lib/codec_internal.h index 3b333684..7efbb030 100644 --- a/lib/codec_internal.h +++ b/lib/codec_internal.h @@ -10,7 +10,7 @@ ******************************************************************** function: libvorbis codec headers - last mod: $Id: codec_internal.h,v 1.8 2001/03/26 23:27:43 xiphmont Exp $ + last mod: $Id: codec_internal.h,v 1.9 2001/08/13 01:36:56 xiphmont Exp $ ********************************************************************/ @@ -19,8 +19,6 @@ #include "envelope.h" #include "codebook.h" -#include "psy.h" -#include "bitbuffer.h" typedef struct vorbis_block_internal{ float **pcmdelay; /* this is a pointer into local storage */ @@ -33,12 +31,28 @@ typedef void vorbis_look_floor; typedef void vorbis_look_residue; typedef void vorbis_look_transform; +/* mode ************************************************************/ +typedef struct { + int blockflag; + int windowtype; + int transformtype; + int mapping; +} vorbis_info_mode; + +typedef void vorbis_info_time; +typedef void vorbis_info_floor; +typedef void vorbis_info_residue; +typedef void vorbis_info_mapping; + +#include "psy.h" + typedef struct backend_lookup_state { /* local lookup storage */ envelope_lookup *ve; /* envelope lookup */ float **window[2][2][2]; /* block, leadin, leadout, type */ vorbis_look_transform **transform[2]; /* block, type */ codebook *fullbooks; + vorbis_look_psy_global *psy_g_look; /* backend lookups are tied to the mode, not the backend or naked mapping */ int modebits; @@ -51,24 +65,9 @@ typedef struct backend_lookup_state { unsigned char *header; unsigned char *header1; unsigned char *header2; - - float ampmax; - + } backend_lookup_state; -/* mode ************************************************************/ -typedef struct { - int blockflag; - int windowtype; - int transformtype; - int mapping; -} vorbis_info_mode; - -typedef void vorbis_info_time; -typedef void vorbis_info_floor; -typedef void vorbis_info_residue; -typedef void vorbis_info_mapping; - /* vorbis_info contains all the setup information specific to the specific compression/decompression mode in progress (eg, psychoacoustic settings, channel setup, options, codebook @@ -83,7 +82,7 @@ typedef struct codec_setup_info { long blocksizes[2]; /* modes are the primary means of supporting on-the-fly different - blocksizes, different channel mappings (LR or mid-side), + blocksizes, different channel mappings (LR or M/A), different residue backends, etc. Each mode consists of a blocksize flag and a mapping (along with the mapping setup */ @@ -95,30 +94,22 @@ typedef struct codec_setup_info { int books; int psys; /* encode only */ - vorbis_info_mode *mode_param[64]; - int map_type[64]; - vorbis_info_mapping *map_param[64]; - int time_type[64]; - vorbis_info_time *time_param[64]; - int floor_type[64]; - vorbis_info_floor *floor_param[64]; - int residue_type[64]; - vorbis_info_residue *residue_param[64]; - static_codebook *book_param[256]; - vorbis_info_psy *psy_param[64]; /* encode only */ - - /* for block long/sort tuning; encode only */ - int envelopesa; - float preecho_thresh[4]; - float postecho_thresh[4]; - float preecho_minenergy; - - float ampmax_att_per_sec; - - /* delay caching... how many samples to keep around prior to our - current block to aid in analysis? */ - int delaycache; + vorbis_info_mode *mode_param[64]; + int map_type[64]; + vorbis_info_mapping *map_param[64]; + int time_type[64]; + vorbis_info_time *time_param[64]; + int floor_type[64]; + vorbis_info_floor *floor_param[64]; + int residue_type[64]; + vorbis_info_residue *residue_param[64]; + static_codebook *book_param[256]; + vorbis_info_psy *psy_param[64]; /* encode only */ + vorbis_info_psy_global *psy_g_param; } codec_setup_info; +extern vorbis_look_psy_global *_vp_global_look(vorbis_info *vi); +extern void _vp_global_free(vorbis_look_psy_global *look); + #endif |