support 7.1 channel mode added on FDK 3.4.12
authornu774 <honeycomb77@gmail.com>
Sun, 3 Nov 2013 02:26:12 +0000 (11:26 +0900)
committernu774 <honeycomb77@gmail.com>
Sun, 3 Nov 2013 09:08:46 +0000 (18:08 +0900)
src/aacenc.c

index 364049884796370f732f845e989c7e4dcbc9d7c2..00c37f333da6b5d5a916326ca428b55f44f80c0f 100644 (file)
@@ -93,10 +93,10 @@ int aacenc_channel_mode(const pcm_sample_description_t *format)
 {
     uint32_t chanmask = format->channel_mask;
 
-    if (format->channels_per_frame > 6)
+    if (format->channels_per_frame > 8)
         return 0;
     if (!chanmask) {
-        static uint32_t defaults[] = { 0x4, 0x3, 0x7, 0, 0x37, 0x3f };
+        static uint32_t defaults[] = { 0x4, 0x3, 0x7, 0, 0x37, 0x3f, 0, 0x63f };
         chanmask = defaults[format->channels_per_frame - 1];
     }
     switch (chanmask) {
@@ -108,6 +108,10 @@ int aacenc_channel_mode(const pcm_sample_description_t *format)
     case 0x107: return MODE_1_2_1;
     case 0x607: return MODE_1_2_2;
     case 0x60f: return MODE_1_2_2_1;
+#if AACENCODER_LIB_VL0 > 3 || (AACENCODER_LIB_VL0==3 && AACENCODER_LIB_VL1>=4)
+    case 0xff:  return MODE_1_2_2_2_1;
+    case 0x63f: return MODE_7_1_REAR_SURROUND;
+#endif
     }
     return 0;
 }
This page took 0.010336 seconds and 4 git commands to generate.