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]);