aboutsummaryrefslogtreecommitdiff
path: root/Src/aacdec/incs/mp4dec_asc/gaspecificconfig_c.h
blob: fe96e626f08e6bcfe4f6cd704e16da43150c2653 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/*************************************************************************** 
 *
 *               (C) copyright Fraunhofer - IIS (1998)
 *                        All Rights Reserved
 *
 *   $Header: /cvs/root/winamp/aacdec/incs/mp4dec_asc/gaspecificconfig_c.h,v 1.3 2012/05/08 20:16:50 audiodsp Exp $
 *   project : MPEG-4 Audio Decoder
 *   contents/description: global audio specific config interface
 *
 *   This software and/or program is protected by copyright law and
 *   international treaties. Any reproduction or distribution of this 
 *   software and/or program, or any portion of it, may result in severe 
 *   civil and criminal penalties, and will be prosecuted to the maximum 
 *   extent possible under law.
 *
\***************************************************************************/

#ifndef __GASPECIFICCONFIG_C_H__
#define __GASPECIFICCONFIG_C_H__

#include "mp4dec_asc/audioobjecttypes.h"
#include "mp4dec_asc/programcfg_c.h"

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

struct CSBitStream;

typedef struct CSGaSpecificConfig {
  unsigned int m_frameLengthFlag;
  unsigned int m_dependsOnCoreCoder;
  unsigned int m_coreCoderDelay;

  unsigned int m_extensionFlag;
  unsigned int m_extensionFlag3;

  unsigned int m_layer;
  unsigned int m_numOfSubFrame;
  unsigned int m_layerLength;

  unsigned int m_vcb11Flag;
  unsigned int m_rvlcFlag;
  unsigned int m_hcrFlag;

  CSProgramConfig m_progrConfigElement;

} CSGaSpecificConfig, *CSGaSpecificConfigPtr;

void GaSpecificConfig_Parse(CSGaSpecificConfigPtr self, struct CSBitStream *bs, const int channelConfiguration, const AUDIO_OBJECT_TYPE aot);
void GaSpecificConfig_Copy(CSGaSpecificConfigPtr self, const CSGaSpecificConfigPtr gasc);
int  GaSpecificConfig_Compare(const CSGaSpecificConfigPtr self, const CSGaSpecificConfigPtr gasc, const AUDIO_OBJECT_TYPE aot);
#ifdef ASC_PRINT
int  GaSpecificConfig_Print(const CSGaSpecificConfigPtr gasc, char string[], const int channelConfiguration, const AUDIO_OBJECT_TYPE aot);
#endif

#ifdef __cplusplus
}
#endif

#endif /* __GASPECIFICCONFIG_H__ */