#if __has_include(<libavutil/hwcontext_cuda.h>)
#define CUDA_VERSION 12000
typedef struct CUctx_st *CUcontext;
typedef struct CUstream_st *CUstream;
#include <libavutil/hwcontext_cuda.h>
#endif
#if __has_include(<libavutil/hwcontext_mediacodec.h>)
#include <libavutil/hwcontext_mediacodec.h>
#endif
#if __has_include(<libavutil/hwcontext_d3d11va.h>) && __has_include(<d3d11.h>)
#define __d3d11_h__
typedef struct ID3D11Device ID3D11Device;
typedef struct ID3D11DeviceContext ID3D11DeviceContext;
typedef struct ID3D11VideoDevice ID3D11VideoDevice;
typedef struct ID3D11VideoContext ID3D11VideoContext;
typedef struct ID3D11Texture2D ID3D11Texture2D;
typedef unsigned int UINT;
#include <libavutil/hwcontext_d3d11va.h>
#endif
#if __has_include(<libavutil/hwcontext_d3d12va.h>) && __has_include(<d3d12.h>)
#define __d3d12_h__
#define __d3d12sdklayers_h__
#define __d3d12video_h__
typedef struct ID3D12Device ID3D12Device;
typedef struct ID3D12VideoDevice ID3D12VideoDevice;
typedef struct ID3D12Fence ID3D12Fence;
typedef struct ID3D12Resource ID3D12Resource;
typedef void *HANDLE;
typedef int DXGI_FORMAT;
typedef unsigned int D3D12_RESOURCE_FLAGS;
typedef unsigned int D3D12_HEAP_FLAGS;
#include <libavutil/hwcontext_d3d12va.h>
#endif
#if __has_include(<libavutil/hwcontext_videotoolbox.h>)
#include <libavutil/hwcontext_videotoolbox.h>
#endif
#if __has_include(<libavutil/hwcontext_vulkan.h>)
#include <libavutil/hwcontext_vulkan.h>
#endif
#if __has_include(<libavutil/hwcontext_vaapi.h>)
#include <libavutil/hwcontext_vaapi.h>
#endif
#if __has_include(<libavutil/hwcontext_qsv.h>)
#include <libavutil/hwcontext_qsv.h>
#endif