libavcodec/ac3dec_data.c File Reference

tables taken directly from the AC-3 spec. More...

#include "ac3dec_data.h"
#include "ac3.h"

Go to the source code of this file.

Variables

const uint8_t ff_ac3_ungroup_3_in_5_bits_tab [32][3]
 table used to ungroup 3 values stored in 5 bits.
const uint8_t ff_eac3_hebap_tab [64]
const uint8_t ff_eac3_bits_vs_hebap [20]
const int16_t ff_eac3_gaq_remap_1 [12]
 Table E3.6, Gk=1 No gain (Gk=1) inverse quantization, remapping scale factors ff_eac3_gaq_remap[hebap+8].
const int16_t ff_eac3_gaq_remap_2_4_a [9][2]
 Table E3.6, Gk=2 & Gk=4, A Large mantissa inverse quantization, remapping scale factors ff_eac3_gaq_remap_2_4_a[hebap-8][Gk=2,4].
const int8_t ff_eac3_gaq_remap_2_4_b [9][2]
 Table E3.6, Gk=2 & Gk=4, B Large mantissa inverse quantization, negative mantissa remapping offsets Table values from the spec are right-shifted by 8 to simplify calculations.
static const int16_t vq_hebap1 [4][6]
static const int16_t vq_hebap2 [8][6]
static const int16_t vq_hebap3 [16][6]
static const int16_t vq_hebap4 [32][6]
static const int16_t vq_hebap5 [128][6]
static const int16_t vq_hebap6 [256][6]
static const int16_t vq_hebap7 [512][6]
const int16_t(*const [8] ff_eac3_mantissa_vq )[6]
const uint8_t ff_eac3_frm_expstr [32][6]
 Table E2.14 Frame Exponent Strategy Combinations.
const uint8_t ff_eac3_default_cpl_band_struct [18]
 Table E2.16 Default Coupling Banding Structure.
const uint8_t ff_ac3_rematrix_band_tab [5] = { 13, 25, 37, 61, 253 }
 Table of bin locations for rematrixing bands reference: Section 7.5.2 Rematrixing : Frequency Band Definitions.


Detailed Description

tables taken directly from the AC-3 spec.

Definition in file ac3dec_data.c.


Variable Documentation

const uint8_t ff_ac3_rematrix_band_tab[5] = { 13, 25, 37, 61, 253 }

Table of bin locations for rematrixing bands reference: Section 7.5.2 Rematrixing : Frequency Band Definitions.

Definition at line 1134 of file ac3dec_data.c.

Referenced by do_rematrixing().

const uint8_t ff_ac3_ungroup_3_in_5_bits_tab[32][3]

Initial value:

 {
    { 0, 0, 0 }, { 0, 0, 1 }, { 0, 0, 2 }, { 0, 1, 0 },
    { 0, 1, 1 }, { 0, 1, 2 }, { 0, 2, 0 }, { 0, 2, 1 },
    { 0, 2, 2 }, { 1, 0, 0 }, { 1, 0, 1 }, { 1, 0, 2 },
    { 1, 1, 0 }, { 1, 1, 1 }, { 1, 1, 2 }, { 1, 2, 0 },
    { 1, 2, 1 }, { 1, 2, 2 }, { 2, 0, 0 }, { 2, 0, 1 },
    { 2, 0, 2 }, { 2, 1, 0 }, { 2, 1, 1 }, { 2, 1, 2 },
    { 2, 2, 0 }, { 2, 2, 1 }, { 2, 2, 2 }, { 3, 0, 0 },
    { 3, 0, 1 }, { 3, 0, 2 }, { 3, 1, 0 }, { 3, 1, 1 }
}
table used to ungroup 3 values stored in 5 bits.

used by bap=1 mantissas and GAQ. ff_ac3_ungroup_3_in_5_bits_tab[i] = { i/9, (i9)/3, (i9)3 }

Definition at line 35 of file ac3dec_data.c.

Referenced by ac3_tables_init(), and ff_eac3_decode_transform_coeffs_aht_ch().

const uint8_t ff_eac3_bits_vs_hebap[20]

Initial value:

 {
    0,  2,  3,  4,  5,  7,  8,  9,  3,  4,
    5,  6,  7,  8,  9, 10, 11, 12, 14, 16,
}

Definition at line 56 of file ac3dec_data.c.

Referenced by ff_eac3_decode_transform_coeffs_aht_ch().

Initial value:

{ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1 }
Table E2.16 Default Coupling Banding Structure.

Definition at line 1127 of file ac3dec_data.c.

Referenced by decode_audio_block().

const uint8_t ff_eac3_frm_expstr[32][6]

Table E2.14 Frame Exponent Strategy Combinations.

Definition at line 1089 of file ac3dec_data.c.

Referenced by ff_eac3_parse_header().

const int16_t ff_eac3_gaq_remap_1[12]

Initial value:

 {
    4681, 2185, 1057, 520, 258, 129, 64, 32, 16, 8, 2, 0
}
Table E3.6, Gk=1 No gain (Gk=1) inverse quantization, remapping scale factors ff_eac3_gaq_remap[hebap+8].

Definition at line 66 of file ac3dec_data.c.

Referenced by ff_eac3_decode_transform_coeffs_aht_ch().

const int16_t ff_eac3_gaq_remap_2_4_a[9][2]

Initial value:

 {
    { -10923, -4681 },
    { -14043, -6554 },
    { -15292, -7399 },
    { -15855, -7802 },
    { -16124, -7998 },
    { -16255, -8096 },
    { -16320, -8144 },
    { -16352, -8168 },
    { -16368, -8180 }
}
Table E3.6, Gk=2 & Gk=4, A Large mantissa inverse quantization, remapping scale factors ff_eac3_gaq_remap_2_4_a[hebap-8][Gk=2,4].

Definition at line 75 of file ac3dec_data.c.

Referenced by ff_eac3_decode_transform_coeffs_aht_ch().

const int8_t ff_eac3_gaq_remap_2_4_b[9][2]

Initial value:

 {
    { -22,  -5 },
    { -46, -20 },
    { -56, -26 },
    { -60, -29 },
    { -62, -31 },
    { -63, -32 },
    { -64, -32 },
    { -64, -32 },
    { -64, -32 },
}
Table E3.6, Gk=2 & Gk=4, B Large mantissa inverse quantization, negative mantissa remapping offsets Table values from the spec are right-shifted by 8 to simplify calculations.

ff_eac3_gaq_remap_3_4_b[hebap-8][Gk=2,4]

Definition at line 93 of file ac3dec_data.c.

Referenced by ff_eac3_decode_transform_coeffs_aht_ch().

const uint8_t ff_eac3_hebap_tab[64]

Initial value:

 {
    0, 1, 2, 3, 4, 5, 6, 7, 8, 8,
    8, 8, 9, 9, 9, 10, 10, 10, 10, 11,
    11, 11, 11, 12, 12, 12, 12, 13, 13, 13,
    13, 14, 14, 14, 14, 15, 15, 15, 15, 16,
    16, 16, 16, 17, 17, 17, 17, 18, 18, 18,
    18, 18, 18, 18, 18, 19, 19, 19, 19, 19,
    19, 19, 19, 19,
}

Definition at line 46 of file ac3dec_data.c.

Referenced by decode_audio_block().

const int16_t(* const[8] ff_eac3_mantissa_vq)[6]

Initial value:

Definition at line 1075 of file ac3dec_data.c.

Referenced by ff_eac3_decode_transform_coeffs_aht_ch().

const int16_t vq_hebap1[4][6] [static]

Initial value:

 {
{   7167,    4739,    1106,    4269,   10412,    4820},
{  -5702,   -3187,  -14483,   -1392,   -2027,     849},
{    633,    6199,    7009,  -12779,   -2306,   -2636},
{  -1468,   -7031,    7592,   10617,   -5946,   -3062},
}

Definition at line 105 of file ac3dec_data.c.

const int16_t vq_hebap2[8][6] [static]

Initial value:

 {
{ -12073,     608,   -7019,     590,    4000,     869},
{   6692,   15689,   -6178,   -9239,     -74,     133},
{   1855,    -989,   20596,   -2920,   -4475,     225},
{  -1194,   -3901,    -821,   -6566,    -875,  -20298},
{  -2762,   -3181,   -4094,   -5623,  -16945,    9765},
{   1547,    6839,    1980,   20233,   -1071,   -4986},
{   6221,  -17915,   -5516,    6266,     358,    1162},
{   3753,   -1066,    4283,   -3227,   15928,   10186},
}

Definition at line 111 of file ac3dec_data.c.

const int16_t vq_hebap3[16][6] [static]

Initial value:

 {
{ -10028,   20779,   10982,   -4560,     798,     -68},
{  11050,   20490,   -6617,   -5342,   -1797,   -1631},
{   3977,    -542,    7118,   -1166,   18844,   14678},
{  -4320,     -96,   -7295,    -492,  -22050,   -4277},
{   2692,    5856,    5530,   21862,   -7212,   -5325},
{   -135,  -23391,     962,    8115,    -644,     382},
{  -1563,    3400,   -3299,    4693,   -6892,   22398},
{   3535,    3030,    7296,    6214,   20476,  -12099},
{     57,   -6823,    1848,  -22349,   -5919,    6823},
{   -821,   -3655,    -387,   -6253,   -1735,  -22373},
{  -6046,    1586,  -18890,  -14392,    9214,     705},
{  -5716,     264,  -17964,   14618,    7921,    -337},
{   -110,     108,       8,      74,     -89,     -50},
{   6612,   -1517,   21687,   -1658,   -7949,    -246},
{  21667,   -6335,   -8290,    -101,   -1349,     -22},
{ -22003,   -6476,    7974,     648,    2054,    -331},
}

Definition at line 121 of file ac3dec_data.c.

const int16_t vq_hebap4[32][6] [static]

Definition at line 139 of file ac3dec_data.c.

const int16_t vq_hebap5[128][6] [static]

Definition at line 172 of file ac3dec_data.c.

const int16_t vq_hebap6[256][6] [static]

Definition at line 302 of file ac3dec_data.c.

const int16_t vq_hebap7[512][6] [static]

Definition at line 560 of file ac3dec_data.c.


Generated on Fri Oct 26 02:35:42 2012 for FFmpeg by  doxygen 1.5.8