--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videoeditorengine/mp3aacManipLib/AACGain/inc/tool.h Fri Jan 29 14:08:33 2010 +0200
@@ -0,0 +1,159 @@
+/*
+* 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:
+*
+*/
+
+
+/**************************************************************************
+ tool.h - Interface to AAC core structures.
+
+ Author(s): Juha Ojanpera
+ Copyright (c) 2000-2004 by Nokia Research Center, Speech and Audio Systems.
+ *************************************************************************/
+
+#ifndef AACTOOL_H_
+#define AACTOOL_H_
+
+/*-- Project Headers. --*/
+#include "nok_bits.h"
+#include "dec_huf.h"
+#include "aacdef.h"
+
+/*
+ Purpose: LTP parameters for MPEG AAC.
+ Explanation: - */
+class CLTP_Info : public CBase
+{
+
+public:
+
+ static CLTP_Info* NewL();
+ ~CLTP_Info();
+
+ /*-- Max. sfb's used for this channel. --*/
+ int16 max_sfb;
+
+ /*-- Codebook index. --*/
+ uint8 cbIdx;
+
+ /*-- Boolean flag to indicate the presence of LTP. --*/
+ int16 ltp_present;
+
+ /*-- LTP lag. --*/
+ int16* delay;
+
+ /*-- Prediction status for each sfb. --*/
+ uint32 sfbflags[2];
+
+private:
+
+ CLTP_Info();
+ void ConstructL();
+
+};
+
+/*
+ Purpose: Structure interface for AAC decoding tools.
+ Explanation: - */
+class CToolInfo : public CBase
+{
+public:
+
+ static CToolInfo* NewL();
+ ~CToolInfo();
+ CLTP_Info *ltp;
+ int16* quant;
+
+private:
+
+ void ConstructL();
+ CToolInfo();
+
+};
+
+/*
+ Purpose: Structure interface for coupling channel.
+ Explanation: - */
+class CCInfo : public CBase
+{
+
+public:
+ static CCInfo* NewL();
+ ~CCInfo();
+
+ CToolInfo* tool;
+ CWindowInfo* winInfo;
+
+private:
+ CCInfo();
+ void ConstructL();
+
+};
+
+/*
+ Purpose: Information about the audio channel.
+ Explanation: - */
+class TEleList
+{
+public:
+ int16 num_ele;
+ int16 ele_is_cpe[1 << LEN_TAG];
+ int16 ele_tag[1 << LEN_TAG];
+
+};
+
+/*
+ Purpose: Mixing information for downmixing multichannel input
+ into two-channel output.
+ Explanation: - */
+class TMIXdown
+{
+public:
+ int16 present;
+ int16 ele_tag;
+ int16 pseudo_enab;
+
+};
+
+
+/*
+ Purpose: Program configuration element.
+ Explanation: - */
+class TProgConfig
+{
+public:
+ int16 tag;
+ int16 profile;
+ int16 sample_rate_idx;
+
+ BOOL pce_present;
+
+ TEleList front;
+ TEleList side;
+ TEleList back;
+ TEleList lfe;
+ TEleList data;
+ TEleList coupling;
+
+ TMIXdown mono_mix;
+ TMIXdown stereo_mix;
+ TMIXdown matrix_mix;
+
+ int16 num_comment_bytes;
+
+};
+
+#endif /*-- AACTOOL_H_ --*/