// When changing this, be sure to also update tableprint_vlc.h accordingly. typedef int16_t VLCBaseType;
typedefstruct VLCElem { union { /// The struct is for use as ordinary VLC (with get_vlc2()) struct {
VLCBaseType sym;
VLCBaseType len;
}; /// This struct is for use as run-length VLC (with GET_RL_VLC) struct {
int16_t level;
int8_t len8;
uint8_t run;
};
};
} VLCElem;
typedef VLCElem RL_VLC_ELEM;
typedefstruct VLC { int bits;
VLCElem *table; int table_size, table_allocated;
} VLC;
#define VLC_INIT_USE_STATIC 1 #define VLC_INIT_STATIC_OVERLONG (2 | VLC_INIT_USE_STATIC) /* If VLC_INIT_INPUT_LE is set, the LSB bit of the codes used to
* initialize the VLC table is the first bit to be read. */ #define VLC_INIT_INPUT_LE 4 /* If set the VLC is intended for a little endian bitstream reader. */ #define VLC_INIT_OUTPUT_LE 8 #define VLC_INIT_LE (VLC_INIT_INPUT_LE | VLC_INIT_OUTPUT_LE)
typedefstruct VLCInitState {
VLCElem *table; ///< points to where the next VLC table will be placed unsigned size; ///< remaining number of elements in table
} VLCInitState;
void ff_vlc_init_table_from_lengths(VLCElem table[], int table_size, int nb_bits, int nb_codes, const int8_t *lens, int lens_wrap, constvoid *symbols, int symbols_wrap, int symbols_size, int offset, int flags);
const VLCElem *ff_vlc_init_tables_from_lengths(VLCInitState *state, int nb_bits, int nb_codes, const int8_t *lens, int lens_wrap, constvoid *symbols, int symbols_wrap, int symbols_size, int offset, int flags);
void ff_vlc_init_table_sparse(VLCElem table[], int table_size, int nb_bits, int nb_codes, constvoid *bits, int bits_wrap, int bits_size, constvoid *codes, int codes_wrap, int codes_size, constvoid *symbols, int symbols_wrap, int symbols_size, int flags);
const VLCElem *ff_vlc_init_tables_sparse(VLCInitState *state, int nb_bits, int nb_codes, constvoid *bits, int bits_wrap, int bits_size, constvoid *codes, int codes_wrap, int codes_size, constvoid *symbols, int symbols_wrap, int symbols_size, int flags);
staticinline const VLCElem *ff_vlc_init_tables(VLCInitState *state, int nb_bits, int nb_codes, constvoid *bits, int bits_wrap, int bits_size, constvoid *codes, int codes_wrap, int codes_size, int flags)
{ return ff_vlc_init_tables_sparse(state, nb_bits, nb_codes,
bits, bits_wrap, bits_size,
codes, codes_wrap, codes_size,
NULL, 0, 0, flags);
}
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.18Bemerkung:
(Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können 2026-09-29)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.