/* FFmpeg's IDCT behaves somewhat different from the original code, so
* a factor of 4 was added to the input */
- coeff = vlcdec_lookup[num_bits][value];
+ coeff = ((int8_t*)vlcdec_lookup[num_bits])[value];
if (pos < 3)
- coeff <<= 4;
+ coeff *= 16;
else /* TODO Use >> 10 instead of / 1001 */
coeff = (coeff * qscale) / 1001;
return AVERROR_INVALIDDATA;
}
+ res = ff_set_dimensions(avctx, width, height);
+ if (res < 0)
+ return res;
+
ctx->avctx = avctx;
- avctx->width = width;
- avctx->height = height;
avctx->pix_fmt = AV_PIX_FMT_YUV420P;
for (i = 0; i < 3; i++) {
ctx->num_vblocks[i] = AV_CEIL_RSHIFT(height, 3 + !!i);