static VLC gain_vlc_tabs[11];
static VLC tone_vlc_tabs[7];
-#define GET_DELTA(gb, delta_bits) \
- ((delta_bits) ? get_bits((gb), (delta_bits)) : 0)
-
/**
* Generate canonical VLC table from given descriptor.
*
chan->qu_wordlen[i] = get_bits(gb, 3);
for (i = pos; i < chan->num_coded_vals; i++)
- chan->qu_wordlen[i] = (min_val + GET_DELTA(gb, delta_bits)) & 7;
+ chan->qu_wordlen[i] = (min_val + get_bitsz(gb, delta_bits)) & 7;
}
}
break;
/* all others are: min_val + delta */
for (i = num_long_vals; i < ctx->used_quant_units; i++)
chan->qu_sf_idx[i] = (chan->qu_sf_idx[i] + min_val +
- GET_DELTA(gb, delta_bits)) & 0x3F;
+ get_bitsz(gb, delta_bits)) & 0x3F;
} else {
num_long_vals = get_bits(gb, 5);
delta_bits = get_bits(gb, 3);
/* all others are: min_val + delta */
for (i = num_long_vals; i < ctx->used_quant_units; i++)
chan->qu_sf_idx[i] = (min_val +
- GET_DELTA(gb, delta_bits)) & 0x3F;
+ get_bitsz(gb, delta_bits)) & 0x3F;
}
}
break;
min_val = get_bits(gb, 3);
for (i = 0; i < coded_subbands; i++) {
- chan->gain_data[i].num_points = min_val + GET_DELTA(gb, delta_bits);
+ chan->gain_data[i].num_points = min_val + get_bitsz(gb, delta_bits);
if (chan->gain_data[i].num_points > 7)
return AVERROR_INVALIDDATA;
}
for (sb = 0; sb < coded_subbands; sb++)
for (i = 0; i < chan->gain_data[sb].num_points; i++) {
- chan->gain_data[sb].lev_code[i] = min_val + GET_DELTA(gb, delta_bits);
+ chan->gain_data[sb].lev_code[i] = min_val + get_bitsz(gb, delta_bits);
if (chan->gain_data[sb].lev_code[i] > 15)
return AVERROR_INVALIDDATA;
}
// depth = 0 means that this shouldn't read any bits;
// in theory, this is the same as get_bits(gb, 0), but
// that doesn't actually work.
- block_index = depth ? get_bits(gb, depth) : 0;
+ block_index = get_bitsz(gb, depth);
if (*codebook_index == 1) {
block_index += superblock_index << s->codebooks[1].depth;
s->acfilter_scaling = get_bits(&s->gb, 4);
for (i = 0; i < s->acfilter_order; i++)
- s->acfilter_coeffs[i] = (s->acfilter_scaling ?
- get_bits(&s->gb, s->acfilter_scaling) : 0) + 1;
+ s->acfilter_coeffs[i] = get_bitsz(&s->gb, s->acfilter_scaling) + 1;
}
static void decode_mclms(WmallDecodeCtx *s)
if (1 << cbits < s->mclms_scaling + 1)
cbits++;
- send_coef_bits = (cbits ? get_bits(&s->gb, cbits) : 0) + 2;
+ send_coef_bits = get_bitsz(&s->gb, cbits) + 2;
for (i = 0; i < s->mclms_order * s->num_channels * s->num_channels; i++)
s->mclms_coeffs[i] = get_bits(&s->gb, send_coef_bits);
if ((1 << cbits) < s->cdlms[c][i].scaling + 1)
cbits++;
- s->cdlms[c][i].bitsend = get_bits(&s->gb, cbits) + 2;
+ s->cdlms[c][i].bitsend = get_bitsz(&s->gb, cbits) + 2;
shift_l = 32 - s->cdlms[c][i].bitsend;
shift_r = 32 - s->cdlms[c][i].scaling - 2;
for (j = 0; j < s->cdlms[c][i].coefsend; j++)