From 69bad628ec37dc75813ae015df7ce4022d002d9a Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Tue, 23 Aug 2022 11:09:09 +0200 Subject: [PATCH] lavc/dv: do not pass DVVideoContext to dv_calculate_mb_xy() Pass the two variables needed from it directly. This is done in preparation to splitting DVVideoContext. --- libavcodec/dv.h | 5 +++-- libavcodec/dvdec.c | 2 +- libavcodec/dvenc.c | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/libavcodec/dv.h b/libavcodec/dv.h index 286b267de2..6430688795 100644 --- a/libavcodec/dv.h +++ b/libavcodec/dv.h @@ -107,7 +107,8 @@ static inline int dv_work_pool_size(const AVDVProfile *d) return size; } -static inline void dv_calculate_mb_xy(const DVVideoContext *s, +static inline void dv_calculate_mb_xy(const AVDVProfile *sys, + const uint8_t *buf, const DVwork_chunk *work_chunk, int m, int *mb_x, int *mb_y) { @@ -116,7 +117,7 @@ static inline void dv_calculate_mb_xy(const DVVideoContext *s, /* We work with 720p frames split in half. * The odd half-frame (chan == 2,3) is displaced :-( */ - if (s->sys->height == 720 && !(s->buf[1] & 0x0C)) + if (sys->height == 720 && !(buf[1] & 0x0C)) /* shifting the Y coordinate down by 72/2 macro blocks */ *mb_y -= (*mb_y > 17) ? 18 : -72; } diff --git a/libavcodec/dvdec.c b/libavcodec/dvdec.c index 63b1edd615..06ce16d056 100644 --- a/libavcodec/dvdec.c +++ b/libavcodec/dvdec.c @@ -533,7 +533,7 @@ retry: block = &sblock[0][0]; mb = mb_data; for (mb_index = 0; mb_index < 5; mb_index++) { - dv_calculate_mb_xy(s, work_chunk, mb_index, &mb_x, &mb_y); + dv_calculate_mb_xy(s->sys, s->buf, work_chunk, mb_index, &mb_x, &mb_y); /* idct_put'ting luminance */ if ((s->sys->pix_fmt == AV_PIX_FMT_YUV420P) || diff --git a/libavcodec/dvenc.c b/libavcodec/dvenc.c index 35a7f06f24..3560d3613f 100644 --- a/libavcodec/dvenc.c +++ b/libavcodec/dvenc.c @@ -873,7 +873,7 @@ static int dv_encode_video_segment(AVCodecContext *avctx, void *arg) p = dif = &s->buf[work_chunk->buf_offset * 80]; enc_blk = &enc_blks[0]; for (mb_index = 0; mb_index < 5; mb_index++) { - dv_calculate_mb_xy(s, work_chunk, mb_index, &mb_x, &mb_y); + dv_calculate_mb_xy(s->sys, s->buf, work_chunk, mb_index, &mb_x, &mb_y); qnos[mb_index] = DV_PROFILE_IS_HD(s->sys) ? 1 : 15;