[FFmpeg-devel] [PATCH 01/23] avutil/hwcontext_opencl: Use proper OpenCLFramesContext

Mark Thompson sw at jkqxz.net
Tue Feb 13 00:04:54 EET 2024


On 12/02/2024 00:01, Andreas Rheinhardt wrote:
> The currently used pointer when unmapping DXVA2 and D3D11
> actually points to an OpenCLDeviceContext.
> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> ---
> 1. I'd appreciate testing of this.

DXVA2 mapping tested and working on AMD.  D3D11 mapping doesn't work on AMD for unrelated reasons.

D3D11 mapping tested and working on Intel.  DXVA2 didn't work on that test machine at all (old laptop, I think Nvidia was causing the problem).

> 2. Most of the patches in this patchset can be applied immediately;
> only those two patches that remove AVHWDeviceInternal and
> AVHWFramesInternal need to be applied at the bump.
> 
>   libavutil/hwcontext_opencl.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/libavutil/hwcontext_opencl.c b/libavutil/hwcontext_opencl.c
> index 247834aaf6..c1764ed098 100644
> --- a/libavutil/hwcontext_opencl.c
> +++ b/libavutil/hwcontext_opencl.c
> @@ -2346,7 +2346,7 @@ static void opencl_unmap_from_dxva2(AVHWFramesContext *dst_fc,
>   {
>       AVOpenCLFrameDescriptor    *desc = hwmap->priv;
>       OpenCLDeviceContext *device_priv = dst_fc->device_ctx->internal->priv;
> -    OpenCLFramesContext *frames_priv = dst_fc->device_ctx->internal->priv;
> +    OpenCLFramesContext *frames_priv = dst_fc->internal->priv;
>       cl_event event;
>       cl_int cle;
>   
> @@ -2511,7 +2511,7 @@ static void opencl_unmap_from_d3d11(AVHWFramesContext *dst_fc,
>   {
>       AVOpenCLFrameDescriptor    *desc = hwmap->priv;
>       OpenCLDeviceContext *device_priv = dst_fc->device_ctx->internal->priv;
> -    OpenCLFramesContext *frames_priv = dst_fc->device_ctx->internal->priv;
> +    OpenCLFramesContext *frames_priv = dst_fc->internal->priv;
>       cl_event event;
>       cl_int cle;
>   

LGTM, good spot.

Thanks,

- Mark


More information about the ffmpeg-devel mailing list