From 59535346b15e10efe0cfba24261e1f24634d31a4 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Sat, 1 Oct 2022 21:58:49 +0200 Subject: [PATCH] avocdec/huffyuvdec: Don't use HYuvContext.avctx It is nearly unused anyway, so stop use the field altogether. This is in preparation for splitting HYuvContext into decoder and encoder contexts. Signed-off-by: Andreas Rheinhardt --- libavcodec/huffyuv.c | 1 - libavcodec/huffyuvdec.c | 18 +++++++++--------- libavcodec/huffyuvenc.c | 1 + 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/libavcodec/huffyuv.c b/libavcodec/huffyuv.c index e582060cc3..471bfa1bb9 100644 --- a/libavcodec/huffyuv.c +++ b/libavcodec/huffyuv.c @@ -72,7 +72,6 @@ av_cold void ff_huffyuv_common_init(AVCodecContext *avctx) { HYuvContext *s = avctx->priv_data; - s->avctx = avctx; s->flags = avctx->flags; ff_bswapdsp_init(&s->bdsp); diff --git a/libavcodec/huffyuvdec.c b/libavcodec/huffyuvdec.c index fce7497386..edfc8c0038 100644 --- a/libavcodec/huffyuvdec.c +++ b/libavcodec/huffyuvdec.c @@ -813,12 +813,12 @@ static void decode_bgr_bitstream(HYuvContext *s, int count) } } -static void draw_slice(HYuvContext *s, AVFrame *frame, int y) +static void draw_slice(HYuvContext *s, AVCodecContext *avctx, AVFrame *frame, int y) { int h, cy, i; int offset[AV_NUM_DATA_POINTERS]; - if (!s->avctx->draw_horiz_band) + if (!avctx->draw_horiz_band) return; h = y - s->last_slice_end; @@ -836,7 +836,7 @@ static void draw_slice(HYuvContext *s, AVFrame *frame, int y) offset[i] = 0; emms_c(); - s->avctx->draw_horiz_band(s->avctx, frame, offset, y, 3, h); + avctx->draw_horiz_band(avctx, frame, offset, y, 3, h); s->last_slice_end = y + h; } @@ -952,7 +952,7 @@ static int decode_slice(AVCodecContext *avctx, AVFrame *p, int height, break; } } - draw_slice(s, p, height); + draw_slice(s, avctx, p, height); } else if (s->bitstream_bpp < 24) { int y, cy; int lefty, leftu, leftv; @@ -1006,7 +1006,7 @@ static int decode_slice(AVCodecContext *avctx, AVFrame *p, int height, break; } - draw_slice(s, p, y); + draw_slice(s, avctx, p, y); ydst = p->data[0] + p->linesize[0] * (y + y_offset); udst = p->data[1] + p->linesize[1] * (cy + y_offset); @@ -1029,7 +1029,7 @@ static int decode_slice(AVCodecContext *avctx, AVFrame *p, int height, } } } - draw_slice(s, p, height); + draw_slice(s, avctx, p, height); break; case MEDIAN: @@ -1100,7 +1100,7 @@ static int decode_slice(AVCodecContext *avctx, AVFrame *p, int height, if (y >= height) break; } - draw_slice(s, p, y); + draw_slice(s, avctx, p, y); decode_422_bitstream(s, width); @@ -1117,7 +1117,7 @@ static int decode_slice(AVCodecContext *avctx, AVFrame *p, int height, } } - draw_slice(s, p, height); + draw_slice(s, avctx, p, height); break; } } @@ -1163,7 +1163,7 @@ static int decode_slice(AVCodecContext *avctx, AVFrame *p, int height, } } // just 1 large slice as this is not possible in reverse order - draw_slice(s, p, height); + draw_slice(s, avctx, p, height); break; default: av_log(avctx, AV_LOG_ERROR, diff --git a/libavcodec/huffyuvenc.c b/libavcodec/huffyuvenc.c index 2137a16714..020159a20e 100644 --- a/libavcodec/huffyuvenc.c +++ b/libavcodec/huffyuvenc.c @@ -209,6 +209,7 @@ static av_cold int encode_init(AVCodecContext *avctx) int ret; const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(avctx->pix_fmt); + s->avctx = avctx; ff_huffyuv_common_init(avctx); ff_huffyuvencdsp_init(&s->hencdsp, avctx->pix_fmt); ff_llvidencdsp_init(&s->llvidencdsp);