aboutsummaryrefslogtreecommitdiffstats
path: root/libAACenc
diff options
context:
space:
mode:
Diffstat (limited to 'libAACenc')
-rw-r--r--libAACenc/include/aacenc_lib.h4
-rw-r--r--libAACenc/src/aacenc.h5
-rw-r--r--libAACenc/src/aacenc_lib.cpp2
-rw-r--r--libAACenc/src/metadata_main.cpp15
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: