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:
@@ -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 );
|
||||
|
||||
|
@@ -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__
|
||||
|
Reference in New Issue
Block a user