aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFraunhofer IIS FDK <audio-fdk@iis.fraunhofer.de>2019-03-08 16:01:59 +0100
committerJean-Michel Trivi <jmtrivi@google.com>2019-04-24 22:56:19 +0000
commit37972d5a1f175173c2747c043ae6f3d1a142d28a (patch)
treea649b78f44d36a62276b1a0e009c95de0856ba4a
parent67a2c092f53f4758b5b4040124a8db07762cd12e (diff)
downloadfdk-aac-37972d5a1f175173c2747c043ae6f3d1a142d28a.tar.gz
fdk-aac-37972d5a1f175173c2747c043ae6f3d1a142d28a.tar.bz2
fdk-aac-37972d5a1f175173c2747c043ae6f3d1a142d28a.zip
Add support for Album Mode (FDKdec v3.1.0).
Bug: 131255165 Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc Change-Id: I6b4b176ec497587238537bddd89889341733d4e2
-rw-r--r--documentation/aacDecoder.pdfbin500827 -> 487685 bytes
-rw-r--r--libAACdec/include/aacdecoder_lib.h8
-rw-r--r--libAACdec/src/aacdecoder_lib.cpp9
-rw-r--r--libDRCdec/include/FDK_drcDecLib.h3
-rw-r--r--libDRCdec/src/FDK_drcDecLib.cpp8
-rw-r--r--libDRCdec/src/drcDec_selectionProcess.cpp7
-rw-r--r--libDRCdec/src/drcDec_selectionProcess.h3
7 files changed, 31 insertions, 7 deletions
diff --git a/documentation/aacDecoder.pdf b/documentation/aacDecoder.pdf
index 1dec334..5c4ef5e 100644
--- a/documentation/aacDecoder.pdf
+++ b/documentation/aacDecoder.pdf
Binary files differ
diff --git a/libAACdec/include/aacdecoder_lib.h b/libAACdec/include/aacdecoder_lib.h
index 3a9b910..ee34b22 100644
--- a/libAACdec/include/aacdecoder_lib.h
+++ b/libAACdec/include/aacdecoder_lib.h
@@ -1,7 +1,7 @@
/* -----------------------------------------------------------------------------
Software License for The Fraunhofer FDK AAC Codec Library for Android
-© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten
+© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten
Forschung e.V. All rights reserved.
1. INTRODUCTION
@@ -781,6 +781,12 @@ typedef enum {
to 127 (31.75 dB below full-scale). This parameter is used only
with ::AAC_DRC_PARAMETER_HANDLING_ENABLED and ignored
otherwise.\n Default: 127 (worst-case assumption).\n */
+ AAC_UNIDRC_ALBUM_MODE =
+ 0x0207, /*!< MPEG-D DRC: Enable album mode. 0: Disabled (default), 1:
+ Enabled.\n Disabled album mode leads to application of gain
+ sequences for fading in and out, if provided in the
+ bitstream.\n Enabled album mode makes use of dedicated album
+ loudness information, if provided in the bitstream.\n */
AAC_QMF_LOWPOWER = 0x0300, /*!< Quadrature Mirror Filter (QMF) Bank processing
mode. \n -1: Use internal default. Implies MPEG
Surround partially complex accordingly. \n 0:
diff --git a/libAACdec/src/aacdecoder_lib.cpp b/libAACdec/src/aacdecoder_lib.cpp
index c214ba1..d0e4ebc 100644
--- a/libAACdec/src/aacdecoder_lib.cpp
+++ b/libAACdec/src/aacdecoder_lib.cpp
@@ -1,7 +1,7 @@
/* -----------------------------------------------------------------------------
Software License for The Fraunhofer FDK AAC Codec Library for Android
-© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten
+© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten
Forschung e.V. All rights reserved.
1. INTRODUCTION
@@ -119,7 +119,7 @@ amm-info@iis.fraunhofer.de
/* Decoder library info */
#define AACDECODER_LIB_VL0 3
-#define AACDECODER_LIB_VL1 0
+#define AACDECODER_LIB_VL1 1
#define AACDECODER_LIB_VL2 0
#define AACDECODER_LIB_TITLE "AAC Decoder Lib"
#ifdef __ANDROID__
@@ -871,6 +871,11 @@ LINKSPEC_CPP AAC_DECODER_ERROR aacDecoder_SetParam(
uniDrcErr = FDK_drcDec_SetParam(self->hUniDrcDecoder, DRC_DEC_EFFECT_TYPE,
(FIXP_DBL)value);
break;
+ case AAC_UNIDRC_ALBUM_MODE:
+ uniDrcErr = FDK_drcDec_SetParam(self->hUniDrcDecoder, DRC_DEC_ALBUM_MODE,
+ (FIXP_DBL)value);
+ break;
+
case AAC_TPDEC_CLEAR_BUFFER:
errTp = transportDec_SetParam(hTpDec, TPDEC_PARAM_RESET, 1);
self->streamInfo.numLostAccessUnits = 0;
diff --git a/libDRCdec/include/FDK_drcDecLib.h b/libDRCdec/include/FDK_drcDecLib.h
index e187e18..9a99ed1 100644
--- a/libDRCdec/include/FDK_drcDecLib.h
+++ b/libDRCdec/include/FDK_drcDecLib.h
@@ -1,7 +1,7 @@
/* -----------------------------------------------------------------------------
Software License for The Fraunhofer FDK AAC Codec Library for Android
-© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten
+© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten
Forschung e.V. All rights reserved.
1. INTRODUCTION
@@ -134,6 +134,7 @@ typedef enum {
DRC_DEC_EFFECT_TYPE,
DRC_DEC_EFFECT_TYPE_FALLBACK_CODE,
DRC_DEC_LOUDNESS_MEASUREMENT_METHOD,
+ DRC_DEC_ALBUM_MODE,
/* set only system (not user) parameters */
DRC_DEC_DOWNMIX_ID,
DRC_DEC_TARGET_CHANNEL_COUNT_REQUESTED, /**< number of output channels
diff --git a/libDRCdec/src/FDK_drcDecLib.cpp b/libDRCdec/src/FDK_drcDecLib.cpp
index 16b8152..8f3faa0 100644
--- a/libDRCdec/src/FDK_drcDecLib.cpp
+++ b/libDRCdec/src/FDK_drcDecLib.cpp
@@ -1,7 +1,7 @@
/* -----------------------------------------------------------------------------
Software License for The Fraunhofer FDK AAC Codec Library for Android
-© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten
+© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten
Forschung e.V. All rights reserved.
1. INTRODUCTION
@@ -440,6 +440,12 @@ FDK_drcDec_SetParam(HANDLE_DRC_DECODER hDrcDec,
requestValue, &(hDrcDec->selProcInputDiff));
if (sErr) return DRC_DEC_PARAM_OUT_OF_RANGE;
break;
+ case DRC_DEC_ALBUM_MODE:
+ sErr = drcDec_SelectionProcess_SetParam(hDrcDec->hSelectionProc,
+ SEL_PROC_ALBUM_MODE, requestValue,
+ &(hDrcDec->selProcInputDiff));
+ if (sErr) return DRC_DEC_PARAM_OUT_OF_RANGE;
+ break;
default:
return DRC_DEC_INVALID_PARAM;
}
diff --git a/libDRCdec/src/drcDec_selectionProcess.cpp b/libDRCdec/src/drcDec_selectionProcess.cpp
index 5653e22..37f5722 100644
--- a/libDRCdec/src/drcDec_selectionProcess.cpp
+++ b/libDRCdec/src/drcDec_selectionProcess.cpp
@@ -1,7 +1,7 @@
/* -----------------------------------------------------------------------------
Software License for The Fraunhofer FDK AAC Codec Library for Android
-© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten
+© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten
Forschung e.V. All rights reserved.
1. INTRODUCTION
@@ -555,6 +555,11 @@ drcDec_SelectionProcess_SetParam(HANDLE_DRC_SELECTION_PROCESS hInstance,
diff |= _compAssign(&pSelProcInput->loudnessMeasurementMethod,
requestValueInt);
break;
+ case SEL_PROC_ALBUM_MODE:
+ if ((requestValueInt < 0) || (requestValueInt > 1))
+ return DRCDEC_SELECTION_PROCESS_PARAM_OUT_OF_RANGE;
+ diff |= _compAssign(&pSelProcInput->albumMode, requestValueInt);
+ break;
case SEL_PROC_DOWNMIX_ID:
diff |=
_compAssign(&pSelProcInput->targetConfigRequestType, TCRT_DOWNMIX_ID);
diff --git a/libDRCdec/src/drcDec_selectionProcess.h b/libDRCdec/src/drcDec_selectionProcess.h
index 9e0e3fb..420bae6 100644
--- a/libDRCdec/src/drcDec_selectionProcess.h
+++ b/libDRCdec/src/drcDec_selectionProcess.h
@@ -1,7 +1,7 @@
/* -----------------------------------------------------------------------------
Software License for The Fraunhofer FDK AAC Codec Library for Android
-© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten
+© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten
Forschung e.V. All rights reserved.
1. INTRODUCTION
@@ -146,6 +146,7 @@ typedef enum {
SEL_PROC_EFFECT_TYPE,
SEL_PROC_EFFECT_TYPE_FALLBACK_CODE,
SEL_PROC_LOUDNESS_MEASUREMENT_METHOD,
+ SEL_PROC_ALBUM_MODE,
SEL_PROC_DOWNMIX_ID,
SEL_PROC_TARGET_LAYOUT,
SEL_PROC_TARGET_CHANNEL_COUNT,