aboutsummaryrefslogtreecommitdiffstats
path: root/libMpegTPEnc/src
diff options
context:
space:
mode:
Diffstat (limited to 'libMpegTPEnc/src')
-rw-r--r--libMpegTPEnc/src/tpenc_asc.cpp24
-rw-r--r--libMpegTPEnc/src/version2
2 files changed, 23 insertions, 3 deletions
diff --git a/libMpegTPEnc/src/tpenc_asc.cpp b/libMpegTPEnc/src/tpenc_asc.cpp
index 5ba71c8..3f10ca4 100644
--- a/libMpegTPEnc/src/tpenc_asc.cpp
+++ b/libMpegTPEnc/src/tpenc_asc.cpp
@@ -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 );
diff --git a/libMpegTPEnc/src/version b/libMpegTPEnc/src/version
index d998903..91c4c67 100644
--- a/libMpegTPEnc/src/version
+++ b/libMpegTPEnc/src/version
@@ -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__