FFmpeg
Functions
rl.c File Reference
#include <stdint.h>
#include <string.h>
#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "rl.h"

Go to the source code of this file.

Functions

av_cold void ff_rl_init (RLTable *rl, uint8_t static_store[2][2 *MAX_RUN+MAX_LEVEL+3])
 Initialize index_run, max_level and max_run from n, last, table_vlc, table_run and table_level. More...
 
av_cold void ff_rl_init_vlc (RLTable *rl, unsigned static_size)
 Initialize rl_vlc from n, last, table_vlc, table_run and table_level. More...
 

Function Documentation

◆ ff_rl_init()

av_cold void ff_rl_init ( RLTable rl,
uint8_t  static_store[2][2 *MAX_RUN+MAX_LEVEL+3] 
)

Initialize index_run, max_level and max_run from n, last, table_vlc, table_run and table_level.

Parameters
static_storestatic uint8_t array[2][2*MAX_RUN + MAX_LEVEL + 3] to hold the level and run tables.
Note
This function does not touch rl_vlc at all, hence there is no need to synchronize calls to ff_rl_init() and ff_rl_init_vlc() using the same RLTable.

Definition at line 27 of file rl.c.

Referenced by ff_mpeg4videodec_static_init(), h261_encode_init_static(), h263_encode_init_static(), h263_init_rl_inter(), mpeg4_init_rl_intra(), msmpeg4_common_init_static(), and speedhq_init_static_data().

◆ ff_rl_init_vlc()

av_cold void ff_rl_init_vlc ( RLTable rl,
unsigned  static_size 
)

Initialize rl_vlc from n, last, table_vlc, table_run and table_level.

All rl_vlc pointers to be initialized must already point to a static buffer of static_size RL_VLC_ELEM elements; if a pointer is NULL, initializing further VLCs stops.

Note
This function does not touch what ff_rl_init() initializes at all, hence there is no need to synchronize calls to ff_rl_init() and ff_rl_init_vlc() using the same RLTable.

Definition at line 70 of file rl.c.