diff options
Diffstat (limited to 'libavcodec/vp56.c')
-rw-r--r-- | libavcodec/vp56.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/libavcodec/vp56.c b/libavcodec/vp56.c index b93f75da7e..1a83f00f47 100644 --- a/libavcodec/vp56.c +++ b/libavcodec/vp56.c @@ -263,7 +263,7 @@ static VP56mb vp56_decode_mv(VP56Context *s, int row, int col) static void vp56_add_predictors_dc(VP56Context *s, VP56Frame ref_frame) { - int idx = s->scantable.permutated[0]; + int idx = s->idct_scantable[0]; int b; for (b=0; b<6; b++) { @@ -661,8 +661,11 @@ av_cold int ff_vp56_init(AVCodecContext *avctx, int flip, int has_alpha) ff_videodsp_init(&s->vdsp, 8); ff_vp3dsp_init(&s->vp3dsp, avctx->flags); ff_vp56dsp_init(&s->vp56dsp, avctx->codec->id); - ff_init_scantable_permutation(s->dsp.idct_permutation, s->vp3dsp.idct_perm); - ff_init_scantable(s->dsp.idct_permutation, &s->scantable,ff_zigzag_direct); + for (i = 0; i < 64; i++) { +#define T(x) (x >> 3) | ((x & 7) << 3) + s->idct_scantable[i] = T(ff_zigzag_direct[i]); +#undef T + } for (i = 0; i < FF_ARRAY_ELEMS(s->frames); i++) { s->frames[i] = av_frame_alloc(); |