summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSatya Krishna Pindiproli <satyak@codeaurora.org>2016-06-29 15:57:56 +0530
committerLinux Build Service Account <lnxbuild@localhost>2016-08-24 08:08:15 -0600
commitacbe346dd9546ecd4623103ea14c6a6abbf2ea3f (patch)
treef898922e006336dd631477122ed1d2328245be84
parent508c82f6e77bc736f2932d3059f91565df72fd69 (diff)
downloadandroid_external_aac-cm-14.0.tar.gz
android_external_aac-cm-14.0.tar.bz2
android_external_aac-cm-14.0.zip
external/aac: enable MP2 encoding for WFDstaging/cm-14.1-cafrebasecm-14.1_prerebasecm-14.1_oldcm-14.0
Enable MP2 encoding for WFD. Change-Id: I4cc08c15494422dc20d970dc3a6c2c63eb0c761a
-rw-r--r--libAACenc/src/aacenc.cpp9
-rw-r--r--libAACenc/src/aacenc_lib.cpp23
-rw-r--r--libSYS/include/FDK_audio.h1
3 files changed, 29 insertions, 4 deletions
diff --git a/libAACenc/src/aacenc.cpp b/libAACenc/src/aacenc.cpp
index 5e8c08d..35cb675 100644
--- a/libAACenc/src/aacenc.cpp
+++ b/libAACenc/src/aacenc.cpp
@@ -690,7 +690,14 @@ AAC_ENCODER_ERROR FDKaacEnc_Initialize(HANDLE_AAC_ENC hAacEnc,
if (ErrorStatus != AAC_ENC_OK)
goto bail;
- hAacEnc->aot = hAacEnc->config->audioObjectType;
+ /* Map virtual aot's to intern aot used in bitstream writer. */
+ switch (hAacEnc->config->audioObjectType) {
+ case AOT_MP2_AAC_LC:
+ hAacEnc->aot = AOT_AAC_LC;
+ break;
+ default:
+ hAacEnc->aot = hAacEnc->config->audioObjectType;
+ }
/* common things */
diff --git a/libAACenc/src/aacenc_lib.cpp b/libAACenc/src/aacenc_lib.cpp
index 2845177..662ff3b 100644
--- a/libAACenc/src/aacenc_lib.cpp
+++ b/libAACenc/src/aacenc_lib.cpp
@@ -368,7 +368,8 @@ static SBR_PS_SIGNALING getSbrSignalingMode(
sbrSignaling = SIG_IMPLICIT; /* default: implicit signaling */
}
- if ( (audioObjectType==AOT_AAC_LC) || (audioObjectType==AOT_SBR) || (audioObjectType==AOT_PS) ) {
+ if ( (audioObjectType==AOT_AAC_LC) || (audioObjectType==AOT_SBR) ||
+ (audioObjectType==AOT_PS) || (audioObjectType==AOT_MP2_AAC_LC) ) {
switch (transportType) {
case TT_MP4_ADIF:
case TT_MP4_ADTS:
@@ -424,7 +425,13 @@ static void FDKaacEnc_MapConfig(
cc->flags = 0;
- transport_AOT = hAacConfig->audioObjectType;
+ switch (hAacConfig->audioObjectType) {
+ case AOT_MP2_AAC_LC:
+ transport_AOT = AOT_AAC_LC;
+ break;
+ default :
+ transport_AOT = hAacConfig->audioObjectType;
+ }
if (hAacConfig->audioObjectType == AOT_ER_AAC_ELD) {
cc->flags |= (hAacConfig->syntaxFlags & AC_SBR_PRESENT) ? CC_SBR : 0;
@@ -490,7 +497,14 @@ static void FDKaacEnc_MapConfig(
cc->samplingRate = hAacConfig->sampleRate;
/* Mpeg-4 signaling for transport library. */
- cc->flags |= CC_MPEG_ID;
+ switch ( hAacConfig->audioObjectType ) {
+ case AOT_MP2_AAC_LC:
+ cc->flags &= ~CC_MPEG_ID; /* Required for ADTS. */
+ cc->extAOT = AOT_NULL_OBJECT;
+ break;
+ default:
+ cc->flags |= CC_MPEG_ID;
+ }
/* ER-tools signaling. */
cc->flags |= (hAacConfig->syntaxFlags & AC_ER_VCB11) ? CC_VCB11 : 0;
@@ -772,6 +786,8 @@ AACENC_ERROR FDKaacEnc_AdjustEncSettings(HANDLE_AACENCODER hAacEncoder,
/* Adapt internal AOT when necessary. */
switch ( hAacConfig->audioObjectType ) {
+ case AOT_MP2_AAC_LC:
+ hAacConfig->usePns = 0;
case AOT_AAC_LC:
case AOT_SBR:
case AOT_PS:
@@ -1786,6 +1802,7 @@ AACENC_ERROR aacEncoder_SetParam(
goto bail;
}
case AOT_AAC_LC:
+ case AOT_MP2_AAC_LC:
case AOT_ER_AAC_LD:
case AOT_ER_AAC_ELD:
if (!(hAacEncoder->encoder_modis & (ENC_MODE_FLAG_AAC))) {
diff --git a/libSYS/include/FDK_audio.h b/libSYS/include/FDK_audio.h
index 98ded3b..3b39024 100644
--- a/libSYS/include/FDK_audio.h
+++ b/libSYS/include/FDK_audio.h
@@ -198,6 +198,7 @@ typedef enum
AOT_LD_MPEGS = 44, /**< Low Delay MPEG Surround */
/* Pseudo AOTs */
+ AOT_MP2_AAC_LC = 129, /**< Virtual AOT MP2 Low Complexity profile */
AOT_DRM_AAC = 143, /**< Virtual AOT for DRM (ER-AAC-SCAL without SBR) */
AOT_DRM_SBR = 144, /**< Virtual AOT for DRM (ER-AAC-SCAL with SBR) */
AOT_DRM_MPEG_PS = 145 /**< Virtual AOT for DRM (ER-AAC-SCAL with SBR and MPEG-PS) */