Go to the documentation of this file.
64 for (
int k = 0; k < no_qn; k++) {
72 for (
int k = 0; k < no_qn; k++)
76 for (
int k = 0; k < no_qn; k++) {
86 for (
int k = 0; k < no_qn; k++) {
88 int qn_ext =
get_unary(gb, 0, INT32_MAX);;
90 case 0: qn[k] = 5;
break;
91 case 1: qn[k] = 6;
break;
92 case 2: qn[k] = 0;
break;
93 default: qn[k] = qn_ext + 4;
break;
100 int nk_mode,
int no_qn)
107 for (
int k = 0; k < no_qn; k++) {
109 nk = (qn[k] - 3) / 2;
120 for (
int i = 0;
i < 8;
i++)
127 int use_gain,
int len)
136 for (
int i = 0;
i <
len/8;
i++) {
182 k += (1 << (
mod[k] - 1));
191 uint16_t fac_len =
get_bits1(gb) ? len_8 : len_16;
static void parse_qn(GetBitContext *gb, int *qn, int nk_mode, int no_qn)
static void skip_bits(GetBitContext *s, int n)
static unsigned int get_bits(GetBitContext *s, int n)
Read 1-25 bits.
const uint8_t ff_aac_lpd_mode_tab[32][4]
int ff_aac_ldp_parse_channel_stream(AACDecContext *ac, AACUSACConfig *usac, AACUsacElemData *ce, GetBitContext *gb)
#define AVERROR_PATCHWELCOME
Not yet implemented in FFmpeg, patches welcome.
static unsigned int get_bits1(GetBitContext *s)
static int get_unary(GetBitContext *gb, int stop, int len)
Get unary code of limited length.
static int parse_codebook_idx(GetBitContext *gb, uint32_t *kv, int nk_mode, int no_qn)
#define i(width, name, range_min, range_max)
int ff_aac_parse_fac_data(AACUsacElemData *ce, GetBitContext *gb, int use_gain, int len)
static int mod(int a, int b)
Modulo operation with only positive remainders.
main AAC decoding context
struct AACUsacElemData::@16 fac
struct AACUsacElemData::@14 ldp