--- a/videoeditorengine/mp3aacManipLib/AACGain/inc/chandefs.h Fri Jan 29 14:08:33 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,410 +0,0 @@
-/*
-* 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:
-*
-*/
-
-
-/**************************************************************************
- chandefs.h - Constants for AAC coder.
-
- Author(s): Juha Ojanpera
- Copyright (c) 1999-2004 by Nokia Research Center, Audio-Visual Systems.
- *************************************************************************/
-
-#ifndef AAC_CHANDEFS_H_
-#define AAC_CHANDEFS_H_
-
-/*-- Project Headers. --*/
-#include "defines.h"
-
-#define GAIN_START (40)
-#define MAGIC_NUMBER (0.4054)
-#define MAGIC_NUMBER2 (1.0f - MAGIC_NUMBER)
-#define MAGIC_NUMBER3 (0.5f * MAGIC_NUMBER)
-#define QSTEP_SIZE (7)
-#define GAIN_FACTOR (1.0f / -0.25f)
-#define IMAX_QUANT (1.0f / MAX_AAC_QUANT)
-#define POWRAISE43 (4.0f / 3.0f)
-#define ILOG2 (1.0f / log10(2.0f))
-#define LOG34 (log10(0.75f) * ILOG2)
-#define SFCGAIN (16.0f / 3.0f)
-#define QROUND_ERROR LOG2 (5.5f)
-#define MAXCOEF_LOG2_16_3_MINUS_TWO (67.33239402f)
-#define ILOG2_16_3 (17.71694984f)
-#define LOG2(x) (log10(x) * ILOG2)
-
-enum
-{
- /*
- * Channels for 5.1 main profile configuration
- * (modify for any desired decoder configuration)
- */
-
- /*-- Front channels: left, center, right --*/
- FChansD = 2,
-
- /*-- 1 if decoder has front center channel. --*/
- FCenterD = 0,
-
- /*-- Side channels: --*/
- SChansD = 0,
-
- /*-- Back channels: left surround, right surround. --*/
- BChansD = 0,
-
- /*-- 1 if decoder has back center channel. --*/
- BCenterD = 0,
-
- /*-- LFE channels. --*/
- LChansD = 0,
-
- /*-- Scratch space for parsing unused channels. --*/
- XChansD = 2,
-
- /*-- Total number of supported channels. --*/
- ChansD = FChansD + SChansD + BChansD + LChansD + XChansD,
-
- /*-- Independently switched coupling channels. --*/
- ICChansD = 0,
-
- /*-- Dependently switched coupling channels. --*/
- DCChansD = 0,
-
- /*-- Scratch space index for parsing unused coupling channels. --*/
- XCChansD = 1,
-
- /*-- Total number of supported CC channels. --*/
- CChansD = (ICChansD + DCChansD + XCChansD),
-
-
- /*-- Block switching. --*/
- LN = 2048,
- SN = 256,
- LN2_960 = 960,
- SN2_120 = 120,
- LN2 = LN / 2,
- SN2 = SN / 2,
- NSHORT = LN / SN,
- MAX_SBK = NSHORT,
- NUM_WIN_SEQ = 4,
-
- /*-- Max number of scale factor bands. --*/
- MAXBANDS = 16 * NSHORT,
- MAXLONGSFBBANDS = 51,
- MAXSHORTSFBBANDS = 15,
-
- /*-- Maximum scale factor. --*/
- SFACBOOK_SIZE = 121,
- MIDFAC = (SFACBOOK_SIZE - 1) / 2,
-
- /*-- Global gain must be positive. --*/
- SF_OFFSET = 100,
- /*-- Quantization constants. --*/
- MAX_QUANT_VALUE = 8191,
-
- /*-- Huffman parameters. --*/
- ZERO_HCB = 0,
- ESCBOOK = 11,
- NSPECBOOKS = ESCBOOK + 1,
- BOOKSCL = NSPECBOOKS,
- NBOOKS = NSPECBOOKS + 1,
- INTENSITY_HCB2 = 14,
- INTENSITY_HCB = 15,
- NOISE_HCB = 13,
- NOISE_PCM_BITS = 9,
- NOISE_PCM_OFFSET = (1 << (NOISE_PCM_BITS - 1)),
- NOISE_OFFSET = 90,
- RESERVED_HCB = 13,
- SF_INDEX_OFFSET = 60, /*-- Offset for Huffman table indices of scalefactors. --*/
-
- LONG_SECT_BITS = 5,
- SHORT_SECT_BITS = 3,
-
- /*-- Program Configuration. --*/
- Main_Object = 0,
- LC_Object = 1,
- SSR_Object = 2,
- LTP_Object = 3,
- Scalable_Object = 4,
-
- Fs_48 = 3,
- Fs_44 = 4,
- Fs_32 = 5,
-
- /*-- Raw bitstream constants. --*/
- LEN_SE_ID = 3,
- LEN_TAG = 4,
- LEN_COM_WIN = 1,
- LEN_ICS_RESERV = 1,
- LEN_WIN_SEQ = 2,
- LEN_WIN_SH = 1,
- LEN_MAX_SFBL = 6,
- LEN_MAX_SFBS = 4,
- LEN_CB = 4,
- LEN_SCL_PCM = 8,
- LEN_SCL_PCM_MASK = (1 << LEN_SCL_PCM) - 1,
- LEN_PRED_PRES = 1,
- LEN_PRED_RST = 1,
- LEN_PRED_RSTGRP = 5,
- LEN_PRED_ENAB = 1,
- LEN_MASK_PRES = 2,
- LEN_MASK = 1,
-
- LEN_PULSE_NPULSE = 2,
- LEN_PULSE_ST_SFB = 6,
- LEN_PULSE_POFF = 5,
- LEN_PULSE_PAMP = 4,
- NUM_PULSE_LINES = 4,
- PULSE_OFFSET_AMP = 4,
-
- LEN_IND_CCE_FLG = 1,
- LEN_NCC = 3,
- LEN_IS_CPE = 1,
- LEN_CC_LR = 1,
- LEN_CC_DOM = 1,
- LEN_CC_SGN = 1,
- LEN_CCH_GES = 2,
- LEN_CCH_CGP = 1,
-
- LEN_D_ALIGN = 1,
- LEN_D_CNT = 8,
- LEN_D_ESC = 8,
- LEN_F_CNT = 4,
- LEN_F_ESC = 8,
- LEN_NIBBLE = 4,
- LEN_BYTE = 8,
- LEN_PAD_DATA = 8,
-
- LEN_PC_COMM = 8,
-
- /*-- FILL --*/
- LEN_EX_TYPE = 4,
- EX_FILL = 0,
- EX_FILL_DATA = 1,
- EX_DRC = 11,
-
- /*-- DRC --*/
- LEN_DRC_PL = 7,
- LEN_DRC_PL_RESV = 1,
- LEN_DRC_PCE_RESV = (8 - LEN_TAG),
- LEN_DRC_BAND_INCR = 4,
- LEN_DRC_BAND_RESV = 4,
- LEN_DRC_BAND_TOP = 8,
- LEN_DRC_SGN = 1,
- LEN_DRC_MAG = 7,
- DRC_BAND_MULT = 4,
-
- /*-- Channel elements. --*/
- ID_SCE = 0,
- ID_CPE,
- ID_CCE,
- ID_LFE,
- ID_DSE,
- ID_PCE,
- ID_FIL,
- ID_END,
-
- FILL_VALUE = 0x55,
-
- /*-- Bit reservoir. --*/
- BIT_RESERVOIR_SIZE = 6144,
-
- /*-- Program configuration element --*/
- LEN_PROFILE = 2,
- LEN_SAMP_IDX = 4,
- LEN_NUM_ELE = 4,
- LEN_NUM_LFE = 2,
- LEN_NUM_DAT = 3,
- LEN_NUM_CCE = 4,
- LEN_MMIX_IDX = 2,
- LEN_PSUR_ENAB = 1,
- LEN_ELE_IS_CPE = 1,
- LEN_IND_SW_CCE = 1,
- LEN_COMMENT_BYTES = 8,
-
- /*-- LTP constants. --*/
- LTP_MAX_PRED_BANDS = 40,
- LTP_COEF_BITS = 3,
- LTP_LAG_BITS = 11,
-
- /*-- TNS constants. --*/
- TNS_MAX_FILT = 3,
- TNS_MAX_COEFF_RES = 2,
- TNS_MAX_COEFF = 32,
-
- TNS_MAX_ORDER = 12,
- TNS_COEFF_RES_OFFSET = 3,
-
- /*-- BWP constants. --*/
- MAX_PGRAD = 2,
- MINVAR = 1,
- Q_ZERO = 0x0000,
- Q_ONE = 0x3F80,
-
- /*-- PNS parameters. --*/
- MAX_DCT_LEN = 64,
- NOISE_FREE_BANDS = 3,
- NOISE_FREE_MASK = (1 << NOISE_FREE_BANDS) - 1,
- /*-- Max length of DSE, bytes. --*/
- MAX_DBYTES = ((1 << LEN_D_CNT) + (1 << LEN_D_ESC)),
-
- /*-- size of exp cache table. --*/
- TEXP = 256,
- TEXP_MASK = (TEXP - 1),
-
- /*-- Size of inv quant table. --*/
- MAX_AAC_QUANT = 255,
- MAX_IQ_TBL = MAX_AAC_QUANT + 1,
- IQ_MASK = (MAX_IQ_TBL - 1)
-};
-
-/*
- Purpose: Mixing modes for CCE (coupling channel element).
- Explanation: - */
-typedef enum CCmixMode
-{
- CC_BEFORE_TNS, /* Dependently switched. */
- CC_AFTER_TNS, /* Dependently switched. */
- CC_TIME_MIX /* Independently switched. */
-
-} CCmixMode;
-
-/*
- Purpose: Window shapes.
- Explanation: - */
-typedef enum WindowShape
-{
- WS_SIN = 0, /* Sine window. */
- WS_KBD /* Kaiser-Bessel Derived window. */
-
-} WindowShape;
-
-/*
- Purpose: AAC predictor type.
- Explanation: - */
-typedef enum PredType
-{
- NO_PRED = 0,
- BWAP_PRED,
- LTP_PRED
-
-} PredType;
-
-/*
- Purpose: Block types for transform coders using block switching.
- Explanation: The first four describe the actual block type for each subband,
- the rest of the declarations describe the block type for the
- whole frame. */
-typedef enum AAC_WINDOW_TYPE
-{
- ONLY_LONG_WND,
- LONG_SHORT_WND,
- ONLY_SHORT_WND,
- SHORT_LONG_WND
-
-} AAC_WINDOW_TYPE, AacWindowType;
-
-/*
- Purpose: Block sequence (long and short) parameters.
- Explanation: - */
-class CInfo : public CBase
- {
-
-public:
-
- static CInfo* NewL();
- ~CInfo();
-
- int16 islong;
- int16 nsbk;
- int16 bins_per_bk;
- int16 sfb_per_bk;
- int16* bins_per_sbk;
- int16* sfb_per_sbk;
- const int16 *sbk_sfb_top[MAX_SBK];
- int16 *sfb_width_128;
- int16* bk_sfb_top;
- int16 num_groups;
- int16* group_len;
- int16* group_offs;
-
-private:
- void ConstructL();
- CInfo();
-
-};
-
-/*
- Purpose: Sampling rate dependent parameters.
- Explanation: - */
-typedef struct Sr_InfoStr
-{
- int32 samp_rate;
-
- int16 nsfb1024;
- const int16 *SFbands1024;
-
- int16 nsfb128;
- const int16 *SFbands128;
-
- int16 nsfb960;
- const int16 *SFbands960;
-
- int16 nsfb120;
- const int16 *SFbands120;
-
-} SR_Info;
-
-/*
- Purpose: Sfb related information.
- Explanation: - */
-class CSfb_Info : public CBase
-{
-
-public:
-
- static CSfb_Info* NewL(uint8 isEncoder = FALSE);
- ~CSfb_Info();
-
- CInfo *only_long_info;
- CInfo *eight_short_info;
-
- CInfo *winmap[NUM_WIN_SEQ];
- int16 sfbwidth128[1 << LEN_MAX_SFBS];
-
- /*-- Scalefactor offsets. --*/
- int16 *sect_sfb_offsetL;
- int16 *sect_sfb_offsetS;
- int16 *sfbOffsetTablePtr[2];
- int16 *sect_sfb_offsetS2[NSHORT];
-
-private:
- void ConstructL(uint8 isEncoder);
- CSfb_Info();
-
-};
-
-/*
- Purpose: Window shapes for this and previous frame.
- Explanation: - */
-typedef struct Wnd_ShapeStr
-{
- uint8 this_bk;
- uint8 prev_bk;
-
-} Wnd_Shape;
-
-#endif /*-- AAC_CHANDEFS_H_ --*/