static const ATRAC9BlockConfig at9_block_layout[] = {
{ /* Mono */
- AV_CH_LAYOUT_MONO,
- {
- ATRAC9_BLOCK_TYPE_SCE,
- },
- { { 0 }, },
- 1,
+ .channel_layout = AV_CH_LAYOUT_MONO,
+ .type = { ATRAC9_BLOCK_TYPE_SCE, },
+ .count = 1,
},
{ /* Dual Mono */
- AV_CH_LAYOUT_STEREO,
- {
- ATRAC9_BLOCK_TYPE_SCE,
- ATRAC9_BLOCK_TYPE_SCE,
- },
- { { 0 }, { 1 }, },
- 2,
+ .channel_layout = AV_CH_LAYOUT_STEREO,
+ .type = { ATRAC9_BLOCK_TYPE_SCE,
+ ATRAC9_BLOCK_TYPE_SCE, },
+ .plane_map = { { 0 }, { 1 }, },
+ .count = 2,
},
{ /* Stereo */
- AV_CH_LAYOUT_STEREO,
- {
- ATRAC9_BLOCK_TYPE_CPE,
- },
- { { 0, 1 }, },
- 1,
+ .channel_layout = AV_CH_LAYOUT_STEREO,
+ .type = { ATRAC9_BLOCK_TYPE_CPE, },
+ .plane_map = { { 0, 1 }, },
+ .count = 1,
},
{ /* 5.1 */
- AV_CH_LAYOUT_5POINT1,
- {
- ATRAC9_BLOCK_TYPE_CPE,
- ATRAC9_BLOCK_TYPE_SCE,
- ATRAC9_BLOCK_TYPE_LFE,
- ATRAC9_BLOCK_TYPE_CPE,
- },
- { { 0, 1 }, { 2 }, { 3 }, { 4, 5 }, },
- 4,
+ .channel_layout = AV_CH_LAYOUT_5POINT1,
+ .type = { ATRAC9_BLOCK_TYPE_CPE,
+ ATRAC9_BLOCK_TYPE_SCE,
+ ATRAC9_BLOCK_TYPE_LFE,
+ ATRAC9_BLOCK_TYPE_CPE, },
+ .plane_map = { { 0, 1 }, { 2 }, { 3 }, { 4, 5 }, },
+ .count = 4,
},
- { /* 5.1 */
- AV_CH_LAYOUT_7POINT1,
- {
- ATRAC9_BLOCK_TYPE_CPE,
- ATRAC9_BLOCK_TYPE_SCE,
- ATRAC9_BLOCK_TYPE_LFE,
- ATRAC9_BLOCK_TYPE_CPE,
- ATRAC9_BLOCK_TYPE_CPE,
- },
- { { 0, 1 }, { 2 }, { 3 }, { 4, 5 }, { 6, 7 }, },
- 5,
+ { /* 7.1 */
+ .channel_layout = AV_CH_LAYOUT_7POINT1,
+ .type = { ATRAC9_BLOCK_TYPE_CPE,
+ ATRAC9_BLOCK_TYPE_SCE,
+ ATRAC9_BLOCK_TYPE_LFE,
+ ATRAC9_BLOCK_TYPE_CPE,
+ ATRAC9_BLOCK_TYPE_CPE, },
+ .plane_map = { { 0, 1 }, { 2 }, { 3 }, { 4, 5 }, { 6, 7 }, },
+ .count = 5,
},
{ /* Quad */
- AV_CH_LAYOUT_QUAD,
- {
- ATRAC9_BLOCK_TYPE_CPE,
- ATRAC9_BLOCK_TYPE_CPE,
- },
- { { 0, 1 }, { 2, 3 }, },
- 2,
+ .channel_layout = AV_CH_LAYOUT_QUAD,
+ .type = { ATRAC9_BLOCK_TYPE_CPE,
+ ATRAC9_BLOCK_TYPE_CPE, },
+ .plane_map = { { 0, 1 }, { 2, 3 }, },
+ .count = 2,
},
};
72, 80, 88, 96, 112, 128, 144, 160, 176, 192, 208, 224, 240, 256
};
-const uint8_t at9_q_unit_to_codebookidx[] = {
+static const uint8_t at9_q_unit_to_codebookidx[] = {
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2,
2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
};
const int value_cnt;
const int value_cnt_pow;
const int value_bits;
- const int max_bit_size;
} HuffmanCodebook;
static const HuffmanCodebook at9_huffman_sf_unsigned[] = {
{ 0 },
- { huff_sfb_a1_bits, huff_sfb_a1_codes, 2, 1, 0, 1, 1, },
- { huff_sfb_a2_bits, huff_sfb_a2_codes, 4, 1, 0, 2, 3, },
- { huff_sfb_a3_bits, huff_sfb_a3_codes, 8, 1, 0, 3, 6, },
- { huff_sfb_a4_bits, huff_sfb_a4_codes, 16, 1, 0, 4, 8, },
- { huff_sfb_a5_bits, huff_sfb_a5_codes, 32, 1, 0, 5, 8, },
- { huff_sfb_a6_bits, huff_sfb_a6_codes, 64, 1, 0, 6, 8, },
+ { huff_sfb_a1_bits, huff_sfb_a1_codes, 2, 1, 0, 1 },
+ { huff_sfb_a2_bits, huff_sfb_a2_codes, 4, 1, 0, 2 },
+ { huff_sfb_a3_bits, huff_sfb_a3_codes, 8, 1, 0, 3 },
+ { huff_sfb_a4_bits, huff_sfb_a4_codes, 16, 1, 0, 4 },
+ { huff_sfb_a5_bits, huff_sfb_a5_codes, 32, 1, 0, 5 },
+ { huff_sfb_a6_bits, huff_sfb_a6_codes, 64, 1, 0, 6 },
};
static const HuffmanCodebook at9_huffman_sf_signed[] = {
{ 0 },
{ 0 },
- { huff_sfb_b2_bits, huff_sfb_b2_codes, 4, 1, 0, 2, 2, },
- { huff_sfb_b3_bits, huff_sfb_b3_codes, 8, 1, 0, 3, 6, },
- { huff_sfb_b4_bits, huff_sfb_b4_codes, 16, 1, 0, 4, 8, },
- { huff_sfb_b5_bits, huff_sfb_b5_codes, 32, 1, 0, 5, 8, },
+ { huff_sfb_b2_bits, huff_sfb_b2_codes, 4, 1, 0, 2 },
+ { huff_sfb_b3_bits, huff_sfb_b3_codes, 8, 1, 0, 3 },
+ { huff_sfb_b4_bits, huff_sfb_b4_codes, 16, 1, 0, 4 },
+ { huff_sfb_b5_bits, huff_sfb_b5_codes, 32, 1, 0, 5 },
};
static const uint8_t huff_spec_a21_bits[] = {
{ { 0 } },
{ { 0 } },
{
- { huff_spec_a21_bits, huff_spec_a21_codes, 16, 2, 1, 2, 3, },
- { huff_spec_a22_bits, huff_spec_a22_codes, 256, 4, 2, 2, 8, },
- { huff_spec_a23_bits, huff_spec_a23_codes, 256, 4, 2, 2, 9, },
- { huff_spec_a24_bits, huff_spec_a24_codes, 256, 4, 2, 2, 10, },
+ { huff_spec_a21_bits, huff_spec_a21_codes, 16, 2, 1, 2 },
+ { huff_spec_a22_bits, huff_spec_a22_codes, 256, 4, 2, 2 },
+ { huff_spec_a23_bits, huff_spec_a23_codes, 256, 4, 2, 2 },
+ { huff_spec_a24_bits, huff_spec_a24_codes, 256, 4, 2, 2 },
},
{
- { huff_spec_a31_bits, huff_spec_a31_codes, 64, 2, 1, 3, 7, },
- { huff_spec_a32_bits, huff_spec_a32_codes, 64, 2, 1, 3, 7, },
- { huff_spec_a33_bits, huff_spec_a33_codes, 64, 2, 1, 3, 8, },
- { huff_spec_a34_bits, huff_spec_a34_codes, 64, 2, 1, 3, 10, },
+ { huff_spec_a31_bits, huff_spec_a31_codes, 64, 2, 1, 3 },
+ { huff_spec_a32_bits, huff_spec_a32_codes, 64, 2, 1, 3 },
+ { huff_spec_a33_bits, huff_spec_a33_codes, 64, 2, 1, 3 },
+ { huff_spec_a34_bits, huff_spec_a34_codes, 64, 2, 1, 3 },
},
{
- { huff_spec_a41_bits, huff_spec_a41_codes, 256, 2, 1, 4, 9, },
- { huff_spec_a42_bits, huff_spec_a42_codes, 256, 2, 1, 4, 10, },
- { huff_spec_a43_bits, huff_spec_a43_codes, 256, 2, 1, 4, 10, },
- { huff_spec_a44_bits, huff_spec_a44_codes, 256, 2, 1, 4, 10, },
+ { huff_spec_a41_bits, huff_spec_a41_codes, 256, 2, 1, 4 },
+ { huff_spec_a42_bits, huff_spec_a42_codes, 256, 2, 1, 4 },
+ { huff_spec_a43_bits, huff_spec_a43_codes, 256, 2, 1, 4 },
+ { huff_spec_a44_bits, huff_spec_a44_codes, 256, 2, 1, 4 },
},
{
- { huff_spec_a51_bits, huff_spec_a51_codes, 32, 1, 0, 5, 6, },
- { huff_spec_a52_bits, huff_spec_a52_codes, 32, 1, 0, 5, 6, },
- { huff_spec_a53_bits, huff_spec_a53_codes, 32, 1, 0, 5, 7, },
- { huff_spec_a54_bits, huff_spec_a54_codes, 32, 1, 0, 5, 8, },
+ { huff_spec_a51_bits, huff_spec_a51_codes, 32, 1, 0, 5 },
+ { huff_spec_a52_bits, huff_spec_a52_codes, 32, 1, 0, 5 },
+ { huff_spec_a53_bits, huff_spec_a53_codes, 32, 1, 0, 5 },
+ { huff_spec_a54_bits, huff_spec_a54_codes, 32, 1, 0, 5 },
},
{
- { huff_spec_a61_bits, huff_spec_a61_codes, 64, 1, 0, 6, 7, },
- { huff_spec_a62_bits, huff_spec_a62_codes, 64, 1, 0, 6, 7, },
- { huff_spec_a63_bits, huff_spec_a63_codes, 64, 1, 0, 6, 8, },
- { huff_spec_a64_bits, huff_spec_a64_codes, 64, 1, 0, 6, 9, },
+ { huff_spec_a61_bits, huff_spec_a61_codes, 64, 1, 0, 6 },
+ { huff_spec_a62_bits, huff_spec_a62_codes, 64, 1, 0, 6 },
+ { huff_spec_a63_bits, huff_spec_a63_codes, 64, 1, 0, 6 },
+ { huff_spec_a64_bits, huff_spec_a64_codes, 64, 1, 0, 6 },
},
{
- { huff_spec_a71_bits, huff_spec_a71_codes, 128, 1, 0, 7, 8, },
- { huff_spec_a72_bits, huff_spec_a72_codes, 128, 1, 0, 7, 8, },
- { huff_spec_a73_bits, huff_spec_a73_codes, 128, 1, 0, 7, 9, },
- { huff_spec_a74_bits, huff_spec_a74_codes, 128, 1, 0, 7, 10, },
+ { huff_spec_a71_bits, huff_spec_a71_codes, 128, 1, 0, 7 },
+ { huff_spec_a72_bits, huff_spec_a72_codes, 128, 1, 0, 7 },
+ { huff_spec_a73_bits, huff_spec_a73_codes, 128, 1, 0, 7 },
+ { huff_spec_a74_bits, huff_spec_a74_codes, 128, 1, 0, 7 },
},
},
{
{ { 0 } },
{
{ 0 },
- { huff_spec_b22_bits, huff_spec_b22_codes, 256, 4, 2, 2, 10, },
- { huff_spec_b23_bits, huff_spec_b23_codes, 256, 4, 2, 2, 10, },
- { huff_spec_b24_bits, huff_spec_b24_codes, 256, 4, 2, 2, 10, },
+ { huff_spec_b22_bits, huff_spec_b22_codes, 256, 4, 2, 2 },
+ { huff_spec_b23_bits, huff_spec_b23_codes, 256, 4, 2, 2 },
+ { huff_spec_b24_bits, huff_spec_b24_codes, 256, 4, 2, 2 },
},
{
{ 0 },
- { huff_spec_b32_bits, huff_spec_b32_codes, 64, 2, 1, 3, 9, },
- { huff_spec_b33_bits, huff_spec_b33_codes, 64, 2, 1, 3, 10, },
- { huff_spec_b34_bits, huff_spec_b34_codes, 64, 2, 1, 3, 10, },
+ { huff_spec_b32_bits, huff_spec_b32_codes, 64, 2, 1, 3 },
+ { huff_spec_b33_bits, huff_spec_b33_codes, 64, 2, 1, 3 },
+ { huff_spec_b34_bits, huff_spec_b34_codes, 64, 2, 1, 3 },
},
{
{ 0 },
- { huff_spec_b42_bits, huff_spec_b42_codes, 256, 2, 1, 4, 10, },
- { huff_spec_b43_bits, huff_spec_b43_codes, 256, 2, 1, 4, 10, },
- { huff_spec_b44_bits, huff_spec_b44_codes, 256, 2, 1, 4, 10, },
+ { huff_spec_b42_bits, huff_spec_b42_codes, 256, 2, 1, 4 },
+ { huff_spec_b43_bits, huff_spec_b43_codes, 256, 2, 1, 4 },
+ { huff_spec_b44_bits, huff_spec_b44_codes, 256, 2, 1, 4 },
},
{
{ 0 },
- { huff_spec_b52_bits, huff_spec_b52_codes, 32, 1, 0, 5, 7, },
- { huff_spec_b53_bits, huff_spec_b53_codes, 32, 1, 0, 5, 8, },
- { huff_spec_b54_bits, huff_spec_b54_codes, 32, 1, 0, 5, 9, },
+ { huff_spec_b52_bits, huff_spec_b52_codes, 32, 1, 0, 5 },
+ { huff_spec_b53_bits, huff_spec_b53_codes, 32, 1, 0, 5 },
+ { huff_spec_b54_bits, huff_spec_b54_codes, 32, 1, 0, 5 },
},
{
{ 0 },
- { huff_spec_b62_bits, huff_spec_b62_codes, 64, 1, 0, 6, 8, },
- { huff_spec_b63_bits, huff_spec_b63_codes, 64, 1, 0, 6, 9, },
- { huff_spec_b64_bits, huff_spec_b64_codes, 64, 1, 0, 6, 10, },
+ { huff_spec_b62_bits, huff_spec_b62_codes, 64, 1, 0, 6 },
+ { huff_spec_b63_bits, huff_spec_b63_codes, 64, 1, 0, 6 },
+ { huff_spec_b64_bits, huff_spec_b64_codes, 64, 1, 0, 6 },
},
{
{ 0 },
- { huff_spec_b72_bits, huff_spec_b72_codes, 128, 1, 0, 7, 9, },
- { huff_spec_b73_bits, huff_spec_b73_codes, 128, 1, 0, 7, 10, },
- { huff_spec_b74_bits, huff_spec_b74_codes, 128, 1, 0, 7, 10, },
+ { huff_spec_b72_bits, huff_spec_b72_codes, 128, 1, 0, 7 },
+ { huff_spec_b73_bits, huff_spec_b73_codes, 128, 1, 0, 7 },
+ { huff_spec_b74_bits, huff_spec_b74_codes, 128, 1, 0, 7 },
},
},
};