summaryrefslogtreecommitdiff
path: root/libavcodec/huffyuv.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/huffyuv.c')
-rw-r--r--libavcodec/huffyuv.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/libavcodec/huffyuv.c b/libavcodec/huffyuv.c
index fd4ec29527..7d41ef3b61 100644
--- a/libavcodec/huffyuv.c
+++ b/libavcodec/huffyuv.c
@@ -237,17 +237,15 @@ static int generate_bits_table(uint32_t *dst, uint8_t *len_table){
uint32_t bits=0;
for(len=32; len>0; len--){
- int bit= 1<<(32-len);
for(index=0; index<256; index++){
- if(len_table[index]==len){
- if(bits & (bit-1)){
- fprintf(stderr, "Error generating huffman table\n");
- return -1;
- }
- dst[index]= bits>>(32-len);
- bits+= bit;
- }
+ if(len_table[index]==len)
+ dst[index]= bits++;
+ }
+ if(bits & 1){
+ fprintf(stderr, "Error generating huffman table\n");
+ return -1;
}
+ bits >>= 1;
}
return 0;
}