Mercurial > libavcodec.hg
diff huffman.c @ 6472:e39e03d99d24 libavcodec
huffman: pass hnode_first as a flag instead of as an argument on its own
author | aurel |
---|---|
date | Sat, 08 Mar 2008 17:57:13 +0000 |
parents | 94fa03139210 |
children | e0cd9697ac6d |
line wrap: on
line diff
--- a/huffman.c Sat Mar 08 17:18:28 2008 +0000 +++ b/huffman.c Sat Mar 08 17:57:13 2008 +0000 @@ -64,7 +64,7 @@ * first nb_codes nodes.count must be set */ int ff_huff_build_tree(AVCodecContext *avctx, VLC *vlc, int nb_codes, - Node *nodes, huff_cmp_t cmp, int hnode_first) + Node *nodes, huff_cmp_t cmp, int flags) { int i, j; int cur_node; @@ -90,7 +90,8 @@ for(j = cur_node; j > 0; j--){ if(nodes[j].count > nodes[j-1].count || (nodes[j].count == nodes[j-1].count && - (!hnode_first || nodes[j].n0==j-1 || nodes[j].n0==j-2 || + (!(flags & FF_HUFFMAN_FLAG_HNODE_FIRST) || + nodes[j].n0==j-1 || nodes[j].n0==j-2 || (nodes[j].sym!=HNODE && nodes[j-1].sym!=HNODE)))) break; FFSWAP(Node, nodes[j], nodes[j-1]);