[FFmpeg-devel] [PATCH 1/4] libavutil/hwcontext_d3d11va: Add nb_surfaces to AVD3D11VAFramesContext

Chen, Wenbin wenbin.chen at intel.com
Wed Nov 10 05:02:51 EET 2021


> Adding nb_surfaces in AVD3D11VAFramesContext in the end of the structure
> to support flexible size of this arrays and align to
> AVDXVA2FramesContext and AVVAAPIFramesContext.
> 
> Signed-off-by Wenbin Chen <wenbin.chen at intel.com>
> ---
>  libavutil/hwcontext_d3d11va.c | 3 +--
>  libavutil/hwcontext_d3d11va.h | 2 ++
>  2 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/libavutil/hwcontext_d3d11va.c b/libavutil/hwcontext_d3d11va.c
> index 8ab96bad25..086e7b9daa 100644
> --- a/libavutil/hwcontext_d3d11va.c
> +++ b/libavutil/hwcontext_d3d11va.c
> @@ -72,7 +72,6 @@ static av_cold void load_functions(void)
>  }
> 
>  typedef struct D3D11VAFramesContext {
> -    int nb_surfaces;
>      int nb_surfaces_used;
> 
>      DXGI_FORMAT format;
> @@ -287,7 +286,7 @@ static int d3d11va_frames_init(AVHWFramesContext
> *ctx)
>      hwctx->texture_infos = av_calloc(ctx->initial_pool_size, sizeof(*hwctx-
> >texture_infos));
>      if (!hwctx->texture_infos)
>          return AVERROR(ENOMEM);
> -    s->nb_surfaces = ctx->initial_pool_size;
> +    hwctx->nb_surfaces = ctx->initial_pool_size;
> 
>      ctx->internal->pool_internal =
> av_buffer_pool_init2(sizeof(AVD3D11FrameDescriptor),
>                                                          ctx, d3d11va_pool_alloc, NULL);
> diff --git a/libavutil/hwcontext_d3d11va.h b/libavutil/hwcontext_d3d11va.h
> index 77d2d72f1b..b0df470190 100644
> --- a/libavutil/hwcontext_d3d11va.h
> +++ b/libavutil/hwcontext_d3d11va.h
> @@ -173,6 +173,8 @@ typedef struct AVD3D11VAFramesContext {
>       * This field is ignored/invalid if a user-allocated texture is provided.
>      */
>      AVD3D11FrameDescriptor *texture_infos;
> +
> +    int nb_surfaces;
>  } AVD3D11VAFramesContext;
> 
>  #endif /* AVUTIL_HWCONTEXT_D3D11VA_H */
> --
> 2.25.1

ping


More information about the ffmpeg-devel mailing list