Path: blob/master/genplus-gx/core/tremor/codec_internal.h
2 views
/********************************************************************1* *2* THIS FILE IS PART OF THE OggVorbis 'TREMOR' CODEC SOURCE CODE. *3* *4* USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *5* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *6* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *7* *8* THE OggVorbis 'TREMOR' SOURCE CODE IS (C) COPYRIGHT 1994-2002 *9* BY THE Xiph.Org FOUNDATION http://www.xiph.org/ *10* *11********************************************************************1213function: libvorbis codec headers1415********************************************************************/1617#ifndef _V_CODECI_H_18#define _V_CODECI_H_1920#include "codebook.h"2122typedef void vorbis_look_mapping;23typedef void vorbis_look_floor;24typedef void vorbis_look_residue;25typedef void vorbis_look_transform;2627/* mode ************************************************************/28typedef struct {29int blockflag;30int windowtype;31int transformtype;32int mapping;33} vorbis_info_mode;3435typedef void vorbis_info_floor;36typedef void vorbis_info_residue;37typedef void vorbis_info_mapping;3839typedef struct private_state {40/* local lookup storage */41const void *window[2];4243/* backend lookups are tied to the mode, not the backend or naked mapping */44int modebits;45vorbis_look_mapping **mode;4647ogg_int64_t sample_count;4849} private_state;5051/* codec_setup_info contains all the setup information specific to the52specific compression/decompression mode in progress (eg,53psychoacoustic settings, channel setup, options, codebook54etc).55*********************************************************************/5657typedef struct codec_setup_info {5859/* Vorbis supports only short and long blocks, but allows the60encoder to choose the sizes */6162long blocksizes[2];6364/* modes are the primary means of supporting on-the-fly different65blocksizes, different channel mappings (LR or M/A),66different residue backends, etc. Each mode consists of a67blocksize flag and a mapping (along with the mapping setup */6869int modes;70int maps;71int times;72int floors;73int residues;74int books;7576vorbis_info_mode *mode_param[64];77int map_type[64];78vorbis_info_mapping *map_param[64];79int time_type[64];80int floor_type[64];81vorbis_info_floor *floor_param[64];82int residue_type[64];83vorbis_info_residue *residue_param[64];84static_codebook *book_param[256];85codebook *fullbooks;8687int passlimit[32]; /* iteration limit per couple/quant pass */88int coupling_passes;89} codec_setup_info;9091#endif929394