diff options
author | Jean-Michel Trivi <jmtrivi@google.com> | 2013-08-27 16:20:46 -0700 |
---|---|---|
committer | Jean-Michel Trivi <jmtrivi@google.com> | 2013-08-27 16:20:46 -0700 |
commit | b9774f90651be61065ae40171fc321f6ced60e49 (patch) | |
tree | 77fe672840459d261fd7abeb08c001c85a9d4ddf /libAACdec/src/aacdec_drc_types.h | |
parent | 2ddc922da87bb675b8ab8c305566436e806df0d9 (diff) | |
download | ODR-AudioEnc-b9774f90651be61065ae40171fc321f6ced60e49.tar.gz ODR-AudioEnc-b9774f90651be61065ae40171fc321f6ced60e49.tar.bz2 ODR-AudioEnc-b9774f90651be61065ae40171fc321f6ced60e49.zip |
Decode dynamic range control improvements
* AAC-Decoder
- Only set the program reference level if it has changed compared to the
previous value. This allows setting it on a frame-by-frame basis without
limitations.
Modified file(s):
libAACdec/src/aacdec_drc.cpp
libAACdec/src/aacdec_drc.h
- Add expiry counter for the program reference level.
Modified file(s):
libAACdec/src/aacdec_drc.cpp
libAACdec/src/aacdec_drc_types.h
- Disable scaling of light compression gain values when heavy compression
mode is enabled to have the full light compression as fallback if no heavy
values are available.
Modified file(s):
libAACdec/src/aacdec_drc.cpp
libAACdec/src/aacdecoder_lib.cpp
libAACdec/src/aacdec_drc_types.h
- Change initialization and channel disabling to improve start-up behavior in
SBR decoder.
Modified file(s):
libSBRdec/src/sbrdecoder.cpp
libSBRdec/src/sbrdec_drc.cpp
Bug 9428126
Change-Id: Ie1d3949c53910506da2547d32fe3bf6ee7606eb4
Diffstat (limited to 'libAACdec/src/aacdec_drc_types.h')
-rw-r--r-- | libAACdec/src/aacdec_drc_types.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libAACdec/src/aacdec_drc_types.h b/libAACdec/src/aacdec_drc_types.h index e7c6f1a..1b5cd76 100644 --- a/libAACdec/src/aacdec_drc_types.h +++ b/libAACdec/src/aacdec_drc_types.h @@ -132,8 +132,10 @@ typedef struct typedef struct { - FIXP_DBL cut; - FIXP_DBL boost; + FIXP_DBL cut; /* The attenuation scale factor currently used. */ + FIXP_DBL usrCut; /* The latest attenuation scale factor set by user. */ + FIXP_DBL boost; /* The boost scale factor currently used. */ + FIXP_DBL usrBoost; /* The latest boost scale factor set by user. */ UINT expiryFrame; SCHAR targetRefLevel; @@ -154,6 +156,8 @@ typedef struct USHORT numThreads; /* The number of DRC data threads extracted from the found payload elements */ SCHAR progRefLevel; /* Program reference level for all channels */ + UINT prlExpiryCount; /* Counter that can be used to monitor the life time of the program reference level. */ + UCHAR dvbAncDataAvailable; /* Flag that indicates whether DVB ancillary data is present or not */ UINT dvbAncDataPosition; /* Used to store the DVB ancillary data payload position in the bitstream (only one per frame) */ UINT drcPayloadPosition[MAX_DRC_THREADS]; /* Used to store the DRC payload positions in the bitstream */ |