support 7.1 channel mode added on FDK 3.4.12

This commit is contained in:
nu774 2013-11-03 11:26:12 +09:00
parent 5732f1f6c5
commit 3c0f152d39
1 changed files with 6 additions and 2 deletions

View File

@ -93,10 +93,10 @@ int aacenc_channel_mode(const pcm_sample_description_t *format)
{ {
uint32_t chanmask = format->channel_mask; uint32_t chanmask = format->channel_mask;
if (format->channels_per_frame > 6) if (format->channels_per_frame > 8)
return 0; return 0;
if (!chanmask) { 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]; chanmask = defaults[format->channels_per_frame - 1];
} }
switch (chanmask) { switch (chanmask) {
@ -108,6 +108,10 @@ int aacenc_channel_mode(const pcm_sample_description_t *format)
case 0x107: return MODE_1_2_1; case 0x107: return MODE_1_2_1;
case 0x607: return MODE_1_2_2; case 0x607: return MODE_1_2_2;
case 0x60f: return MODE_1_2_2_1; 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; return 0;
} }