}
}
-static void subband_scale(int *dst, int *src, int scale, int offset, int len)
+static void subband_scale(int *dst, int *src, int scale, int offset, int len, void *log_context)
{
int ssign = scale < 0 ? -1 : 1;
int s = FFABS(scale);
dst[i] = out * (unsigned)ssign;
}
} else {
- av_log(NULL, AV_LOG_ERROR, "Overflow in subband_scale()\n");
+ av_log(log_context, AV_LOG_ERROR, "Overflow in subband_scale()\n");
}
}
for (k = offsets[i]; k < offsets[i + 1]; k++) {
tmp = (int)(((int64_t)src[group * 128 + k] * c + \
(int64_t)0x1000000000) >> 37);
- dest[group * 128 + k] += (tmp + round) >> shift;
+ dest[group * 128 + k] += (tmp + (int64_t)round) >> shift;
}
}
}
else {
for (i = 0; i < len; i++) {
tmp = (int)(((int64_t)src[i] * c + (int64_t)0x1000000000) >> 37);
- dest[i] += tmp * (1 << shift);
+ dest[i] += tmp * (1U << shift);
}
}
}