huff.val_bits = get_bits(&ctx->gb, 5);
huff.max_bits = get_bits(&ctx->gb, 5);
huff.min_bits = get_bits(&ctx->gb, 5);
- huff.nodes = get_bits_long(&ctx->gb, 17);
+ huff.nodes = get_bits(&ctx->gb, 17);
huff.num = 0;
/* check for correct codes parameters */
/* convert codes to vlc_table */
if (res >= 0) {
- int i;
-
res = init_vlc(&code->vlc, huff.max_bits, huff.max_num,
huff.lens, sizeof(int), sizeof(int),
huff.bits, sizeof(uint32_t), sizeof(uint32_t), 0);
else {
code->bits = huff.max_bits;
code->length = huff.max_num;
- code->recode = av_malloc_array(code->length, sizeof(int));
- if (!code->recode) {
- res = AVERROR(ENOMEM);
- goto out;
- }
- for (i = 0; i < code->length; i++)
- code->recode[i] = huff.nums[i];
+ code->recode = huff.nums;
+ huff.nums = NULL;
}
}
last[0] = (int)((unsigned)last[1] - ctx->D[0] - ctx->D[1] - ctx->D[2] - ctx->D[3])>> 1;
last[2] = (int)((unsigned)last[1] + last[3]) >> 1;
- t1 = ctx->D[0] + ctx->D[1];
+ t1 = ctx->D[0] + (unsigned)ctx->D[1];
ctx->D[0] = t1 >> 1;
ctx->D[1] = t1 - (t1 >> 1);
- t2 = ctx->D[2] + ctx->D[3];
+ t2 = ctx->D[2] + (unsigned)ctx->D[3];
ctx->D[2] = t2 >> 1;
ctx->D[3] = t2 - (t2 >> 1);