[FFmpeg-cvslog] r12373 - in trunk/libavcodec: huffman.c huffman.h vp6.c
aurel
subversion
Sat Mar 8 18:57:13 CET 2008
Author: aurel
Date: Sat Mar 8 18:57:13 2008
New Revision: 12373
Log:
huffman: pass hnode_first as a flag instead of as an argument on is own
Modified:
trunk/libavcodec/huffman.c
trunk/libavcodec/huffman.h
trunk/libavcodec/vp6.c
Modified: trunk/libavcodec/huffman.c
==============================================================================
--- trunk/libavcodec/huffman.c (original)
+++ trunk/libavcodec/huffman.c Sat Mar 8 18:57:13 2008
@@ -64,7 +64,7 @@ static int build_huff_tree(VLC *vlc, Nod
* 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 @@ int ff_huff_build_tree(AVCodecContext *a
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]);
Modified: trunk/libavcodec/huffman.h
==============================================================================
--- trunk/libavcodec/huffman.h (original)
+++ trunk/libavcodec/huffman.h Sat Mar 8 18:57:13 2008
@@ -32,8 +32,10 @@ typedef struct {
uint32_t count;
} Node;
+#define FF_HUFFMAN_FLAG_HNODE_FIRST 0x01
+
typedef int (*huff_cmp_t)(const void *va, const void *vb);
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);
#endif /* FFMPEG_HUFFMAN_H */
Modified: trunk/libavcodec/vp6.c
==============================================================================
--- trunk/libavcodec/vp6.c (original)
+++ trunk/libavcodec/vp6.c Sat Mar 8 18:57:13 2008
@@ -224,7 +224,8 @@ static void vp6_build_huff_tree(vp56_con
}
/* then build the huffman tree accodring to probabilities */
- ff_huff_build_tree(s->avctx, vlc, size, nodes, vp6_huff_cmp, 1);
+ ff_huff_build_tree(s->avctx, vlc, size, nodes, vp6_huff_cmp,
+ FF_HUFFMAN_FLAG_HNODE_FIRST);
}
static void vp6_parse_coeff_models(vp56_context_t *s)
More information about the ffmpeg-cvslog
mailing list