typedefstruct vorbis_block_internal{ float **pcmdelay; /* this is a pointer into local storage */ float ampmax; int blocktype;
oggpack_buffer *packetblob[PACKETBLOBS]; /* initialized, must be freed; blob[PACKETBLOBS/2]pointsto theoggpack_bufferinthe
main vorbis_block */
} vorbis_block_internal;
/* mode ************************************************************/ typedefstruct { int blockflag; int windowtype; int transformtype; int mapping;
} vorbis_info_mode;
typedefstruct private_state { /* local lookup storage */
envelope_lookup *ve; /* envelope lookup */ int window[2];
vorbis_look_transform **transform[2]; /* block, type */
drft_lookup fft_look[2];
int modebits;
vorbis_look_floor **flr;
vorbis_look_residue **residue;
vorbis_look_psy *psy;
vorbis_look_psy_global *psy_g_look;
/* local storage, only used on the encoding side. This way the applicationdoesnotneedtoworryaboutfreeingsomepackets' memoryandnotothers';packetstorageisalwaystracked.
Cleared next call to a _dsp_ function */ unsignedchar *header; unsignedchar *header1; unsignedchar *header2;
bitrate_manager_state bms;
ogg_int64_t sample_count;
} private_state;
/* codec_setup_info contains all the setup information specific to the specificcompression/decompressionmodeinprogress(eg, psychoacousticsettings,channelsetup,options,codebook etc).
*********************************************************************/
/* Vorbis supports only short and long blocks, but allows the
encoder to choose the sizes */
long blocksizes[2];
/* modes are the primary means of supporting on-the-fly different blocksizes,differentchannelmappings(LRorM/A), differentresiduebackends,etc.Eachmodeconsistsofa
blocksize flag and a mapping (along with the mapping setup */
int modes; int maps; int floors; int residues; int books; int psys; /* encode only */
vorbis_info_mode *mode_param[64]; int map_type[64];
vorbis_info_mapping *map_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];
codebook *fullbooks;
vorbis_info_psy *psy_param[4]; /* encode only */
vorbis_info_psy_global psy_g_param;
bitrate_manager_info bi;
highlevel_encode_setup hi; /* used only by vorbisenc.c. It's a highlyredundantstructure,but
improves clarity of program flow. */ int halfrate_flag; /* painless downsample for decode */
} codec_setup_info;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.