+ return ret;
+ }
+ ff_blockdsp_init(&ctx->bdsp, avctx);
+ ff_bswapdsp_init(&ctx->bbdsp);
+ ff_hpeldsp_init(&ctx->hdsp, avctx->flags);
+ ff_idctdsp_init(&ctx->idsp, avctx);
+ ff_init_scantable(ctx->idsp.idct_permutation, &ctx->scantable, col_zag);
+
+ for (i = 0; i < FF_ARRAY_ELEMS(ctx->frames); i++) {
+ ctx->frames[i].f = av_frame_alloc();
+ if (!ctx->frames[i].f) {
+ mimic_decode_end(avctx);
+ return AVERROR(ENOMEM);
+ }