10 typedef struct RLTable {
11 int n; ///< number of entries of table_vlc minus 1
12 int last; ///< number of values for last = 0
13 const uint16_t (*table_vlc)[2];
14 const int8_t *table_run;
15 const int8_t *table_level;
16 uint8_t *index_run[2]; ///< encoding only
17 int8_t *max_level[2]; ///< encoding & decoding
18 int8_t *max_run[2]; ///< encoding & decoding
19 VLC vlc; ///< decoding only deprected FIXME remove
20 RL_VLC_ELEM *rl_vlc[32]; ///< decoding only
23 void init_rl(RLTable *rl, int use_static);
24 void init_vlc_rl(RLTable *rl, int use_static);
26 static inline int get_rl_index(const RLTable *rl, int last, int run, int level)
29 index = rl->index_run[last][run];
32 if (level > rl->max_level[last][run])
34 return index + level - 1;