On Sun, 2025-01-26 at 11:10 +0800, Nuo Mi wrote: > AVCodecContext->sw_pix_fmt is used to hold the software pixel format. > > Co-authored-by: Frank Plowman <p...@frankplowman.com> > --- > libavcodec/vvc/dec.c | 17 ++++++----------- > libavcodec/vvc/dec.h | 2 -- > 2 files changed, 6 insertions(+), 13 deletions(-) > > diff --git a/libavcodec/vvc/dec.c b/libavcodec/vvc/dec.c > index daf537294f..51dd60ae92 100644 > --- a/libavcodec/vvc/dec.c > +++ b/libavcodec/vvc/dec.c > @@ -799,18 +799,15 @@ static int export_frame_params(VVCContext *s, > const VVCFrameContext *fc) > AVCodecContext *c = s->avctx; > const VVCSPS *sps = fc->ps.sps; > const VVCPPS *pps = fc->ps.pps; > - int ret; > > - // Reset HW config if pix_fmt/w/h change. > - if (s->pix_fmt != sps->pix_fmt || c->coded_width != pps->width > || c->coded_height != pps->height) { > + // Reset the format if pix_fmt/w/h change. > + if (c->sw_pix_fmt != sps->pix_fmt || c->coded_width != pps- > >width || c->coded_height != pps->height) { > c->coded_width = pps->width; > c->coded_height = pps->height; > - ret = get_format(c, sps); > - if (ret < 0) > - return ret; > - > - c->pix_fmt = ret; > - s->pix_fmt = sps->pix_fmt; > + c->sw_pix_fmt = sps->pix_fmt; > + c->pix_fmt = get_format(c, sps); > + if (c->pix_fmt < 0) > + return AVERROR_INVALIDDATA; > } > > c->width = pps->width - ((pps->r->pps_conf_win_left_offset + > pps->r->pps_conf_win_right_offset) << sps->hshift[CHROMA]); > @@ -1138,8 +1135,6 @@ static av_cold int > vvc_decode_init(AVCodecContext *avctx) > GDR_SET_RECOVERED(s); > ff_thread_once(&init_static_once, init_default_scale_m); > > - s->pix_fmt = AV_PIX_FMT_NONE; > - > return 0; > } > > diff --git a/libavcodec/vvc/dec.h b/libavcodec/vvc/dec.h > index 382311e3be..6aa3121550 100644 > --- a/libavcodec/vvc/dec.h > +++ b/libavcodec/vvc/dec.h > @@ -241,8 +241,6 @@ typedef struct VVCContext { > > uint64_t nb_frames; ///< processed frames > int nb_delayed; ///< delayed frames > - > - enum AVPixelFormat pix_fmt; ///< pix format of current frame
LGTM. thanks. Fei > } VVCContext ; > > #endif /* AVCODEC_VVC_DEC_H */ _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".