|
@@ -231,11 +231,12 @@ static void heap_sift(HeapElem *h, int root, int size)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-static void generate_len_table(uint8_t *dst, const uint64_t *stats, int size){
|
|
|
+static void generate_len_table(uint8_t *dst, const uint64_t *stats){
|
|
|
HeapElem h[256];
|
|
|
int up[2*256];
|
|
|
int len[2*256];
|
|
|
int offset, i, next;
|
|
|
+ int size = 256;
|
|
|
|
|
|
for(offset=1; ; offset<<=1){
|
|
|
for(i=0; i<size; i++){
|
|
@@ -646,7 +647,7 @@ static av_cold int encode_init(AVCodecContext *avctx)
|
|
|
}
|
|
|
|
|
|
for(i=0; i<3; i++){
|
|
|
- generate_len_table(s->len[i], s->stats[i], 256);
|
|
|
+ generate_len_table(s->len[i], s->stats[i]);
|
|
|
|
|
|
if(generate_bits_table(s->bits[i], s->len[i])<0){
|
|
|
return -1;
|
|
@@ -1224,7 +1225,7 @@ static int encode_frame(AVCodecContext *avctx, unsigned char *buf, int buf_size,
|
|
|
|
|
|
if(s->context){
|
|
|
for(i=0; i<3; i++){
|
|
|
- generate_len_table(s->len[i], s->stats[i], 256);
|
|
|
+ generate_len_table(s->len[i], s->stats[i]);
|
|
|
if(generate_bits_table(s->bits[i], s->len[i])<0)
|
|
|
return -1;
|
|
|
size+= store_table(s, s->len[i], &buf[size]);
|