Go to the documentation of this file.
23 #ifndef AVUTIL_HWCONTEXT_D3D12VA_H
24 #define AVUTIL_HWCONTEXT_D3D12VA_H
36 #include <d3d12sdklayers.h>
37 #include <d3d12video.h>
ID3D12Device * device
Device used for objects creation and access.
AVD3D12VAFrameFlags flags
A combination of AVD3D12VAFrameFlags.
AVD3D12VAFrameFlags
Define the behaviours of frame allocation.
D3D12_HEAP_FLAGS heap_flags
Heap flags to be applied to D3D12 resources allocated for frames using this device context.
AVD3D12VAFrameFlags flags
A combination of AVD3D12VAFrameFlags.
void(* unlock)(void *lock_ctx)
ID3D12Resource * texture_array
In texture array mode, the D3D12 uses the same texture array (resource)for all pictures.
AVD3D12VASyncContext sync_ctx
The sync context for the texture.
This struct is used to sync d3d12 execution.
ID3D12Fence * fence
D3D12 fence object.
D3D12_HEAP_FLAGS heap_flags
Options for working with heaps allocation when creating resources.
This struct is allocated as AVHWFramesContext.hwctx.
ID3D12Resource * texture
The texture in which the frame is located.
D3D12_RESOURCE_FLAGS resource_flags
Options for working with resources.
ID3D12VideoDevice * video_device
If unset, this will be set from the device field on init.
D3D12VA frame descriptor for pool allocation.
This struct is allocated as AVHWDeviceContext.hwctx.
@ AV_D3D12VA_FRAME_FLAG_TEXTURE_ARRAY
Indicates that frame data should be allocated using a texture array resource.
DXGI_FORMAT format
DXGI_FORMAT format.
@ AV_D3D12VA_FRAME_FLAG_NONE
HANDLE event
A handle to the event object that's raised when the fence reaches a certain value.
void(* lock)(void *lock_ctx)
Callbacks for locking.
uint64_t fence_value
The fence value used for sync.
int subresource_index
Index of the subresource within the texture.
D3D12_RESOURCE_FLAGS resource_flags
Resource flags to be applied to D3D12 resources allocated for frames using this device context.