diff -r 000000000000 -r 951a5db380a0 videoeditorengine/mp3aacManipLib/AACGain/inc/aacdef.h --- /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_ --*/