diff options
author | Jean-Michel Trivi <jmtrivi@google.com> | 2016-04-09 00:36:07 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2016-04-09 00:36:07 +0000 |
commit | 125815b0ed558c72bb019a2d36c662e5e7f7c030 (patch) | |
tree | 626b5c026f23b0c8ec4dab155faf86d55cd9d94e /libSBRenc/include/sbr_encoder.h | |
parent | d75233c2da4b49259d2e2de701f326d1a8d897b1 (diff) | |
parent | 46ba3676b854acbc69a4c7845f578d4c2886377b (diff) | |
download | fdk-aac-125815b0ed558c72bb019a2d36c662e5e7f7c030.tar.gz fdk-aac-125815b0ed558c72bb019a2d36c662e5e7f7c030.tar.bz2 fdk-aac-125815b0ed558c72bb019a2d36c662e5e7f7c030.zip |
AAC/SBR encoder improvements
am: 46ba367
* commit '46ba3676b854acbc69a4c7845f578d4c2886377b':
AAC/SBR encoder improvements
Change-Id: Id839c5ba8b79eddb7e239b7ec1b26fb5079b7d81
Diffstat (limited to 'libSBRenc/include/sbr_encoder.h')
-rw-r--r-- | libSBRenc/include/sbr_encoder.h | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/libSBRenc/include/sbr_encoder.h b/libSBRenc/include/sbr_encoder.h index 93dc46d..aec0398 100644 --- a/libSBRenc/include/sbr_encoder.h +++ b/libSBRenc/include/sbr_encoder.h @@ -2,7 +2,7 @@ /* ----------------------------------------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. +© Copyright 1995 - 2015 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -135,6 +135,12 @@ enum SBR_SYNTAX_DRM_CRC = 0x0008 }; +typedef enum +{ + FREQ_RES_LOW = 0, + FREQ_RES_HIGH +} FREQ_RES; + typedef struct { CODEC_TYPE coreCoder; /*!< LC or ELD */ @@ -168,8 +174,9 @@ typedef struct sbrConfiguration INT dynBwSupported; /*!< Flag: support for dynamic bandwidth in this combination. */ INT parametricCoding; /*!< Flag: usage of parametric coding tool. */ INT downSampleFactor; /*!< Sampling rate relation between the SBR and the core encoder. */ - int freq_res_fixfix[3]; /*!< Frequency resolution of envelopes in frame class FIXFIX - 0=1 Env; 1=2 Env; 2=4 Env; */ + FREQ_RES freq_res_fixfix[2];/*!< Frequency resolution of envelopes in frame class FIXFIX, for non-split case and split case */ + UCHAR fResTransIsLow; /*!< Frequency resolution of envelopes in transient frames: low (0) or variable (1) */ + /* core coder dependent tuning parameters */ @@ -221,6 +228,8 @@ typedef struct sbrConfiguration INT sbr_interpol_freq; /*!< Flag: use interpolation in freq. direction. */ INT sbr_smoothing_length; /*!< Flag: choose length 4 or 0 (=on, off). */ UCHAR init_amp_res_FF; + FIXP_DBL threshold_AmpRes_FF_m; + SCHAR threshold_AmpRes_FF_e; } sbrConfiguration, *sbrConfigurationPtr ; typedef struct SBR_CONFIG_DATA @@ -237,7 +246,7 @@ typedef struct SBR_CONFIG_DATA INT noQmfBands; /**< Number of QMF frequency bands. */ INT noQmfSlots; /**< Number of QMF slots. */ - UCHAR *freqBandTable[2]; /**< Frequency table for low and hires, only MAX_FREQ_COEFFS/2 +1 coeefs actually needed for lowres. */ + UCHAR *freqBandTable[2]; /**< Frequency table for low and hires, only MAX_FREQ_COEFFS/2 +1 coeffs actually needed for lowres. */ UCHAR *v_k_master; /**< Master BandTable where freqBandTable is derived from. */ @@ -249,6 +258,8 @@ typedef struct SBR_CONFIG_DATA INT xposCtrlSwitch; /**< Flag indicates whether to switch xpos ctrl on the fly. */ INT switchTransposers; /**< Flag indicates whether to switch xpos on the fly . */ UCHAR initAmpResFF; + FIXP_DBL thresholdAmpResFF_m; + SCHAR thresholdAmpResFF_e; } SBR_CONFIG_DATA, *HANDLE_SBR_CONFIG_DATA; typedef struct { |