/*
* THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.
* USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.
*
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002
* by the Xiph.Org Foundation http://www.xiph.org/
*/
package org.xiph.libvorbis;
// NOTE - class updated to VorbisLib 1.1.2
class codec_setup_info {
// Vorbis supports only short and long blocks, but allows the encoder to choose the sizes
int[] blocksizes; // long blocksizes[2]
// modes are the primary means of supporting on-the-fly different 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
int modes;
int maps;
int floors;
int residues;
int books;
int psys; // encode only
vorbis_info_mode[] mode_param; // codec_setup *mode_param[64]
// TODO - Abstract classes
// vorbis_info_mapping
// vorbis_info_floor
// vorbis_info_residue
int[] map_type; // int map_type[64] - will always be map0
vorbis_info_mapping0[] map_param; // vorbis_info_mapping *map_param[64]
int[] floor_type; // int floor_type[64] - will always be floor1
vorbis_info_floor1[] floor_param; // vorbis_info_floor *floor_param[64]
int[] residue_type; // int residue_type[64] - this guy might change from 0,1,2 for functions
vorbis_info_residue0[] residue_param; // vorbis_info_residue *residue_param[64] - data will always fit into res0
static_codebook[] book_param; // static_codebook *book_param[256]
codebook[] fullbooks; // codebook *fullbooks
vorbis_info_psy[] psy_param; // encode only // psy_param[4]
vorbis_info_psy_global psy_g_param;
bitrate_manager_info bi;
highlevel_encode_setup hi; // used only by vorbisenc.c - Redundant
int halfrate_flag; // painless downsample for decode
public codec_setup_info() {
blocksizes = new int[2];
mode_param = new vorbis_info_mode[64];
map_type = new int[64];
map_param = new vorbis_info_mapping0[64];
floor_type = new int[64];
floor_param = new vorbis_info_floor1[64];
residue_type = new int[64];
residue_param = new vorbis_info_residue0[64];
book_param = new static_codebook[256];
psy_param = new vorbis_info_psy[4];
bi = new bitrate_manager_info();
hi = new highlevel_encode_setup();
}
}