mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-01 12:22:09 +00:00
avcodec/ac3tab: Move ff_ac3_enc_channel_map to its only user
and make it static. Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
parent
89fe1935b1
commit
d0d96674ec
@ -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 */
|
||||||
|
Loading…
Reference in New Issue
Block a user