summaryrefslogtreecommitdiff
path: root/apps/codecs/liba52/a52_internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs/liba52/a52_internal.h')
-rw-r--r--apps/codecs/liba52/a52_internal.h84
1 files changed, 42 insertions, 42 deletions
diff --git a/apps/codecs/liba52/a52_internal.h b/apps/codecs/liba52/a52_internal.h
index 48f23836f7..3b3d21c9a3 100644
--- a/apps/codecs/liba52/a52_internal.h
+++ b/apps/codecs/liba52/a52_internal.h
@@ -22,62 +22,62 @@
22 */ 22 */
23 23
24typedef struct { 24typedef struct {
25 uint8_t bai; /* fine SNR offset, fast gain */ 25 uint8_t bai; /* fine SNR offset, fast gain */
26 uint8_t deltbae; /* delta bit allocation exists */ 26 uint8_t deltbae; /* delta bit allocation exists */
27 int8_t deltba[50]; /* per-band delta bit allocation */ 27 int8_t deltba[50]; /* per-band delta bit allocation */
28} ba_t; 28} ba_t;
29 29
30typedef struct { 30typedef struct {
31 uint8_t exp[256]; /* decoded channel exponents */ 31 uint8_t exp[256]; /* decoded channel exponents */
32 int8_t bap[256]; /* derived channel bit allocation */ 32 int8_t bap[256]; /* derived channel bit allocation */
33} expbap_t; 33} expbap_t;
34 34
35struct a52_state_s { 35struct a52_state_s {
36 uint8_t fscod; /* sample rate */ 36 uint8_t fscod; /* sample rate */
37 uint8_t halfrate; /* halfrate factor */ 37 uint8_t halfrate; /* halfrate factor */
38 uint8_t acmod; /* coded channels */ 38 uint8_t acmod; /* coded channels */
39 uint8_t lfeon; /* coded lfe channel */ 39 uint8_t lfeon; /* coded lfe channel */
40 level_t clev; /* centre channel mix level */ 40 level_t clev; /* centre channel mix level */
41 level_t slev; /* surround channels mix level */ 41 level_t slev; /* surround channels mix level */
42 42
43 int output; /* type of output */ 43 int output; /* type of output */
44 level_t level; /* output level */ 44 level_t level; /* output level */
45 sample_t bias; /* output bias */ 45 sample_t bias; /* output bias */
46 46
47 int dynrnge; /* apply dynamic range */ 47 int dynrnge; /* apply dynamic range */
48 level_t dynrng; /* dynamic range */ 48 level_t dynrng; /* dynamic range */
49 void * dynrngdata; /* dynamic range callback funtion and data */ 49 void * dynrngdata; /* dynamic range callback funtion and data */
50 level_t (* dynrngcall) (level_t range, void * dynrngdata); 50 level_t (* dynrngcall) (level_t range, void * dynrngdata);
51 51
52 uint8_t chincpl; /* channel coupled */ 52 uint8_t chincpl; /* channel coupled */
53 uint8_t phsflginu; /* phase flags in use (stereo only) */ 53 uint8_t phsflginu; /* phase flags in use (stereo only) */
54 uint8_t cplstrtmant; /* coupling channel start mantissa */ 54 uint8_t cplstrtmant; /* coupling channel start mantissa */
55 uint8_t cplendmant; /* coupling channel end mantissa */ 55 uint8_t cplendmant; /* coupling channel end mantissa */
56 uint32_t cplbndstrc; /* coupling band structure */ 56 uint32_t cplbndstrc; /* coupling band structure */
57 level_t cplco[5][18]; /* coupling coordinates */ 57 level_t cplco[5][18]; /* coupling coordinates */
58 58
59 /* derived information */ 59 /* derived information */
60 uint8_t cplstrtbnd; /* coupling start band (for bit allocation) */ 60 uint8_t cplstrtbnd; /* coupling start band (for bit allocation) */
61 uint8_t ncplbnd; /* number of coupling bands */ 61 uint8_t ncplbnd; /* number of coupling bands */
62 62
63 uint8_t rematflg; /* stereo rematrixing */ 63 uint8_t rematflg; /* stereo rematrixing */
64 64
65 uint8_t endmant[5]; /* channel end mantissa */ 65 uint8_t endmant[5]; /* channel end mantissa */
66 66
67 uint16_t bai; /* bit allocation information */ 67 uint16_t bai; /* bit allocation information */
68 68
69 uint32_t * buffer_start; 69 uint32_t * buffer_start;
70 uint16_t lfsr_state; /* dither state */ 70 uint16_t lfsr_state; /* dither state */
71 uint32_t bits_left; 71 uint32_t bits_left;
72 uint32_t current_word; 72 uint32_t current_word;
73 73
74 uint8_t csnroffst; /* coarse SNR offset */ 74 uint8_t csnroffst; /* coarse SNR offset */
75 ba_t cplba; /* coupling bit allocation parameters */ 75 ba_t cplba; /* coupling bit allocation parameters */
76 ba_t ba[5]; /* channel bit allocation parameters */ 76 ba_t ba[5]; /* channel bit allocation parameters */
77 ba_t lfeba; /* lfe bit allocation parameters */ 77 ba_t lfeba; /* lfe bit allocation parameters */
78 78
79 uint8_t cplfleak; /* coupling fast leak init */ 79 uint8_t cplfleak; /* coupling fast leak init */
80 uint8_t cplsleak; /* coupling slow leak init */ 80 uint8_t cplsleak; /* coupling slow leak init */
81 81
82 expbap_t cpl_expbap; 82 expbap_t cpl_expbap;
83 expbap_t fbw_expbap[5]; 83 expbap_t fbw_expbap[5];
@@ -104,15 +104,15 @@ struct a52_state_s {
104#define DELTA_BIT_RESERVED (3) 104#define DELTA_BIT_RESERVED (3)
105 105
106void a52_bit_allocate (a52_state_t * state, ba_t * ba, int bndstart, 106void a52_bit_allocate (a52_state_t * state, ba_t * ba, int bndstart,
107 int start, int end, int fastleak, int slowleak, 107 int start, int end, int fastleak, int slowleak,
108 expbap_t * expbap); 108 expbap_t * expbap);
109 109
110int a52_downmix_init (int input, int flags, level_t * level, 110int a52_downmix_init (int input, int flags, level_t * level,
111 level_t clev, level_t slev); 111 level_t clev, level_t slev);
112int a52_downmix_coeff (level_t * coeff, int acmod, int output, level_t level, 112int a52_downmix_coeff (level_t * coeff, int acmod, int output, level_t level,
113 level_t clev, level_t slev); 113 level_t clev, level_t slev);
114void a52_downmix (sample_t * samples, int acmod, int output, 114void a52_downmix (sample_t * samples, int acmod, int output,
115 level_t clev, level_t slev); 115 level_t clev, level_t slev);
116void a52_upmix (sample_t * samples, int acmod, int output); 116void a52_upmix (sample_t * samples, int acmod, int output);
117 117
118void a52_imdct_init (uint32_t mm_accel); 118void a52_imdct_init (uint32_t mm_accel);