diff options
Diffstat (limited to 'libAACenc')
-rw-r--r-- | libAACenc/include/aacenc_lib.h | 4 | ||||
-rw-r--r-- | libAACenc/src/aacenc.h | 5 | ||||
-rw-r--r-- | libAACenc/src/aacenc_lib.cpp | 2 | ||||
-rw-r--r-- | libAACenc/src/metadata_main.cpp | 15 |
4 files changed, 19 insertions, 7 deletions
diff --git a/libAACenc/include/aacenc_lib.h b/libAACenc/include/aacenc_lib.h index 71f7556..f1965aa 100644 --- a/libAACenc/include/aacenc_lib.h +++ b/libAACenc/include/aacenc_lib.h @@ -1005,6 +1005,10 @@ internally. #include "machine_type.h" #include "FDK_audio.h" +#define AACENCODER_LIB_VL0 4 +#define AACENCODER_LIB_VL1 0 +#define AACENCODER_LIB_VL2 0 + /** * AAC encoder error codes. */ diff --git a/libAACenc/src/aacenc.h b/libAACenc/src/aacenc.h index 0e0d8c1..291ea54 100644 --- a/libAACenc/src/aacenc.h +++ b/libAACenc/src/aacenc.h @@ -206,8 +206,9 @@ typedef enum { CH_ORDER_MPEG = 0, /*!< MPEG channel ordering (e. g. 5.1: C, L, R, SL, SR, LFE) */ - CH_ORDER_WAV /*!< WAV fileformat channel ordering (e. g. 5.1: L, R, C, LFE, - SL, SR) */ + CH_ORDER_WAV, /*!< WAV fileformat channel ordering (e. g. 5.1: L, R, C, LFE, + SL, SR) */ + CH_ORDER_WG4 /*!< WG4 fileformat channel ordering (e. g. 5.1: L, R, SL, SR, C, LFE) */ } CHANNEL_ORDER; diff --git a/libAACenc/src/aacenc_lib.cpp b/libAACenc/src/aacenc_lib.cpp index c3977f3..d2cb801 100644 --- a/libAACenc/src/aacenc_lib.cpp +++ b/libAACenc/src/aacenc_lib.cpp @@ -2226,7 +2226,7 @@ AACENC_ERROR aacEncoder_SetParam(const HANDLE_AACENCODER hAacEncoder, break; case AACENC_CHANNELORDER: if (hAacEncoder->aacConfig.channelOrder != (CHANNEL_ORDER)value) { - if (!((value == 0) || (value == 1))) { + if (!((value == 0) || (value == 1) || (value == 2))) { err = AACENC_INVALID_CONFIG; break; } diff --git a/libAACenc/src/metadata_main.cpp b/libAACenc/src/metadata_main.cpp index edd3831..ada4502 100644 --- a/libAACenc/src/metadata_main.cpp +++ b/libAACenc/src/metadata_main.cpp @@ -491,10 +491,17 @@ FDK_METADATA_ERROR FDK_MetadataEnc_Init( FDK_channelMapDescr mapDescrPrev, mapDescr; int c, src[2] = {-1, -1}, dst[2] = {-1, -1}; - FDK_chMapDescr_init(&mapDescrPrev, NULL, 0, - (channelOrder == CH_ORDER_MPEG) ? 1 : 0); - FDK_chMapDescr_init(&mapDescr, NULL, 0, - (channelOrder == CH_ORDER_MPEG) ? 1 : 0); + if (channelOrder == CH_ORDER_WG4) { + FDK_chMapDescr_init(&mapDescrPrev, FDK_mapInfoTabWg4, + FDK_mapInfoTabLenWg4, 0); + FDK_chMapDescr_init(&mapDescr, FDK_mapInfoTabWg4, + FDK_mapInfoTabLenWg4, 0); + } else { + FDK_chMapDescr_init(&mapDescrPrev, NULL, 0, + (channelOrder == CH_ORDER_MPEG) ? 1 : 0); + FDK_chMapDescr_init(&mapDescr, NULL, 0, + (channelOrder == CH_ORDER_MPEG) ? 1 : 0); + } switch (channelMode) { case MODE_1: |