On Tue, 2022-08-23 at 16:19 +0800, Fei Wang wrote: > From: Linjie Fu <linjie...@intel.com> > > Wrap the procedure of getting the hardware config from a pixel format > into a function. > > Signed-off-by: Linjie Fu <linjie...@intel.com> > Signed-off-by: Fei Wang <fei.w.w...@intel.com> > --- > libavcodec/decode.c | 31 +++++++++++++++++++------------ > 1 file changed, 19 insertions(+), 12 deletions(-) > > diff --git a/libavcodec/decode.c b/libavcodec/decode.c > index 75373989c6..3b69426c09 100644 > --- a/libavcodec/decode.c > +++ b/libavcodec/decode.c > @@ -1156,6 +1156,24 @@ static void hwaccel_uninit(AVCodecContext > *avctx) > av_buffer_unref(&avctx->hw_frames_ctx); > } > > +static const AVCodecHWConfigInternal *get_hw_config(AVCodecContext > *avctx, enum AVPixelFormat fmt) > +{ > + const AVCodecHWConfigInternal *hw_config; > + > + if (!ffcodec(avctx->codec)->hw_configs) > + return NULL; > + > + for (int i = 0;; i++) { > + hw_config = ffcodec(avctx->codec)->hw_configs[i]; > + if (!hw_config) > + return NULL; > + if (hw_config->public.pix_fmt == fmt) > + return hw_config; > + } > + > + return NULL; > +} > + > int ff_get_format(AVCodecContext *avctx, const enum AVPixelFormat > *fmt) > { > const AVPixFmtDescriptor *desc; > @@ -1213,18 +1231,7 @@ int ff_get_format(AVCodecContext *avctx, const > enum AVPixelFormat *fmt) > break; > } > > - if (ffcodec(avctx->codec)->hw_configs) { > - for (i = 0;; i++) { > - hw_config = ffcodec(avctx->codec)->hw_configs[i]; > - if (!hw_config) > - break; > - if (hw_config->public.pix_fmt == user_choice) > - break; > - } > - } else { > - hw_config = NULL; > - } > - > + hw_config = get_hw_config(avctx, user_choice); > if (!hw_config) { > // No config available, so no extra setup required. > ret = user_choice;
Ping, any more comments on V3? Thanks Fei _______________________________________________ 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".