On Thu, Feb 17, 2022 at 10:13:15AM +0100, Anton Khirnov wrote: > --- > doc/APIchanges | 6 ++++++ > libavcodec/dxva2.c | 4 ++-- > libavcodec/dxva2.h | 18 ++++++++++++++---- > libavcodec/dxva2_h264.c | 8 ++++---- > libavcodec/dxva2_internal.h | 4 ++-- > libavcodec/version.h | 3 ++- > 6 files changed, 30 insertions(+), 13 deletions(-) This doesnt build CC libavcodec/dxva2.o In file included from src/libavcodec/dxva2_internal.h:34:0, from src/libavcodec/dxva2.c:33: src/libavcodec/dxva2.h:23:0: error: unterminated #ifndef #ifndef AVCODEC_DXVA2_H In file included from src/libavcodec/dxva2_internal.h:35:0, from src/libavcodec/dxva2.c:33: src/libavutil/hwcontext_dxva2.h:39:1: error: duplicate ‘typedef’ typedef struct AVDXVA2DeviceContext { ^~~~~~~ src/libavutil/hwcontext_dxva2.h:39:9: error: two or more data types in declaration specifiers typedef struct AVDXVA2DeviceContext { ^~~~~~ In file included from src/libavcodec/dxva2_internal.h:38:0, from src/libavcodec/dxva2.c:33: src/libavcodec/d3d11va.h:48:0: warning: "FF_DXVA2_WORKAROUND_SCALING_LIST_ZIGZAG" redefined #define FF_DXVA2_WORKAROUND_SCALING_LIST_ZIGZAG 1 ///< Work around for Direct3D11 and old UVD/UVD+ ATI video cards In file included from src/libavcodec/dxva2_internal.h:34:0, from src/libavcodec/dxva2.c:33: src/libavcodec/dxva2.h:52:0: note: this is the location of the previous definition #define FF_DXVA2_WORKAROUND_SCALING_LIST_ZIGZAG AV_DXVA2_WORKAROUND_SCALING_LIST_ZIGZAG In file included from src/libavcodec/dxva2_internal.h:38:0, from src/libavcodec/dxva2.c:33: src/libavcodec/d3d11va.h:49:0: warning: "FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO" redefined #define FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO 2 ///< Work around for Direct3D11 and old Intel GPUs with ClearVideo interface In file included from src/libavcodec/dxva2_internal.h:34:0, from src/libavcodec/dxva2.c:33: src/libavcodec/dxva2.h:53:0: note: this is the location of the previous definition #define FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO AV_DXVA2_WORKAROUND_INTEL_CLEARVIDEO In file included from src/libavcodec/dxva2.c:33:0: src/libavcodec/dxva2_internal.h:63:5: error: unknown type name ‘AVDXVA2DecodeContext’ AVDXVA2DecodeContext dxva2; ^~~~~~~~~~~~~~~~~~~~ In file included from src/libavcodec/dxva2.h:39:0, from src/libavcodec/dxva2_internal.h:34, from src/libavcodec/dxva2.c:33: src/libavcodec/dxva2.c: In function ‘dxva2_create_decoder’: src/libavcodec/dxva2.c:359:63: error: dereferencing pointer to incomplete type ‘AVDXVA2DeviceContext {aka struct dxva_context}’ hr = IDirect3DDeviceManager9_OpenDeviceHandle(device_hwctx->devmgr, ^ src/libavcodec/dxva2.c: In function ‘ff_dxva2_decode_init’: src/libavcodec/dxva2.c:707:9: error: unknown type name ‘AVDXVA2DecodeContext’; did you mean ‘AVDXVA2DeviceContext’? AVDXVA2DecodeContext *dxva_ctx = &sctx->ctx.dxva2; ^~~~~~~~~~~~~~~~~~~~ AVDXVA2DeviceContext src/libavcodec/dxva2.c:715:17: error: request for member ‘decoder’ in something not a structure or union dxva_ctx->decoder = sctx->dxva2_decoder; ^~ src/libavcodec/dxva2.c:716:17: error: request for member ‘cfg’ in something not a structure or union dxva_ctx->cfg = &sctx->dxva2_config; ^~ src/libavcodec/dxva2.c:717:17: error: request for member ‘surface’ in something not a structure or union dxva_ctx->surface = frames_hwctx->surfaces; ^~ src/libavcodec/dxva2.c:718:17: error: request for member ‘surface_count’ in something not a structure or union dxva_ctx->surface_count = frames_hwctx->nb_surfaces; ^~ src/libavcodec/dxva2.c:719:17: error: request for member ‘workaround’ in something not a structure or union dxva_ctx->workaround = sctx->workaround; ^~ In file included from src/libavcodec/dxva2.c:33:0: src/libavcodec/dxva2.c: In function ‘ff_dxva2_get_surface_index’: src/libavcodec/dxva2_internal.h:106:116: error: request for member ‘surface_count’ in something not a structure or union #define DXVA_CONTEXT_COUNT(avctx, ctx) (ff_dxva2_is_d3d11(avctx) ? ctx->d3d11va.surface_count : ctx->dxva2.surface_count) ^ src/libavcodec/dxva2.c:787:21: note: in expansion of macro ‘DXVA_CONTEXT_COUNT’ for (i = 0; i < DXVA_CONTEXT_COUNT(avctx, ctx); i++) { ^ src/libavcodec/dxva2.c:788:65: error: request for member ‘surface’ in something not a structure or union if (avctx->pix_fmt == AV_PIX_FMT_DXVA2_VLD && ctx->dxva2.surface[i] == surface) ^ In file included from src/libavcodec/dxva2.h:39:0, from src/libavcodec/dxva2_internal.h:34, from src/libavcodec/dxva2.c:33: src/libavcodec/dxva2.c: In function ‘ff_dxva2_commit_buffer’: src/libavcodec/dxva2.c:817:63: error: request for member ‘decoder’ in something not a structure or union hr = IDirectXVideoDecoder_GetBuffer(DXVA2_CONTEXT(ctx)->decoder, type, ^ src/libavcodec/dxva2.c:817:63: error: request for member ‘decoder’ in something not a structure or union hr = IDirectXVideoDecoder_GetBuffer(DXVA2_CONTEXT(ctx)->decoder, type, ^ src/libavcodec/dxva2.c:859:67: error: request for member ‘decoder’ in something not a structure or union hr = IDirectXVideoDecoder_ReleaseBuffer(DXVA2_CONTEXT(ctx)->decoder, type); ^ src/libavcodec/dxva2.c:859:67: error: request for member ‘decoder’ in something not a structure or union hr = IDirectXVideoDecoder_ReleaseBuffer(DXVA2_CONTEXT(ctx)->decoder, type); ^ src/libavcodec/dxva2.c: In function ‘ff_dxva2_common_end_frame’: src/libavcodec/dxva2.c:923:68: error: request for member ‘decoder’ in something not a structure or union hr = IDirectXVideoDecoder_BeginFrame(DXVA2_CONTEXT(ctx)->decoder, ^ src/libavcodec/dxva2.c:923:68: error: request for member ‘decoder’ in something not a structure or union hr = IDirectXVideoDecoder_BeginFrame(DXVA2_CONTEXT(ctx)->decoder, ^ src/libavcodec/dxva2.c:1025:61: error: request for member ‘decoder’ in something not a structure or union hr = IDirectXVideoDecoder_Execute(DXVA2_CONTEXT(ctx)->decoder, &exec); ^ src/libavcodec/dxva2.c:1025:61: error: request for member ‘decoder’ in something not a structure or union hr = IDirectXVideoDecoder_Execute(DXVA2_CONTEXT(ctx)->decoder, &exec); ^ src/libavcodec/dxva2.c:1040:62: error: request for member ‘decoder’ in something not a structure or union hr = IDirectXVideoDecoder_EndFrame(DXVA2_CONTEXT(ctx)->decoder, NULL); ^ src/libavcodec/dxva2.c:1040:62: error: request for member ‘decoder’ in something not a structure or union hr = IDirectXVideoDecoder_EndFrame(DXVA2_CONTEXT(ctx)->decoder, NULL); ^ src/ffbuild/common.mak:78: recipe for target 'libavcodec/dxva2.o' failed make: *** [libavcodec/dxva2.o] Error 1 [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB In fact, the RIAA has been known to suggest that students drop out of college or go to community college in order to be able to afford settlements. -- The RIAA