summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2022-08-23 11:09:09 +0200
committerAnton Khirnov <anton@khirnov.net>2022-09-05 08:06:57 +0200
commit69bad628ec37dc75813ae015df7ce4022d002d9a (patch)
tree9f2d00151a5f5c221a92fddf755468dfaa174362
parent91c51dac6d00fec9dca0dc137230f1ab24ab7077 (diff)
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.
-rw-r--r--libavcodec/dv.h5
-rw-r--r--libavcodec/dvdec.c2
-rw-r--r--libavcodec/dvenc.c2
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;