[FFmpeg-cvslog] avutil/hwcontext_qsv: fix GCC 14.1 warnings
oltolm
git at videolan.org
Tue May 21 12:09:45 EEST 2024
ffmpeg | branch: master | oltolm <oleg.tolmatcev at gmail.com> | Fri May 17 21:10:49 2024 +0200| [45d31614bcc54c5ccbaabf07e7336ac477e2b424] | committer: Haihao Xiang
avutil/hwcontext_qsv: fix GCC 14.1 warnings
Tested-by: Tong Wu <tong1.wu at intel.com>
Signed-off-by: oltolm <oleg.tolmatcev at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=45d31614bcc54c5ccbaabf07e7336ac477e2b424
---
libavutil/hwcontext_qsv.c | 33 +++++++++++++++++++++++++--------
1 file changed, 25 insertions(+), 8 deletions(-)
diff --git a/libavutil/hwcontext_qsv.c b/libavutil/hwcontext_qsv.c
index 8b7b4dc501..f3d919daea 100644
--- a/libavutil/hwcontext_qsv.c
+++ b/libavutil/hwcontext_qsv.c
@@ -36,6 +36,7 @@
#include "hwcontext_d3d11va.h"
#endif
#if CONFIG_DXVA2
+#include <initguid.h>
#include "hwcontext_dxva2.h"
#endif
@@ -904,9 +905,11 @@ static int qsv_d3d9_update_config(void *ctx, mfxHDL handle, mfxConfig cfg)
#if CONFIG_DXVA2
mfxStatus sts;
IDirect3DDeviceManager9* devmgr = handle;
- IDirect3DDevice9Ex *device = NULL;
+ IDirect3DDevice9 *device = NULL;
+ IDirect3DDevice9Ex *device_ex = NULL;
HANDLE device_handle = 0;
IDirect3D9Ex *d3d9ex = NULL;
+ IDirect3D9 *d3d9 = NULL;
LUID luid;
D3DDEVICE_CREATION_PARAMETERS params;
HRESULT hr;
@@ -924,18 +927,31 @@ static int qsv_d3d9_update_config(void *ctx, mfxHDL handle, mfxConfig cfg)
IDirect3DDeviceManager9_CloseDeviceHandle(devmgr, device_handle);
goto fail;
}
+ hr = IDirect3DDevice9_QueryInterface(device, &IID_IDirect3DDevice9Ex, (void **)&device_ex);
+ IDirect3DDevice9_Release(device);
+ if (FAILED(hr)) {
+ av_log(ctx, AV_LOG_ERROR, "Error IDirect3DDevice9_QueryInterface %d\n", hr);
+ goto unlock;
+ }
- hr = IDirect3DDevice9Ex_GetCreationParameters(device, ¶ms);
+ hr = IDirect3DDevice9Ex_GetCreationParameters(device_ex, ¶ms);
if (FAILED(hr)) {
av_log(ctx, AV_LOG_ERROR, "Error IDirect3DDevice9_GetCreationParameters %d\n", hr);
- IDirect3DDevice9Ex_Release(device);
+ IDirect3DDevice9Ex_Release(device_ex);
goto unlock;
}
- hr = IDirect3DDevice9Ex_GetDirect3D(device, &d3d9ex);
+ hr = IDirect3DDevice9Ex_GetDirect3D(device_ex, &d3d9);
if (FAILED(hr)) {
- av_log(ctx, AV_LOG_ERROR, "Error IDirect3DDevice9Ex_GetAdapterLUID %d\n", hr);
- IDirect3DDevice9Ex_Release(device);
+ av_log(ctx, AV_LOG_ERROR, "Error IDirect3DDevice9Ex_GetDirect3D %d\n", hr);
+ IDirect3DDevice9Ex_Release(device_ex);
+ goto unlock;
+ }
+ hr = IDirect3D9_QueryInterface(d3d9, &IID_IDirect3D9Ex, (void **)&d3d9ex);
+ IDirect3D9_Release(d3d9);
+ if (FAILED(hr)) {
+ av_log(ctx, AV_LOG_ERROR, "Error IDirect3D9_QueryInterface3D %d\n", hr);
+ IDirect3DDevice9Ex_Release(device_ex);
goto unlock;
}
@@ -959,7 +975,7 @@ static int qsv_d3d9_update_config(void *ctx, mfxHDL handle, mfxConfig cfg)
release:
IDirect3D9Ex_Release(d3d9ex);
- IDirect3DDevice9Ex_Release(device);
+ IDirect3DDevice9Ex_Release(device_ex);
unlock:
IDirect3DDeviceManager9_UnlockDevice(devmgr, device_handle, FALSE);
@@ -1519,8 +1535,9 @@ static int qsv_frames_derive_from(AVHWFramesContext *dst_ctx,
case AV_HWDEVICE_TYPE_D3D11VA:
{
D3D11_TEXTURE2D_DESC texDesc;
+ AVD3D11VAFramesContext *dst_hwctx;
dst_ctx->initial_pool_size = src_ctx->initial_pool_size;
- AVD3D11VAFramesContext *dst_hwctx = dst_ctx->hwctx;
+ dst_hwctx = dst_ctx->hwctx;
dst_hwctx->texture_infos = av_calloc(src_hwctx->nb_surfaces,
sizeof(*dst_hwctx->texture_infos));
if (!dst_hwctx->texture_infos)
More information about the ffmpeg-cvslog
mailing list