[FFmpeg-devel] [PATCH v11 07/14] avcodec/vaapi_encode: extract the init and close function to base layer
Sean McGovern
gseanmcg at gmail.com
Sat May 25 17:18:43 EEST 2024
Hi,
On Sat, May 25, 2024, 09:07 Lynne via ffmpeg-devel <ffmpeg-devel at ffmpeg.org>
wrote:
> On 25/05/2024 12:30, tong1.wu-at-intel.com at ffmpeg.org wrote:
> > From: Tong Wu <tong1.wu at intel.com>
> >
> > Related parameters such as device context, frame context are also moved
> > to base layer.
> >
> > Signed-off-by: Tong Wu <tong1.wu at intel.com>
> > ---
> > libavcodec/hw_base_encode.c | 49 ++++++++++++++++++
> > libavcodec/hw_base_encode.h | 17 +++++++
> > libavcodec/vaapi_encode.c | 90 +++++++++++----------------------
> > libavcodec/vaapi_encode.h | 10 ----
> > libavcodec/vaapi_encode_av1.c | 2 +-
> > libavcodec/vaapi_encode_h264.c | 2 +-
> > libavcodec/vaapi_encode_h265.c | 2 +-
> > libavcodec/vaapi_encode_mjpeg.c | 6 ++-
> > 8 files changed, 102 insertions(+), 76 deletions(-)
> >
> > diff --git a/libavcodec/hw_base_encode.c b/libavcodec/hw_base_encode.c
> > index 16afaa37be..c4789380b6 100644
> > --- a/libavcodec/hw_base_encode.c
> > +++ b/libavcodec/hw_base_encode.c
> > @@ -592,3 +592,52 @@ end:
> >
> > return 0;
> > }
> > +
> > +int ff_hw_base_encode_init(AVCodecContext *avctx)
> > +{
> > + FFHWBaseEncodeContext *ctx = avctx->priv_data;
>
> This is the issue I was talking about, this requires that
> FFHWBaseEncodeContext is always the main context.
>
> Could you change it so everything takes FFHWBaseEncodeContext as an
> argument, rather than AVCodecContext (apart from where the function
> absolutely must read some data from it)?
>
Might this suggestion involve having to do some ugly down-casting?
-- Sean McGovern
>
More information about the ffmpeg-devel
mailing list