- s->max_meaningful_diff = -log(1/255.) / s->pdiff_scale;
- s->pdiff_lut_scale = 1./s->max_meaningful_diff * WEIGHT_LUT_SIZE;
- av_assert0((s->max_meaningful_diff - 1) * s->pdiff_lut_scale < FF_ARRAY_ELEMS(s->weight_lut));
- for (i = 0; i < WEIGHT_LUT_SIZE; i++)
- s->weight_lut[i] = exp(-i / s->pdiff_lut_scale * s->pdiff_scale);
+ s->max_meaningful_diff = log(255.) / s->pdiff_scale;
+ s->weight_lut = av_calloc(s->max_meaningful_diff, sizeof(*s->weight_lut));
+ if (!s->weight_lut)
+ return AVERROR(ENOMEM);
+ for (i = 0; i < s->max_meaningful_diff; i++)
+ s->weight_lut[i] = exp(-i * s->pdiff_scale);