- int ret, i;
-
- for (i = 0; i < 2; i++) {
- ret = mss4_init_vlc(&ctx->dc_vlc[i], mss4_dc_vlc_lens[i], NULL);
- if (ret)
- return ret;
- ret = mss4_init_vlc(&ctx->ac_vlc[i],
- i ? avpriv_mjpeg_bits_ac_chrominance + 1
- : avpriv_mjpeg_bits_ac_luminance + 1,
- i ? avpriv_mjpeg_val_ac_chrominance
- : avpriv_mjpeg_val_ac_luminance);
- if (ret)
- return ret;
- ret = mss4_init_vlc(&ctx->vec_entry_vlc[i], mss4_vec_entry_vlc_lens[i],
- mss4_vec_entry_vlc_syms[i]);
- if (ret)
- return ret;
- }
- return 0;
-}
-
-static av_cold void mss4_free_vlcs(MSS4Context *ctx)
-{
- int i;
-
- for (i = 0; i < 2; i++) {
- ff_free_vlc(&ctx->dc_vlc[i]);
- ff_free_vlc(&ctx->ac_vlc[i]);
- ff_free_vlc(&ctx->vec_entry_vlc[i]);
+ for (unsigned i = 0, offset = 0; i < 2; i++) {
+ mss4_init_vlc(&dc_vlc[i], &offset, mss4_dc_vlc_lens[i], NULL);
+ mss4_init_vlc(&ac_vlc[i], &offset,
+ i ? avpriv_mjpeg_bits_ac_chrominance + 1
+ : avpriv_mjpeg_bits_ac_luminance + 1,
+ i ? avpriv_mjpeg_val_ac_chrominance
+ : avpriv_mjpeg_val_ac_luminance);
+ mss4_init_vlc(&vec_entry_vlc[i], &offset, mss4_vec_entry_vlc_lens[i],
+ mss4_vec_entry_vlc_syms[i]);