@ -51,26 +51,35 @@ int ff_init_vlc_sparse(VLC *vlc, int nb_bits, int nb_codes,
int flags ) ;
void ff_free_vlc ( VLC * vlc ) ;
# define INIT_VLC_LE 2
/* If INIT_VLC_INPUT_LE is set, the LSB bit of the codes used to
* initialize the VLC table is the first bit to be read . */
# define INIT_VLC_INPUT_LE 2
/* If set the VLC is intended for a little endian bitstream reader. */
# define INIT_VLC_OUTPUT_LE 8
# define INIT_VLC_LE (INIT_VLC_INPUT_LE | INIT_VLC_OUTPUT_LE)
# define INIT_VLC_USE_NEW_STATIC 4
# define INIT_VLC_SPARSE_STATIC(vlc, bits, a, b, c, d, e, f, g, h, i, j, static_size) \
# define INIT_CUSTOM_VLC_SPARSE_STATIC(vlc, bits, a, b, c, d, e, f, g, \
h , i , j , flags , static_size ) \
do { \
static VLC_TYPE table [ static_size ] [ 2 ] ; \
( vlc ) - > table = table ; \
( vlc ) - > table_allocated = static_size ; \
ff_init_vlc_sparse ( vlc , bits , a , b , c , d , e , f , g , h , i , j , \
INIT_VLC_USE_NEW_STATIC ) ; \
flags | INIT_VLC_USE_NEW_STATIC ) ; \
} while ( 0 )
# define INIT_VLC_SPARSE_STATIC(vlc, bits, a, b, c, d, e, f, g, h, i, j, static_size) \
INIT_CUSTOM_VLC_SPARSE_STATIC ( vlc , bits , a , b , c , d , e , f , g , \
h , i , j , 0 , static_size )
# define INIT_LE_VLC_SPARSE_STATIC(vlc, bits, a, b, c, d, e, f, g, h, i, j, static_size) \
do { \
static VLC_TYPE table [ static_size ] [ 2 ] ; \
( vlc ) - > table = table ; \
( vlc ) - > table_allocated = static_size ; \
ff_init_vlc_sparse ( vlc , bits , a , b , c , d , e , f , g , h , i , j , \
INIT_VLC_USE_NEW_STATIC | INIT_VLC_LE ) ; \
} while ( 0 )
INIT_CUSTOM_VLC_SPARSE_STATIC ( vlc , bits , a , b , c , d , e , f , g , \
h , i , j , INIT_VLC_LE , static_size )
# define INIT_CUSTOM_VLC_STATIC(vlc, bits, a, b, c, d, e, f, g, flags, static_size) \
INIT_CUSTOM_VLC_SPARSE_STATIC ( vlc , bits , a , b , c , d , e , f , g , \
NULL , 0 , 0 , flags , static_size )
# define INIT_VLC_STATIC(vlc, bits, a, b, c, d, e, f, g, static_size) \
INIT_VLC_SPARSE_STATIC ( vlc , bits , a , b , c , d , e , f , g , NULL , 0 , 0 , static_size )