- INIT_VLC_STATIC_FROM_LENGTHS(&vtable[0], 12, FF_ARRAY_ELEMS(noise_value),
- &noise_value[0][1], 2,
- &noise_value[0][0], 2, 1, 0, INIT_VLC_LE, 4096);
- INIT_VLC_STATIC_FROM_LENGTHS(&vtable[1], 10, FF_ARRAY_ELEMS(noise_segment_length),
- &noise_segment_length[0][1], 2,
- &noise_segment_length[0][0], 2, 1, 0, INIT_VLC_LE, 1024);
- INIT_VLC_STATIC_FROM_LENGTHS(&vtable[2], 12, FF_ARRAY_ELEMS(amplitude),
- &litude[0][1], 2,
- &litude[0][0], 2, 1, 0, INIT_VLC_LE, 4098);
- INIT_VLC_STATIC_FROM_LENGTHS(&vtable[3], 12, FF_ARRAY_ELEMS(freq_diff),
- &freq_diff[0][1], 2,
- &freq_diff[0][0], 2, 1, 0, INIT_VLC_LE, 4160);
- INIT_VLC_STATIC_LE(&vtable[4], 8, FF_ARRAY_ELEMS(amplitude_diff_bits),
- amplitude_diff_bits, 1, 1, amplitude_diff_codes, 1, 1, NULL, 0, 0, 256);
- INIT_VLC_STATIC_LE(&vtable[5], 6, FF_ARRAY_ELEMS(phase_diff_bits),
- phase_diff_bits, 1, 1, phase_diff_codes, 1, 1, NULL, 0, 0, 64);
+ for (unsigned i = 0, offset = 0; i < FF_ARRAY_ELEMS(vtable); i++) {
+ static VLC_TYPE vlc_buffer[13698][2];
+ vtable[i].table = &vlc_buffer[offset];
+ vtable[i].table_allocated = FF_ARRAY_ELEMS(vlc_buffer) - offset;
+ ff_init_vlc_from_lengths(&vtable[i], huff_bits[i], huff_sizes[i],
+ &hufftab[0][1], 2, &hufftab[0][0], 2, 1, -1,
+ INIT_VLC_LE | INIT_VLC_STATIC_OVERLONG, NULL);
+ hufftab += huff_sizes[i];
+ offset += vtable[i].table_size;
+ }