summaryrefslogtreecommitdiff
path: root/audio_codec/libraac/ga_config.h (plain)
blob: 9f869e264298b49279b6b4946c8b9e668c0e28ac
1/* ***** BEGIN LICENSE BLOCK *****
2 * Source last modified: $Id: ga_config.h,v 1.1.1.1.2.1 2005/05/04 18:21:58 hubbe Exp $
3 *
4 * REALNETWORKS CONFIDENTIAL--NOT FOR DISTRIBUTION IN SOURCE CODE FORM
5 * Portions Copyright (c) 1995-2005 RealNetworks, Inc.
6 * All Rights Reserved.
7 *
8 * The contents of this file, and the files included with this file,
9 * are subject to the current version of the Real Format Source Code
10 * Porting and Optimization License, available at
11 * https://helixcommunity.org/2005/license/realformatsource (unless
12 * RealNetworks otherwise expressly agrees in writing that you are
13 * subject to a different license). You may also obtain the license
14 * terms directly from RealNetworks. You may not use this file except
15 * in compliance with the Real Format Source Code Porting and
16 * Optimization License. There are no redistribution rights for the
17 * source code of this file. Please see the Real Format Source Code
18 * Porting and Optimization License for the rights, obligations and
19 * limitations governing use of the contents of the file.
20 *
21 * RealNetworks is the developer of the Original Code and owns the
22 * copyrights in the portions it created.
23 *
24 * This file, and the files included with this file, is distributed and
25 * made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND,
26 * EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL
27 * SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF
28 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT
29 * OR NON-INFRINGEMENT.
30 *
31 * Technology Compatibility Kit Test Suite(s) Location:
32 * https://rarvcode-tck.helixcommunity.org
33 *
34 * Contributor(s):
35 *
36 * ***** END LICENSE BLOCK ***** */
37
38/* parse an MPEG-4 general audio specific config structure from a bitstream */
39
40#ifndef GA_CONFIG_H
41#define GA_CONFIG_H
42
43#include "include/helix_types.h"
44#include "include/helix_result.h"
45#include "aac_bitstream.h"
46
47#ifdef __cplusplus
48extern "C" {
49#endif /* #ifdef __cplusplus */
50
51 typedef struct ga_config_data_struct {
52 UINT32 audioObjectType;
53 UINT32 samplingFrequency;
54 UINT32 extensionSamplingFrequency;
55 UINT32 frameLength;
56 UINT32 coreCoderDelay;
57 UINT32 numChannels;
58 UINT32 numFrontChannels;
59 UINT32 numSideChannels;
60 UINT32 numBackChannels;
61 UINT32 numFrontElements;
62 UINT32 numSideElements;
63 UINT32 numBackElements;
64 UINT32 numLfeElements;
65 UINT32 numAssocElements;
66 UINT32 numValidCCElements;
67 HXBOOL bSBR;
68 } ga_config_data;
69
70 enum AudioObjectType {
71 AACMAIN = 1,
72 AACLC = 2,
73 AACSSR = 3,
74 AACLTP = 4,
75 AACSBR = 5,
76 AACSCALABLE = 6,
77 TWINVQ = 7
78 };
79
80 UINT32 ga_config_get_data(struct BITSTREAM *bs, ga_config_data *data);
81
82#ifdef __cplusplus
83}
84#endif /* #ifdef __cplusplus */
85
86#endif /* #ifndef GA_CONFIG_H */
87