1
0
mirror of https://github.com/mstorsjo/fdk-aac.git synced 2025-06-05 22:39:13 +02:00

Encoder explicit signaling

* AAC-Encoder

   - Revise explicit signaling method which is required for downsampled SBR.
     The parameter is optional and default configuration is implicit signaling
     for dualrate SBR as before. In case of downsampled SBR and HE-AAC explicit
     signaling is configured as default.
     Modified file(s):
        documentation\aacEncoder.pdf
        libAACenc\include\aacenc_lib.h
        libAACenc\src\aacenc_lib.cpp
        libMpegTPEnc\src\tpenc_asc.cpp
        libMpegTPEnc\src\version
        libSYS\include\FDK_audio.h
        libSYS\src\genericStds.cpp

Bug 9428126

Change-Id: I35138140346f17384d109ee5829be9ea5bab80fc
This commit is contained in:
Jean-Michel Trivi
2013-08-29 12:29:46 -07:00
parent 3aec97e388
commit dbf9680648
7 changed files with 4220 additions and 3980 deletions

View File

@@ -474,7 +474,7 @@ int transportEnc_writeASC (
break;
}
if (config->extAOT == AOT_SBR || config->extAOT == AOT_PS)
if (config->sbrSignaling==SIG_EXPLICIT_HIERARCHICAL && config->sbrPresent)
writeAot(asc, config->extAOT);
else
writeAot(asc, config->aot);
@@ -492,7 +492,7 @@ int transportEnc_writeASC (
FDKwriteBits( asc, getChannelConfig(config->channelMode), 4 );
if (config->extAOT == AOT_SBR || config->extAOT == AOT_PS) {
if (config->sbrSignaling==SIG_EXPLICIT_HIERARCHICAL && config->sbrPresent) {
writeSampleRate(asc, config->extSamplingRate);
writeAot(asc, config->aot);
}
@@ -545,6 +545,26 @@ int transportEnc_writeASC (
break;
}
/* backward compatible explicit signaling of extension AOT */
if (config->sbrSignaling==SIG_EXPLICIT_BW_COMPATIBLE)
{
TP_ASC_EXTENSION_ID ascExtId = ASCEXT_UNKOWN;
if (config->sbrPresent) {
ascExtId=ASCEXT_SBR;
FDKwriteBits( asc, ascExtId, 11 );
writeAot(asc, config->extAOT);
FDKwriteBits( asc, 1, 1 ); /* sbrPresentFlag=1 */
writeSampleRate(asc, config->extSamplingRate);
if (config->psPresent) {
ascExtId=ASCEXT_PS;
FDKwriteBits( asc, ascExtId, 11 );
FDKwriteBits( asc, 1, 1 ); /* psPresentFlag=1 */
}
}
}
/* Make sure all bits are sync'ed */
FDKsyncCache( asc );

View File

@@ -2,7 +2,7 @@
/* library info */
#define TP_LIB_VL0 2
#define TP_LIB_VL1 3
#define TP_LIB_VL2 1
#define TP_LIB_VL2 2
#define TP_LIB_TITLE "MPEG Transport"
#define TP_LIB_BUILD_DATE __DATE__
#define TP_LIB_BUILD_TIME __TIME__