and make it static. Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>tags/n4.4
@@ -161,6 +161,15 @@ const uint64_t ff_ac3_channel_layouts[19] = { | |||||
0 | 0 | ||||
}; | }; | ||||
/** | |||||
* Table to remap channels from SMPTE order to AC-3 order. | |||||
* [channel_mode][lfe][ch] | |||||
*/ | |||||
static const uint8_t ac3_enc_channel_map[8][2][6] = { | |||||
COMMON_CHANNEL_MAP | |||||
{ { 0, 1, 2, 3, }, { 0, 1, 3, 4, 2, } }, | |||||
{ { 0, 2, 1, 3, 4, }, { 0, 2, 1, 4, 5, 3 } }, | |||||
}; | |||||
/** | /** | ||||
* LUT to select the bandwidth code based on the bit rate, sample rate, and | * LUT to select the bandwidth code based on the bit rate, sample rate, and | ||||
@@ -2184,7 +2193,7 @@ static av_cold int set_channel_info(AC3EncodeContext *s, int channels, | |||||
s->has_center = (s->channel_mode & 0x01) && s->channel_mode != AC3_CHMODE_MONO; | s->has_center = (s->channel_mode & 0x01) && s->channel_mode != AC3_CHMODE_MONO; | ||||
s->has_surround = s->channel_mode & 0x04; | s->has_surround = s->channel_mode & 0x04; | ||||
s->channel_map = ff_ac3_enc_channel_map[s->channel_mode][s->lfe_on]; | |||||
s->channel_map = ac3_enc_channel_map[s->channel_mode][s->lfe_on]; | |||||
*channel_layout = ch_layout; | *channel_layout = ch_layout; | ||||
if (s->lfe_on) | if (s->lfe_on) | ||||
*channel_layout |= AV_CH_LOW_FREQUENCY; | *channel_layout |= AV_CH_LOW_FREQUENCY; | ||||
@@ -97,24 +97,6 @@ const uint16_t avpriv_ac3_channel_layout_tab[8] = { | |||||
AV_CH_LAYOUT_5POINT0 | AV_CH_LAYOUT_5POINT0 | ||||
}; | }; | ||||
#define COMMON_CHANNEL_MAP \ | |||||
{ { 0, 1, }, { 0, 1, 2, } },\ | |||||
{ { 0, }, { 0, 1, } },\ | |||||
{ { 0, 1, }, { 0, 1, 2, } },\ | |||||
{ { 0, 2, 1, }, { 0, 2, 1, 3, } },\ | |||||
{ { 0, 1, 2, }, { 0, 1, 3, 2, } },\ | |||||
{ { 0, 2, 1, 3, }, { 0, 2, 1, 4, 3, } }, | |||||
/** | |||||
* Table to remap channels from SMPTE order to AC-3 order. | |||||
* [channel_mode][lfe][ch] | |||||
*/ | |||||
const uint8_t ff_ac3_enc_channel_map[8][2][6] = { | |||||
COMMON_CHANNEL_MAP | |||||
{ { 0, 1, 2, 3, }, { 0, 1, 3, 4, 2, } }, | |||||
{ { 0, 2, 1, 3, 4, }, { 0, 2, 1, 4, 5, 3 } }, | |||||
}; | |||||
/** | /** | ||||
* Table to remap channels from AC-3 order to SMPTE order. | * Table to remap channels from AC-3 order to SMPTE order. | ||||
* [channel_mode][lfe][ch] | * [channel_mode][lfe][ch] | ||||
@@ -31,7 +31,6 @@ | |||||
extern const uint16_t ff_ac3_frame_size_tab[38][3]; | extern const uint16_t ff_ac3_frame_size_tab[38][3]; | ||||
extern const uint8_t ff_ac3_channels_tab[8]; | extern const uint8_t ff_ac3_channels_tab[8]; | ||||
extern av_export_avcodec const uint16_t avpriv_ac3_channel_layout_tab[8]; | extern av_export_avcodec const uint16_t avpriv_ac3_channel_layout_tab[8]; | ||||
extern const uint8_t ff_ac3_enc_channel_map[8][2][6]; | |||||
extern const uint8_t ff_ac3_dec_channel_map[8][2][6]; | extern const uint8_t ff_ac3_dec_channel_map[8][2][6]; | ||||
extern const int ff_ac3_sample_rate_tab[]; | extern const int ff_ac3_sample_rate_tab[]; | ||||
extern const uint16_t ff_ac3_bitrate_tab[19]; | extern const uint16_t ff_ac3_bitrate_tab[19]; | ||||
@@ -67,4 +66,12 @@ enum CustomChannelMapLocation{ | |||||
AC3_CHMAP_LFE = 1<<(15-15) | AC3_CHMAP_LFE = 1<<(15-15) | ||||
}; | }; | ||||
#define COMMON_CHANNEL_MAP \ | |||||
{ { 0, 1, }, { 0, 1, 2, } },\ | |||||
{ { 0, }, { 0, 1, } },\ | |||||
{ { 0, 1, }, { 0, 1, 2, } },\ | |||||
{ { 0, 2, 1, }, { 0, 2, 1, 3, } },\ | |||||
{ { 0, 1, 2, }, { 0, 1, 3, 2, } },\ | |||||
{ { 0, 2, 1, 3, }, { 0, 2, 1, 4, 3, } }, | |||||
#endif /* AVCODEC_AC3TAB_H */ | #endif /* AVCODEC_AC3TAB_H */ |