diff options
Diffstat (limited to 'libMpegTPEnc/src')
| -rw-r--r-- | libMpegTPEnc/src/tpenc_asc.cpp | 24 | ||||
| -rw-r--r-- | libMpegTPEnc/src/version | 2 | 
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__  | 
