mirror of https://git.ffmpeg.org/ffmpeg.git
huffman: use a simple assignment instead of FFSWAP.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
This commit is contained in:
parent
6166bf3cbe
commit
2ab5feafe1
|
@ -91,16 +91,18 @@ int ff_huff_build_tree(AVCodecContext *avctx, VLC *vlc, int nb_codes,
|
|||
nodes[nb_codes*2-1].count = 0;
|
||||
for(i = 0; i < nb_codes*2-1; i += 2){
|
||||
uint32_t cur_count = nodes[i].count + nodes[i+1].count;
|
||||
nodes[cur_node].sym = HNODE;
|
||||
nodes[cur_node].count = cur_count;
|
||||
nodes[cur_node].n0 = i;
|
||||
// find correct place to insert new node, and
|
||||
// make space for the new node while at it
|
||||
for(j = cur_node; j > i + 2; j--){
|
||||
if(cur_count > nodes[j-1].count ||
|
||||
(cur_count == nodes[j-1].count &&
|
||||
!(flags & FF_HUFFMAN_FLAG_HNODE_FIRST)))
|
||||
break;
|
||||
FFSWAP(Node, nodes[j], nodes[j-1]);
|
||||
nodes[j] = nodes[j - 1];
|
||||
}
|
||||
nodes[j].sym = HNODE;
|
||||
nodes[j].count = cur_count;
|
||||
nodes[j].n0 = i;
|
||||
cur_node++;
|
||||
}
|
||||
if(build_huff_tree(vlc, nodes, nb_codes*2-2, flags) < 0){
|
||||
|
|
Loading…
Reference in New Issue