Andreas Rheinhardt: > It is not uncommon that only the first one is used; this is similar to > ff_init_2d_vlc_rl(). > > Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@gmail.com> > --- > libavcodec/rl.c | 3 +++ > libavcodec/rl.h | 8 ++++++++ > 2 files changed, 11 insertions(+) > > diff --git a/libavcodec/rl.c b/libavcodec/rl.c > index c532b5bf56..93153ff723 100644 > --- a/libavcodec/rl.c > +++ b/libavcodec/rl.c > @@ -80,6 +80,9 @@ av_cold void ff_rl_init_vlc(RLTable *rl, unsigned > static_size) > int qmul = q * 2; > int qadd = (q - 1) | 1; > > + if (!rl->rl_vlc[q]) > + return; > + > if (q == 0) { > qmul = 1; > qadd = 0; > diff --git a/libavcodec/rl.h b/libavcodec/rl.h > index a83debccf7..26e0b32a90 100644 > --- a/libavcodec/rl.h > +++ b/libavcodec/rl.h > @@ -68,6 +68,14 @@ void ff_rl_init_vlc(RLTable *rl, unsigned static_size); > }\ > } > > +#define INIT_FIRST_VLC_RL(rl, static_size) \ > +do { \ > + static RL_VLC_ELEM rl_vlc_table[static_size]; \ > + \ > + rl.rl_vlc[0] = rl_vlc_table; \ > + ff_rl_init_vlc(&rl, static_size); \ > +} while (0) > + > static inline int get_rl_index(const RLTable *rl, int last, int run, int > level) > { > int index; > Will apply all the patches up until #26 tomorrow unless there are objections.
- 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".