Mercurial > libavcodec.hg
diff aacdectab.h @ 10306:c97a6cabee62 libavcodec
AAC: Add channel layout support for channel configuration as defined in the
specification
author | superdump |
---|---|
date | Mon, 28 Sep 2009 15:35:13 +0000 |
parents | 4cac4001dd23 |
children | 7dd2a45249a9 |
line wrap: on
line diff
--- a/aacdectab.h Mon Sep 28 05:19:13 2009 +0000 +++ b/aacdectab.h Mon Sep 28 15:35:13 2009 +0000 @@ -69,4 +69,27 @@ }; // @} +static const int8_t tags_per_config[16] = { 0, 1, 1, 2, 3, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0 }; + +static const uint8_t aac_channel_layout_map[7][5][2] = { + { { TYPE_SCE, 0 }, }, + { { TYPE_CPE, 0 }, }, + { { TYPE_CPE, 0 }, { TYPE_SCE, 0 }, }, + { { TYPE_CPE, 0 }, { TYPE_SCE, 0 }, { TYPE_SCE, 1 }, }, + { { TYPE_CPE, 0 }, { TYPE_SCE, 0 }, { TYPE_CPE, 1 }, }, + { { TYPE_CPE, 0 }, { TYPE_SCE, 0 }, { TYPE_LFE, 0 }, { TYPE_CPE, 1 }, }, + { { TYPE_CPE, 0 }, { TYPE_SCE, 0 }, { TYPE_LFE, 0 }, { TYPE_CPE, 2 }, { TYPE_CPE, 1 }, }, +}; + +static const int64_t aac_channel_layout[8] = { + CH_LAYOUT_MONO, + CH_LAYOUT_STEREO, + CH_LAYOUT_SURROUND, + CH_LAYOUT_4POINT0, + CH_LAYOUT_5POINT0_BACK, + CH_LAYOUT_5POINT1_BACK, + CH_LAYOUT_7POINT1_WIDE, + 0, +}; + #endif /* AVCODEC_AACDECTAB_H */