diff mbox series

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

Message ID DU0P250MB0747A90616DE3F93B906D8588F482@DU0P250MB0747.EURP250.PROD.OUTLOOK.COM
State New
Headers show
Series [FFmpeg-devel,01/23] avutil/hwcontext_opencl: Use proper OpenCLFramesContext | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 fail Make fate failed

Commit Message

Andreas Rheinhardt Feb. 12, 2024, 12:01 a.m. UTC
The currently used pointer when unmapping DXVA2 and D3D11
actually points to an OpenCLDeviceContext.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
1. I'd appreciate testing of this.
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(-)

Comments

Mark Thompson Feb. 12, 2024, 10:04 p.m. UTC | #1
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@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
diff mbox series

Patch

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;