On Sat, Oct 10, 2020 at 06:57:03AM +0200, Andreas Rheinhardt wrote: > Don't needlessly copy an array around; don't create a table with > default symbols; and use smaller types to save stack space: The longest > code here is 16 bits, so one can store the codes in this type. > > Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@gmail.com> > --- > libavcodec/sheervideo.c | 19 +++++++------------ > 1 file changed, 7 insertions(+), 12 deletions(-) >
probably fine > diff --git a/libavcodec/sheervideo.c b/libavcodec/sheervideo.c > index ba9aecbb11..3f9b299a1e 100644 > --- a/libavcodec/sheervideo.c > +++ b/libavcodec/sheervideo.c > @@ -1782,25 +1782,20 @@ static void decode_rgb(AVCodecContext *avctx, AVFrame > *p, GetBitContext *gb) > > static int build_vlc(VLC *vlc, const uint8_t *len, int count) > { > - uint32_t codes[1024]; > - uint8_t bits[1024]; > - uint16_t syms[1024]; > - uint64_t index; > + uint16_t codes[1024]; > + unsigned index; > int i; > > index = 0; > for (i = 0; i < count; i++) { > - codes[i] = index >> (32 - len[i]); > - bits[i] = len[i]; > - syms[i] = i; > - index += 1ULL << (32 - len[i]); > + codes[i] = index >> (32 - len[i]); > + index += 1U << (32 - len[i]); > } > > ff_free_vlc(vlc); > - return ff_init_vlc_sparse(vlc, 12, count, > - bits, sizeof(*bits), sizeof(*bits), > - codes, sizeof(*codes), sizeof(*codes), > - syms, sizeof(*syms), sizeof(*syms), 0); > + return init_vlc(vlc, 12, count, > + len, sizeof(*len), sizeof(*len), > + codes, sizeof(*codes), sizeof(*codes), 0); > } > > static int decode_frame(AVCodecContext *avctx, > -- > 2.25.1 > > _______________________________________________ > 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". _______________________________________________ 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".