From 65127450add50c3bca307edc0517d2e8382717a0 Mon Sep 17 00:00:00 2001 From: Vittorio Giovara Date: Fri, 19 Feb 2016 17:57:09 -0500 Subject: [PATCH] intrax8: Make x8_init_block_index not use mpegvideo fields --- libavcodec/intrax8.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/libavcodec/intrax8.c b/libavcodec/intrax8.c index 7c5239270b..a1c046e222 100644 --- a/libavcodec/intrax8.c +++ b/libavcodec/intrax8.c @@ -726,22 +726,21 @@ block_placed: } // FIXME maybe merge with ff_* -static void x8_init_block_index(IntraX8Context *w) +static void x8_init_block_index(IntraX8Context *w, AVFrame *frame, int mb_y) { - MpegEncContext *const s = w->s; - // not s->linesize as this would be wrong for field pics + // not parent codec linesize as this would be wrong for field pics // not that IntraX8 has interlacing support ;) - const int linesize = s->current_picture.f->linesize[0]; - const int uvlinesize = s->current_picture.f->linesize[1]; + const int linesize = frame->linesize[0]; + const int uvlinesize = frame->linesize[1]; - w->dest[0] = s->current_picture.f->data[0]; - w->dest[1] = s->current_picture.f->data[1]; - w->dest[2] = s->current_picture.f->data[2]; + w->dest[0] = frame->data[0]; + w->dest[1] = frame->data[1]; + w->dest[2] = frame->data[2]; - w->dest[0] += s->mb_y * linesize << 3; + w->dest[0] += mb_y * linesize << 3; // chroma blocks are on add rows - w->dest[1] += (s->mb_y & (~1)) * uvlinesize << 2; - w->dest[2] += (s->mb_y & (~1)) * uvlinesize << 2; + w->dest[1] += (mb_y & (~1)) * uvlinesize << 2; + w->dest[2] += (mb_y & (~1)) * uvlinesize << 2; } av_cold int ff_intrax8_common_init(IntraX8Context *w, MpegEncContext *const s) @@ -797,7 +796,7 @@ int ff_intrax8_decode_picture(IntraX8Context *const w, int dquant, x8_reset_vlc_tables(w); for (s->mb_y = 0; s->mb_y < s->mb_height * 2; s->mb_y++) { - x8_init_block_index(w); + x8_init_block_index(w, s->current_picture.f, s->mb_y); mb_xy = (s->mb_y >> 1) * s->mb_stride; for (s->mb_x = 0; s->mb_x < s->mb_width * 2; s->mb_x++) {