diff options
author | Jean-Michel Trivi <jmtrivi@google.com> | 2013-08-29 12:24:04 -0700 |
---|---|---|
committer | Jean-Michel Trivi <jmtrivi@google.com> | 2013-08-29 12:24:04 -0700 |
commit | 3aec97e388e29a1d03f0197b27b893bc6aaf8ac3 (patch) | |
tree | 0cbc01e83d71aec25704fd9a6dd80b339d06c27a /libSBRenc/src/sbr.h | |
parent | 7ad97579f8ccb843afdb5b184c4b209253839fe3 (diff) | |
download | fdk-aac-3aec97e388e29a1d03f0197b27b893bc6aaf8ac3.tar.gz fdk-aac-3aec97e388e29a1d03f0197b27b893bc6aaf8ac3.tar.bz2 fdk-aac-3aec97e388e29a1d03f0197b27b893bc6aaf8ac3.zip |
Encoder downsampled SBR
* AAC-Encoder
- Introduce optional AACENC_SBR_RATIO encoder API parameter to configure
dualrate or downsampled SBR explicitely. ELD makes use of downsampled SBR
in default configuration.
Modified file(s):
documentation\aacEncoder.pdf
libAACenc\include\aacenc_lib.h
libAACenc\src\aacenc.h
libAACenc\src\aacenc_lib.cpp
* SBR-Encoder
- Implement downsampled SBR feature.
- Revise sbr tuning parameter selection.
Modified file(s):
libSBRenc\include\sbr_encoder.h
libSBRenc\src\bit_sbr.h
libSBRenc\src\env_est.cpp
libSBRenc\src\mh_det.cpp
libSBRenc\src\nf_est.cpp
libSBRenc\src\ps_main.cpp
libSBRenc\src\sbr.h
libSBRenc\src\sbr_def.h
libSBRenc\src\sbr_encoder.cpp
libSBRenc\src\sbr_rom.cpp
libSBRenc\src\sbr_rom.h
libSBRenc\src\sbrenc_freq_sca.cpp
libSBRenc\src\sbrenc_freq_sca.h
libSBRenc\src\ton_corr.cpp
Bug 9428126
Change-Id: I731720a10829272acaaf70b84525df00a09ff3d2
Diffstat (limited to 'libSBRenc/src/sbr.h')
-rw-r--r-- | libSBRenc/src/sbr.h | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/libSBRenc/src/sbr.h b/libSBRenc/src/sbr.h index eed847f..cfc595e 100644 --- a/libSBRenc/src/sbr.h +++ b/libSBRenc/src/sbr.h @@ -105,7 +105,8 @@ amm-info@iis.fraunhofer.de /* SBR bitstream delay */ #define DELAY_FRAMES 2 -typedef struct { + +typedef struct SBR_CHANNEL { struct ENV_CHANNEL hEnvChannel; //INT_PCM *pDSOutBuffer; /**< Pointer to downsampled audio output of SBR encoder */ DOWNSAMPLER downSampler; @@ -113,7 +114,7 @@ typedef struct { } SBR_CHANNEL; typedef SBR_CHANNEL* HANDLE_SBR_CHANNEL; -typedef struct { +typedef struct SBR_ELEMENT { HANDLE_SBR_CHANNEL sbrChannel[2]; QMF_FILTER_BANK *hQmfAnalysis[2]; SBR_CONFIG_DATA sbrConfigData; @@ -126,10 +127,9 @@ typedef struct { UCHAR payloadDelayLine[1+DELAY_FRAMES][MAX_PAYLOAD_SIZE]; UINT payloadDelayLineSize[1+DELAY_FRAMES]; /* Sizes in bits */ -} SBR_ELEMENT; -typedef SBR_ELEMENT* HANDLE_SBR_ELEMENT; +} SBR_ELEMENT, *HANDLE_SBR_ELEMENT; -struct SBR_ENCODER +typedef struct SBR_ENCODER { HANDLE_SBR_ELEMENT sbrElement[(6)]; HANDLE_SBR_CHANNEL pSbrChannel[(6)]; @@ -142,6 +142,7 @@ struct SBR_ENCODER int bufferOffset; /* Offset for SBR parameter extraction in time domain input buffer. */ int downsampledOffset; /* Offset of downsampled/mixed output for core encoder. */ int downmixSize; /* Size in samples of downsampled/mixed output for core encoder. */ + INT downSampleFactor; /* Sampling rate relation between the SBR and the core encoder. */ int fTimeDomainDownsampling; /* Flag signalling time domain downsampling instead of QMF downsampling. */ int nBitstrDelay; /* Amount of SBR frames to be delayed in bitstream domain. */ INT estimateBitrate; /* estimate bitrate of SBR encoder */ @@ -158,7 +159,8 @@ struct SBR_ENCODER INT maxChannels; INT supportPS; -} ; + +} SBR_ENCODER; #endif /* __SBR_H */ |