123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272 |
- /***************************************************************************\
- *
- * (C) copyright Fraunhofer - IIS (2007)
- * All Rights Reserved
- *
- * $Id: sac_dec_ssc_struct.h,v 1.3 2012/05/08 20:16:49 audiodsp Exp $
- * project : MPEG surround decoder lib
- * contents/description: interface - spatial specific config struct
- *
- * 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 __SAC_DEC_SSC_STRUCT_H__
- #define __SAC_DEC_SSC_STRUCT_H__
- #define MAX_NUM_QMF_BANDS (128)
- #define MAX_TIME_SLOTS (72)
- #define MAX_INPUT_CHANNELS (6)
- #define MAX_OUTPUT_CHANNELS (8)
- #define MAX_NUM_OTT (5)
- #define MAX_NUM_TTT (1)
- #define MAX_NUM_EXT_TYPES ( 8 )
- #define MAX_PARAMETER_BANDS (28)
- #define MAX_ARBITRARY_TREE_LEVELS ( 2 )
- #define MAX_OUTPUT_CHANNELS_AT ( MAX_OUTPUT_CHANNELS * (1<<MAX_ARBITRARY_TREE_LEVELS) )
- #define MAX_ARBITRARY_TREE_INDEX ( (1<<(MAX_ARBITRARY_TREE_LEVELS+1))-1 )
- typedef enum {
- SPATIALDEC_FREQ_RES_40 = 40,
- SPATIALDEC_FREQ_RES_28 = 28,
- SPATIALDEC_FREQ_RES_23 = 23,
- SPATIALDEC_FREQ_RES_20 = 20,
- SPATIALDEC_FREQ_RES_15 = 15,
- SPATIALDEC_FREQ_RES_14 = 14,
- SPATIALDEC_FREQ_RES_10 = 10,
- SPATIALDEC_FREQ_RES_7 = 7,
- SPATIALDEC_FREQ_RES_5 = 5,
- SPATIALDEC_FREQ_RES_4 = 4
- } SPATIALDEC_FREQ_RES;
- typedef enum {
- SPATIALDEC_QUANT_FINE_DEF = 0,
- SPATIALDEC_QUANT_EDQ1 = 1,
- SPATIALDEC_QUANT_EDQ2 = 2,
- SPATIALDEC_QUANT_RSVD3 = 3,
- SPATIALDEC_QUANT_RSVD4 = 4,
- SPATIALDEC_QUANT_RSVD5 = 5,
- SPATIALDEC_QUANT_RSVD6 = 6,
- SPATIALDEC_QUANT_RSVD7 = 7
- } SPATIALDEC_QUANT_MODE;
- typedef enum {
- SPATIALDEC_MODE_5151 = 0,
- SPATIALDEC_MODE_5152 = 1,
- SPATIALDEC_MODE_525 = 2,
- SPATIALDEC_MODE_RSVD3 = 3,
- SPATIALDEC_MODE_RSVD4 = 4,
- SPATIALDEC_MODE_RSVD5 = 5,
- SPATIALDEC_MODE_RSVD6 = 6,
- SPATIALDEC_MODE_RSVD7 = 7,
- SPATIALDEC_MODE_RSVD8 = 8,
- SPATIALDEC_MODE_RSVD9 = 9,
- SPATIALDEC_MODE_RSVD10 = 10,
- SPATIALDEC_MODE_RSVD11 = 11,
- SPATIALDEC_MODE_RSVD12 = 12,
- SPATIALDEC_MODE_RSVD13 = 13,
- SPATIALDEC_MODE_RSVD14 = 14,
- SPATIALDEC_MODE_SIGNAL
- } SPATIALDEC_TREE_CONFIG;
- typedef enum {
- SPATIALDEC_GAIN_MODE0 = 0,
- SPATIALDEC_GAIN_RSVD1 = 1,
- SPATIALDEC_GAIN_RSVD2 = 2,
- SPATIALDEC_GAIN_RSVD3 = 3,
- SPATIALDEC_GAIN_RSVD4 = 4,
- SPATIALDEC_GAIN_RSVD5 = 5,
- SPATIALDEC_GAIN_RSVD6 = 6,
- SPATIALDEC_GAIN_RSVD7 = 7,
- SPATIALDEC_GAIN_RSVD8 = 8,
- SPATIALDEC_GAIN_RSVD9 = 9,
- SPATIALDEC_GAIN_RSVD10 = 10,
- SPATIALDEC_GAIN_RSVD11 = 11,
- SPATIALDEC_GAIN_RSVD12 = 12,
- SPATIALDEC_GAIN_RSVD13 = 13,
- SPATIALDEC_GAIN_RSVD14 = 14,
- SPATIALDEC_GAIN_RSVD15 = 15
- } SPATIALDEC_FIXED_GAINS;
- typedef enum {
- SPATIALDEC_TS_TPNOWHITE = 0,
- SPATIALDEC_TS_TPWHITE = 1,
- SPATIALDEC_TS_TES = 2,
- SPATIALDEC_TS_NOTS = 3,
- SPATIALDEC_TS_RSVD4 = 4,
- SPATIALDEC_TS_RSVD5 = 5,
- SPATIALDEC_TS_RSVD6 = 6,
- SPATIALDEC_TS_RSVD7 = 7,
- SPATIALDEC_TS_RSVD8 = 8,
- SPATIALDEC_TS_RSVD9 = 9,
- SPATIALDEC_TS_RSVD10 = 10,
- SPATIALDEC_TS_RSVD11 = 11,
- SPATIALDEC_TS_RSVD12 = 12,
- SPATIALDEC_TS_RSVD13 = 13,
- SPATIALDEC_TS_RSVD14 = 14,
- SPATIALDEC_TS_RSVD15 = 15
- } SPATIALDEC_TS_CONF;
- typedef enum {
- SPATIALDEC_DECORR_MODE0 = 0,
- SPATIALDEC_DECORR_MODE1 = 1,
- SPATIALDEC_DECORR_MODE2 = 2,
- SPATIALDEC_DECORR_RSVD3 = 3,
- SPATIALDEC_DECORR_RSVD4 = 4,
- SPATIALDEC_DECORR_RSVD5 = 5,
- SPATIALDEC_DECORR_RSVD6 = 6,
- SPATIALDEC_DECORR_RSVD7 = 7,
- SPATIALDEC_DECORR_RSVD8 = 8,
- SPATIALDEC_DECORR_RSVD9 = 9,
- SPATIALDEC_DECORR_RSVD10 = 10,
- SPATIALDEC_DECORR_RSVD11 = 11,
- SPATIALDEC_DECORR_RSVD12 = 12,
- SPATIALDEC_DECORR_RSVD13 = 13,
- SPATIALDEC_DECORR_RSVD14 = 14,
- SPATIALDEC_DECORR_RSVD15 = 15
- } SPATIALDEC_DECORR_CONF;
- typedef struct T_SPATIALDEC_TREE_DESC {
- /* tbd */
- int tmp;
- } SPATIALDEC_TREE_DESC;
- typedef struct T_SPATIALDEC_OTT_CONF {
- int nOttBands;
- } SPATIALDEC_OTT_CONF;
- typedef enum {
- SPATIALDEC_TTT_PRED_DECORR = 0,
- SPATIALDEC_TTT_PRED_NODECORR = 1,
- SPATIALDEC_TTT_RSVD2 = 2,
- SPATIALDEC_TTT_ENERGY_SUB = 3,
- SPATIALDEC_TTT_RSVD4 = 4,
- SPATIALDEC_TTT_ENERGY_NOSUB = 5,
- SPATIALDEC_TTT_RSVD6 = 6,
- SPATIALDEC_TTT_RSVD7 = 7
- } SPATIALDEC_TTT_MODE;
- typedef struct T_SPATIALDEC_TTT_CONF {
- int bTttDualMode;
- SPATIALDEC_TTT_MODE tttModeLow;
- SPATIALDEC_TTT_MODE tttModeHigh;
- int nTttBandsLow;
- } SPATIALDEC_TTT_CONF;
- typedef struct T_SPATIALDEC_RESIDUAL_CONF {
- int bResidualPresent;
- int nResidualBands;
- } SPATIALDEC_RESIDUAL_CONF;
- typedef struct T_SPATIAL_SPECIFIC_CONFIG {
- int samplingFreq;
- int nTimeSlots;
- int LdMode;
- SPATIALDEC_FREQ_RES freqRes;
- SPATIALDEC_TREE_CONFIG treeConfig;
- SPATIALDEC_QUANT_MODE quantMode;
- int bOneIcc;
- int bArbitraryDownmix;
-
- int arbitraryDownmixResidualSamplingFreq;
- int arbitraryDownmixResidualFramesPerSpatialFrame;
- int arbitraryDownmixResidualBands;
-
- int bResidualCoding;
- SPATIALDEC_FIXED_GAINS bsFixedGainSur;
- SPATIALDEC_FIXED_GAINS bsFixedGainLFE;
- SPATIALDEC_FIXED_GAINS bsFixedGainDMX;
- int bMatrixMode;
- SPATIALDEC_TS_CONF tempShapeConfig;
- SPATIALDEC_DECORR_CONF decorrConfig;
- SPATIALDEC_TREE_DESC *pTreeDesc;
-
- int nInputChannels; /* derived from treeConfig */
- int nOutputChannels; /* derived from treeConfig */
- /* ott config */
- int nOttBoxes; /* derived from treeConfig */
- SPATIALDEC_OTT_CONF OttConfig[MAX_NUM_OTT]; /* dimension nOttBoxes */
- /* ttt config */
- int nTttBoxes; /* derived from treeConfig */
- SPATIALDEC_TTT_CONF TttConfig[MAX_NUM_TTT]; /* dimension nTttBoxes */
- /* residual config */
- int residualSamplingFreq;
- int nResidualFramesPerSpatialFrame;
- SPATIALDEC_RESIDUAL_CONF ResidualConfig[MAX_NUM_OTT+MAX_NUM_TTT]; /* dimension (nOttBoxes + nTttBoxes) */
- int sacExtCnt;
- int sacExtType[MAX_NUM_EXT_TYPES];
- int envQuantMode;
- int bArbitraryTree;
- int numOutChanAT;
- int numOttBoxesAT;
- int OutputChannelPosAT[MAX_OUTPUT_CHANNELS_AT];
- int OttBoxPresentAT[MAX_OUTPUT_CHANNELS][MAX_ARBITRARY_TREE_INDEX];
- int OttDefaultCldAT[MAX_OUTPUT_CHANNELS*MAX_ARBITRARY_TREE_INDEX];
- int OttModeLfeAT[MAX_OUTPUT_CHANNELS*MAX_ARBITRARY_TREE_INDEX];
- int OttBandsAT[MAX_OUTPUT_CHANNELS*MAX_ARBITRARY_TREE_INDEX];
- int b3DaudioMode;
- int b3DaudioHRTFset;
- int HRTFfreqRes;
- int HRTFnumBand;
- int HRTFnumChan;
- int HRTFasymmetric;
- int HRTFlevelLeft[MAX_OUTPUT_CHANNELS][MAX_PARAMETER_BANDS];
- int HRTFlevelRight[MAX_OUTPUT_CHANNELS][MAX_PARAMETER_BANDS];
- int HRTFphase[MAX_OUTPUT_CHANNELS];
- int HRTFphaseLR[MAX_OUTPUT_CHANNELS][MAX_PARAMETER_BANDS];
- int HRTFicc[MAX_OUTPUT_CHANNELS];
- int HRTFiccLR[MAX_OUTPUT_CHANNELS][MAX_PARAMETER_BANDS];
- } SPATIAL_SPECIFIC_CONFIG;
- #endif
|