Anton Khirnov: > Quoting Andreas Rheinhardt (2020-11-10 11:46:58) >> +int ff_init_vlc_from_lengths(VLC *vlc_arg, int nb_bits, int nb_codes, >> + const int8_t *lens, int lens_wrap, >> + const void *symbols, int symbols_wrap, int >> symbols_size, >> + int offset, int flags) >> +{ >> + VLCcode localbuf[LOCALBUF_ELEMS], *buf = localbuf; >> + VLC localvlc, *vlc; >> + uint64_t code; >> + int ret, j, len_max = FFMIN(32, 3 * nb_bits); >> + >> + ret = vlc_common_init(vlc_arg, nb_bits, nb_codes, &vlc, &localvlc, >> + &buf, flags); >> + if (ret < 0) >> + return ret; >> + >> + j = code = 0; >> + for (int i = 0; i < nb_codes; i++, lens += lens_wrap) { >> + int len = *lens; >> + if (len > 0) { >> + unsigned sym; >> + >> + buf[j].bits = len; >> + if (symbols) >> + GET_DATA(sym, symbols, i, symbols_wrap, symbols_size) >> + else >> + sym = i; >> + buf[j].symbol = sym + offset; >> + buf[j++].code = code; >> + } else if (len < 0) { >> + len = -len; >> + } else >> + continue; >> + if (len > len_max || code & ((1U << (32 - len)) - 1)) { >> + av_log(NULL, AV_LOG_ERROR, "Invalid VLC (length %u)\n", len); > > Can you use a proper logging context here? > Yes. This will of course mean that I will have to go with the flag in patch four.
- Andreas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".