source: extensions/gsdl-video/trunk/installed/cmdline/include/faaccfg.h@ 18425

Last change on this file since 18425 was 18425, checked in by davidb, 15 years ago

Video extension to Greenstone

File size: 3.0 KB
Line 
1/*
2 * FAAC - Freeware Advanced Audio Coder
3 * Copyright (C) 2001 Menno Bakker
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 *
19 * $Id: faaccfg.h,v 1.3 2004/07/04 12:12:05 corrados Exp $
20 */
21
22#ifndef _FAACCFG_H_
23#define _FAACCFG_H_
24
25#define FAAC_CFG_VERSION 104
26
27/* MPEG ID's */
28#define MPEG2 1
29#define MPEG4 0
30
31/* AAC object types */
32#define MAIN 1
33#define LOW 2
34#define SSR 3
35#define LTP 4
36
37/* Input Formats */
38#define FAAC_INPUT_NULL 0
39#define FAAC_INPUT_16BIT 1
40#define FAAC_INPUT_24BIT 2
41#define FAAC_INPUT_32BIT 3
42#define FAAC_INPUT_FLOAT 4
43
44#define SHORTCTL_NORMAL 0
45#define SHORTCTL_NOSHORT 1
46#define SHORTCTL_NOLONG 2
47
48#pragma pack(push, 1)
49typedef struct faacEncConfiguration
50{
51 /* config version */
52 int version;
53
54 /* library version */
55 char *name;
56
57 /* copyright string */
58 char *copyright;
59
60 /* MPEG version, 2 or 4 */
61 unsigned int mpegVersion;
62
63 /* AAC object type */
64 unsigned int aacObjectType;
65
66 /* Allow mid/side coding */
67 unsigned int allowMidside;
68
69 /* Use one of the channels as LFE channel */
70 unsigned int useLfe;
71
72 /* Use Temporal Noise Shaping */
73 unsigned int useTns;
74
75 /* bitrate / channel of AAC file */
76 unsigned long bitRate;
77
78 /* AAC file frequency bandwidth */
79 unsigned int bandWidth;
80
81 /* Quantizer quality */
82 unsigned long quantqual;
83
84 /* Bitstream output format (0 = Raw; 1 = ADTS) */
85 unsigned int outputFormat;
86
87 /* psychoacoustic model list */
88 psymodellist_t *psymodellist;
89
90 /* selected index in psymodellist */
91 unsigned int psymodelidx;
92
93 /*
94 PCM Sample Input Format
95 0 FAAC_INPUT_NULL invalid, signifies a misconfigured config
96 1 FAAC_INPUT_16BIT native endian 16bit
97 2 FAAC_INPUT_24BIT native endian 24bit in 24 bits (not implemented)
98 3 FAAC_INPUT_32BIT native endian 24bit in 32 bits (DEFAULT)
99 4 FAAC_INPUT_FLOAT 32bit floating point
100 */
101 unsigned int inputFormat;
102
103 /* block type enforcing (SHORTCTL_NORMAL/SHORTCTL_NOSHORT/SHORTCTL_NOLONG) */
104 int shortctl;
105
106 /*
107 Channel Remapping
108
109 Default 0, 1, 2, 3 ... 63 (64 is MAX_CHANNELS in coder.h)
110
111 WAVE 4.0 2, 0, 1, 3
112 WAVE 5.0 2, 0, 1, 3, 4
113 WAVE 5.1 2, 0, 1, 4, 5, 3
114 AIFF 5.1 2, 0, 3, 1, 4, 5
115 */
116 int channel_map[64];
117
118} faacEncConfiguration, *faacEncConfigurationPtr;
119
120#pragma pack(pop)
121
122#endif /* _FAACCFG_H_ */
Note: See TracBrowser for help on using the repository browser.