122 lines
3.0 KiB
C
Executable File
122 lines
3.0 KiB
C
Executable File
/*
|
|
* FAAC - Freeware Advanced Audio Coder
|
|
* Copyright (C) 2001 Menno Bakker
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
*
|
|
* $Id: faaccfg.h,v 1.3 2004/07/04 12:12:05 corrados Exp $
|
|
*/
|
|
|
|
#ifndef _FAACCFG_H_
|
|
#define _FAACCFG_H_
|
|
|
|
#define FAAC_CFG_VERSION 104
|
|
|
|
/* MPEG ID's */
|
|
#define MPEG2 1
|
|
#define MPEG4 0
|
|
|
|
/* AAC object types */
|
|
#define MAIN 1
|
|
#define LOW 2
|
|
#define SSR 3
|
|
#define LTP 4
|
|
|
|
/* Input Formats */
|
|
#define FAAC_INPUT_NULL 0
|
|
#define FAAC_INPUT_16BIT 1
|
|
#define FAAC_INPUT_24BIT 2
|
|
#define FAAC_INPUT_32BIT 3
|
|
#define FAAC_INPUT_FLOAT 4
|
|
|
|
#define SHORTCTL_NORMAL 0
|
|
#define SHORTCTL_NOSHORT 1
|
|
#define SHORTCTL_NOLONG 2
|
|
|
|
#pragma pack(push, 1)
|
|
typedef struct faacEncConfiguration {
|
|
/* config version */
|
|
int version;
|
|
|
|
/* library version */
|
|
char *name;
|
|
|
|
/* copyright string */
|
|
char *copyright;
|
|
|
|
/* MPEG version, 2 or 4 */
|
|
unsigned int mpegVersion;
|
|
|
|
/* AAC object type */
|
|
unsigned int aacObjectType;
|
|
|
|
/* Allow mid/side coding */
|
|
unsigned int allowMidside;
|
|
|
|
/* Use one of the channels as LFE channel */
|
|
unsigned int useLfe;
|
|
|
|
/* Use Temporal Noise Shaping */
|
|
unsigned int useTns;
|
|
|
|
/* bitrate / channel of AAC file */
|
|
unsigned long bitRate;
|
|
|
|
/* AAC file frequency bandwidth */
|
|
unsigned int bandWidth;
|
|
|
|
/* Quantizer quality */
|
|
unsigned long quantqual;
|
|
|
|
/* Bitstream output format (0 = Raw; 1 = ADTS) */
|
|
unsigned int outputFormat;
|
|
|
|
/* psychoacoustic model list */
|
|
psymodellist_t *psymodellist;
|
|
|
|
/* selected index in psymodellist */
|
|
unsigned int psymodelidx;
|
|
|
|
/*
|
|
PCM Sample Input Format
|
|
0 FAAC_INPUT_NULL invalid, signifies a misconfigured config
|
|
1 FAAC_INPUT_16BIT native endian 16bit
|
|
2 FAAC_INPUT_24BIT native endian 24bit in 24 bits (not implemented)
|
|
3 FAAC_INPUT_32BIT native endian 24bit in 32 bits (DEFAULT)
|
|
4 FAAC_INPUT_FLOAT 32bit floating point
|
|
*/
|
|
unsigned int inputFormat;
|
|
|
|
/* block type enforcing (SHORTCTL_NORMAL/SHORTCTL_NOSHORT/SHORTCTL_NOLONG) */
|
|
int shortctl;
|
|
|
|
/*
|
|
Channel Remapping
|
|
|
|
Default 0, 1, 2, 3 ... 63 (64 is MAX_CHANNELS in coder.h)
|
|
|
|
WAVE 4.0 2, 0, 1, 3
|
|
WAVE 5.0 2, 0, 1, 3, 4
|
|
WAVE 5.1 2, 0, 1, 4, 5, 3
|
|
AIFF 5.1 2, 0, 3, 1, 4, 5
|
|
*/
|
|
int channel_map[64];
|
|
|
|
} faacEncConfiguration, *faacEncConfigurationPtr;
|
|
|
|
#pragma pack(pop)
|
|
|
|
#endif /* _FAACCFG_H_ */
|