- for(i = 0; i < AIC_MODE2_NUM; i++){
- aic_mode2_vlc[i].table = &aic_mode2_table[mode2_offs[i]];
- aic_mode2_vlc[i].table_allocated = mode2_offs[i + 1] - mode2_offs[i];
- init_vlc(&aic_mode2_vlc[i], AIC_MODE2_BITS, AIC_MODE2_SIZE,
- aic_mode2_vlc_bits[i], 1, 1,
- aic_mode2_vlc_codes[i], 2, 2, INIT_VLC_USE_NEW_STATIC);
+ for (unsigned i = 0, offset = 0; i < AIC_MODE2_NUM; i++){
+ uint16_t syms[AIC_MODE2_SIZE];
+
+ for (int j = 0; j < AIC_MODE2_SIZE; j++) {
+ int first = aic_mode2_vlc_syms[i][j] >> 4;
+ int second = aic_mode2_vlc_syms[i][j] & 0xF;
+ if (HAVE_BIGENDIAN)
+ syms[j] = (first << 8) | second;
+ else
+ syms[j] = first | (second << 8);
+ }
+ aic_mode2_vlc[i].table = &aic_mode2_table[offset];
+ aic_mode2_vlc[i].table_allocated = FF_ARRAY_ELEMS(aic_mode2_table) - offset;
+ ff_init_vlc_from_lengths(&aic_mode2_vlc[i], AIC_MODE2_BITS, AIC_MODE2_SIZE,
+ aic_mode2_vlc_bits[i], 1,
+ syms, 2, 2, 0, INIT_VLC_STATIC_OVERLONG, NULL);
+ offset += aic_mode2_vlc[i].table_size;