--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videoeditorengine/mp3aacManipLib/AACGain/inc/aacdef.h Fri Jan 29 14:08:33 2010 +0200
@@ -0,0 +1,167 @@
+/*
+* Copyright (c) 2010 Ixonos Plc.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - Initial contribution
+*
+* Contributors:
+* Ixonos Plc
+*
+* Description:
+*
+*/
+
+
+/**************************************************************************
+ aacdef.h - Interface to AAC core structures.
+
+ Author(s): Juha Ojanpera
+ Copyright (c) 2000-2004 by Nokia Research Center, Speech and Audio Systems.
+ *************************************************************************/
+
+#ifndef AACDEF_H_
+#define AACDEF_H_
+
+/*-- Project Headers. --*/
+#include "chandefs.h"
+#include "defines.h"
+#include "dec_huf.h"
+
+/*
+ Purpose: Structure interface for window parameters.
+ Explanation: - */
+class CWindowInfo : public CBase
+{
+public:
+
+ static CWindowInfo* NewL();
+ ~CWindowInfo();
+ uint8 wnd;
+ uint8 max_sfb;
+ uint8 hasmask;
+ uint8 predBands;
+ PredType predType;
+ int16 prstflag[2];
+ Wnd_Shape wshape[2];
+ uint8* group;//[NSHORT];
+ uint8* mask;//[MAXBANDS];
+ int16* sfac;//[MAXBANDS];
+ uint8* cb_map;//[MAXBANDS];
+ int16* lpflag;//[MAXBANDS];
+
+private:
+
+ void ConstructL();
+ CWindowInfo();
+
+};
+
+/*
+ Purpose: Information about the audio channel.
+ Explanation: - */
+class TCh_Info
+{
+public:
+
+ int16 present; /* Channel present. */
+ int16 num_bins; /* # of active (i.e., nonzero) bins for this ch. */
+ int16 tag; /* Element tag. */
+ int16 cpe; /* 0 if single channel, 1 if channel pair. */
+ int16 paired_ch; /* Index of paired channel in cpe. */
+ int16 widx; /* Window element index for this channel. */
+
+ BOOL is_present; /* Intensity stereo is used. */
+ BOOL pns_present; /* PNS is used. */
+ BOOL tns_present; /* TNS is used. */
+ BOOL parseCh; /* TRUE if channel only parsed not decoded. */
+
+ int16 ncch; /* Number of coupling channels for this ch. */
+ int16 cch[CChansD]; /* Coupling channel idx. */
+ int16 cc_dom[CChansD]; /* Coupling channel domain. */
+ int16 cc_ind[CChansD]; /* Independently switched coupling channel flag. */
+ CInfo *info; /* Block parameters for this channel. */
+
+ /*-- Huffman tables. --*/
+ Huffman_DecInfo **huf;
+ Huffman_DecSfInfo *sf_huf;
+
+};
+
+
+/*
+ Purpose: Channel mapping information.
+ Explanation: - */
+class CMC_Info : public CBase
+{
+public:
+
+ static CMC_Info* NewL();
+ ~CMC_Info();
+ /*
+ * Max number of supported main and coulping channels.
+ */
+ int16 maxnCh;
+ int16 maxnCCh;
+
+ /*
+ * Audio channels (LFE, SCE, and CPE) up to 'maxnCh' will be decoded.
+ * All the other channels will be only parsed. 'dummyCh' is therefore
+ * the channel index into 'ch_info' structure which is used for the unused
+ * audio channels. 'dummyCCh' identifies the channel index for unused CCE
+ * channels.
+ */
+ int16 dummyCh;
+ int16 dummyCCh;
+
+ /*
+ * This will be set to 1 when the channel limit has been reached.
+ */
+ int16 dummyAlways;
+
+ /*
+ * These members identify how many audio channels (LFE, SCE, CPE, CCE)
+ * were found from the bitstream on a frame-by-frame basis.
+ */
+ int16 nch;
+ int16 ncch;
+
+ int16 cc_tag[1 << LEN_TAG]; /* Tags of valid CCE's. */
+ int16 cc_ind[1 << LEN_TAG]; /* Independently switched CCE's. */
+ uint8 profile;
+ uint8 sfreq_idx;
+
+ int16 cur_prog;
+ int16 default_config;
+
+ CSfb_Info* sfbInfo;
+
+ TCh_Info ch_info[ChansD];
+
+private:
+
+ void ConstructL();
+ CMC_Info();
+
+
+};
+
+/*
+ Purpose: Pulse noiseless coding.
+ Explanation: - */
+typedef struct PulseInfoStr
+{
+ int16 number_pulse;
+ int16 pulse_start_sfb;
+ int16 pulse_data_present;
+ int16 pulse_amp[NUM_PULSE_LINES];
+ int16 pulse_offset[NUM_PULSE_LINES];
+ int16 pulse_position[NUM_PULSE_LINES];
+
+} PulseInfo;
+
+#endif /*-- AACDEF_H_ --*/