[FFmpeg-devel] [PATCH 07/18] lavc/dv: do not pass DVVideoContext to dv_calculate_mb_xy()
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Wed Aug 24 15:57:55 EEST 2022
Anton Khirnov:
> 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 1e2c097ed0..7f9e4eb0c0 100644
> --- a/libavcodec/dvdec.c
> +++ b/libavcodec/dvdec.c
> @@ -535,7 +535,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 712ca325de..c12fce9e8b 100644
> --- a/libavcodec/dvenc.c
> +++ b/libavcodec/dvenc.c
> @@ -866,7 +866,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;
>
LGTM.
- Andreas
More information about the ffmpeg-devel
mailing list