FFmpeg
|
huffman tree builder and VLC generator More...
#include <stdint.h>
#include "libavutil/qsort.h"
#include "libavutil/common.h"
#include "avcodec.h"
#include "huffman.h"
#include "vlc.h"
Go to the source code of this file.
Data Structures | |
struct | HeapElem |
Macros | |
#define | HNODE -1 |
Functions | |
static void | heap_sift (HeapElem *h, int root, int size) |
int | ff_huff_gen_len_table (uint8_t *dst, const uint64_t *stats, int stats_size, int skip0) |
static void | get_tree_codes (uint32_t *bits, int16_t *lens, uint8_t *xlat, Node *nodes, int node, uint32_t pfx, int pl, int *pos, int no_zero_count) |
static int | build_huff_tree (VLC *vlc, Node *nodes, int head, int flags, int nb_bits) |
int | ff_huff_build_tree (AVCodecContext *avctx, VLC *vlc, int nb_codes, int nb_bits, Node *nodes, HuffCmp cmp, int flags) |
nodes size must be 2*nb_codes first nb_codes nodes.count must be set More... | |
#define HNODE -1 |
Definition at line 37 of file huffman.c.
Referenced by ff_huff_build_tree(), and get_tree_codes().
Definition at line 44 of file huffman.c.
Referenced by ff_huff_gen_len_table().
int ff_huff_gen_len_table | ( | uint8_t * | dst, |
const uint64_t * | stats, | ||
int | stats_size, | ||
int | skip0 | ||
) |
Definition at line 58 of file huffman.c.
Referenced by encode_plane(), and store_huffman_tables().
|
static |
Definition at line 116 of file huffman.c.
Referenced by build_huff_tree().
Definition at line 139 of file huffman.c.
Referenced by ff_huff_build_tree().
int ff_huff_build_tree | ( | AVCodecContext * | avctx, |
VLC * | vlc, | ||
int | nb_codes, | ||
int | nb_bits, | ||
Node * | nodes, | ||
HuffCmp | cmp, | ||
int | flags | ||
) |
nodes size must be 2*nb_codes first nb_codes nodes.count must be set
Definition at line 157 of file huffman.c.
Referenced by fraps2_decode_plane(), and vp6_build_huff_tree().