[FFmpeg-devel] [PATCH 06/18] lavc/dv: do not pass DVVideoContext to ff_dv_init_dynamic_tables()
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Wed Aug 24 15:28:42 EEST 2022
Anton Khirnov:
> It only needs work_chunks from it, so pass that directly.
>
> This is done in preparation to splitting DVVideoContext.
> ---
> libavcodec/dv.c | 6 +++---
> libavcodec/dv.h | 2 +-
> libavcodec/dvdec.c | 2 +-
> libavcodec/dvenc.c | 2 +-
> 4 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/libavcodec/dv.c b/libavcodec/dv.c
> index 9e05aa8927..b5e54de5dd 100644
> --- a/libavcodec/dv.c
> +++ b/libavcodec/dv.c
> @@ -162,7 +162,7 @@ static inline void dv_calc_mb_coordinates(const AVDVProfile *d, int chan,
> }
> }
>
> -int ff_dv_init_dynamic_tables(DVVideoContext *ctx, const AVDVProfile *d)
> +int ff_dv_init_dynamic_tables(DVwork_chunk *work_chunks, const AVDVProfile *d)
> {
> int j, i, c, s, p;
>
> @@ -174,8 +174,8 @@ int ff_dv_init_dynamic_tables(DVVideoContext *ctx, const AVDVProfile *d)
> p += !(j % 3);
> if (!(DV_PROFILE_IS_1080i50(d) && c != 0 && s == 11) &&
> !(DV_PROFILE_IS_720p50(d) && s > 9)) {
> - dv_calc_mb_coordinates(d, c, s, j, &ctx->work_chunks[i].mb_coordinates[0]);
> - ctx->work_chunks[i++].buf_offset = p;
> + dv_calc_mb_coordinates(d, c, s, j, &work_chunks[i].mb_coordinates[0]);
> + work_chunks[i++].buf_offset = p;
> }
> p += 5;
> }
> diff --git a/libavcodec/dv.h b/libavcodec/dv.h
> index 2b082d0140..286b267de2 100644
> --- a/libavcodec/dv.h
> +++ b/libavcodec/dv.h
> @@ -95,7 +95,7 @@ enum dv_pack_type {
> */
> #define DV_MAX_BPM 8
>
> -int ff_dv_init_dynamic_tables(DVVideoContext *s, const AVDVProfile *d);
> +int ff_dv_init_dynamic_tables(DVwork_chunk *work_chunks, const AVDVProfile *d);
>
> static inline int dv_work_pool_size(const AVDVProfile *d)
> {
> diff --git a/libavcodec/dvdec.c b/libavcodec/dvdec.c
> index daee2347e6..1e2c097ed0 100644
> --- a/libavcodec/dvdec.c
> +++ b/libavcodec/dvdec.c
> @@ -626,7 +626,7 @@ static int dvvideo_decode_frame(AVCodecContext *avctx, AVFrame *frame,
> }
>
> if (sys != s->sys) {
> - ret = ff_dv_init_dynamic_tables(s, sys);
> + ret = ff_dv_init_dynamic_tables(s->work_chunks, sys);
> if (ret < 0) {
> av_log(avctx, AV_LOG_ERROR, "Error initializing the work tables.\n");
> return ret;
> diff --git a/libavcodec/dvenc.c b/libavcodec/dvenc.c
> index 8027feb9b3..712ca325de 100644
> --- a/libavcodec/dvenc.c
> +++ b/libavcodec/dvenc.c
> @@ -67,7 +67,7 @@ static av_cold int dvvideo_encode_init(AVCodecContext *avctx)
> return AVERROR(EINVAL);
> }
>
> - ret = ff_dv_init_dynamic_tables(s, s->sys);
> + ret = ff_dv_init_dynamic_tables(s->work_chunks, s->sys);
> if (ret < 0) {
> av_log(avctx, AV_LOG_ERROR, "Error initializing work tables.\n");
> return ret;
LGTM.
- Andreas
More information about the ffmpeg-devel
mailing list