00001 00023 #ifndef AVCODEC_HUFFMAN_H 00024 #define AVCODEC_HUFFMAN_H 00025 00026 #include "avcodec.h" 00027 #include "bitstream.h" 00028 00029 typedef struct { 00030 int16_t sym; 00031 int16_t n0; 00032 uint32_t count; 00033 } Node; 00034 00035 #define FF_HUFFMAN_FLAG_HNODE_FIRST 0x01 00036 #define FF_HUFFMAN_FLAG_ZERO_COUNT 0x02 00037 00038 typedef int (*HuffCmp)(const void *va, const void *vb); 00039 int ff_huff_build_tree(AVCodecContext *avctx, VLC *vlc, int nb_codes, 00040 Node *nodes, HuffCmp cmp, int flags); 00041 00042 #endif /* AVCODEC_HUFFMAN_H */