#include "config.h"
#include "common.h"
#include "hwcontext.h"
#include "hwcontext_internal.h"
#include "hwcontext_d3d12va_internal.h"
#include "hwcontext_d3d12va.h"
#include "imgutils.h"
#include "pixdesc.h"
#include "pixfmt.h"
#include "thread.h"
#include "compat/w32dlfcn.h"
#include <dxgi1_3.h>
Go to the source code of this file.
|
static void | d3d12va_default_lock (void *ctx) |
|
static void | d3d12va_default_unlock (void *ctx) |
|
static int | d3d12va_fence_completion (AVD3D12VASyncContext *psync_ctx) |
|
static int | d3d12va_wait_queue_idle (AVD3D12VASyncContext *psync_ctx, ID3D12CommandQueue *command_queue) |
|
static int | d3d12va_create_staging_buffer_resource (AVHWFramesContext *ctx, D3D12_RESOURCE_STATES states, ID3D12Resource **ppResource, int download) |
|
static int | d3d12va_create_helper_objects (AVHWFramesContext *ctx) |
|
static void | d3d12va_frames_uninit (AVHWFramesContext *ctx) |
|
static int | d3d12va_frames_get_constraints (AVHWDeviceContext *ctx, const void *hwconfig, AVHWFramesConstraints *constraints) |
|
static void | free_texture (void *opaque, uint8_t *data) |
|
static AVBufferRef * | d3d12va_pool_alloc (void *opaque, size_t size) |
|
static int | d3d12va_frames_init (AVHWFramesContext *ctx) |
|
static int | d3d12va_get_buffer (AVHWFramesContext *ctx, AVFrame *frame) |
|
static int | d3d12va_transfer_get_formats (AVHWFramesContext *ctx, enum AVHWFrameTransferDirection dir, enum AVPixelFormat **formats) |
|
static int | d3d12va_transfer_data (AVHWFramesContext *ctx, AVFrame *dst, const AVFrame *src) |
|
static int | d3d12va_load_functions (AVHWDeviceContext *hwdev) |
|
static void | d3d12va_device_free (AVHWDeviceContext *hwdev) |
|
static int | d3d12va_device_init (AVHWDeviceContext *hwdev) |
|
static void | d3d12va_device_uninit (AVHWDeviceContext *hwdev) |
|
static int | d3d12va_device_create (AVHWDeviceContext *hwdev, const char *device, AVDictionary *opts, int flags) |
|
◆ PFN_CREATE_DXGI_FACTORY2
typedef HRESULT(WINAPI * PFN_CREATE_DXGI_FACTORY2) (UINT Flags, REFIID riid, void **ppFactory) |
◆ d3d12va_default_lock()
static void d3d12va_default_lock |
( |
void * |
ctx | ) |
|
|
static |
◆ d3d12va_default_unlock()
static void d3d12va_default_unlock |
( |
void * |
ctx | ) |
|
|
static |
◆ d3d12va_fence_completion()
◆ d3d12va_wait_queue_idle()
◆ d3d12va_create_staging_buffer_resource()
static int d3d12va_create_staging_buffer_resource |
( |
AVHWFramesContext * |
ctx, |
|
|
D3D12_RESOURCE_STATES |
states, |
|
|
ID3D12Resource ** |
ppResource, |
|
|
int |
download |
|
) |
| |
|
static |
◆ d3d12va_create_helper_objects()
◆ d3d12va_frames_uninit()
◆ d3d12va_frames_get_constraints()
◆ free_texture()
static void free_texture |
( |
void * |
opaque, |
|
|
uint8_t * |
data |
|
) |
| |
|
static |
◆ d3d12va_pool_alloc()
static AVBufferRef* d3d12va_pool_alloc |
( |
void * |
opaque, |
|
|
size_t |
size |
|
) |
| |
|
static |
◆ d3d12va_frames_init()
◆ d3d12va_get_buffer()
◆ d3d12va_transfer_get_formats()
◆ d3d12va_transfer_data()
◆ d3d12va_load_functions()
◆ d3d12va_device_free()
◆ d3d12va_device_init()
◆ d3d12va_device_uninit()
◆ d3d12va_device_create()
◆ d3d_format
◆ pix_fmt
◆ supported_formats
const { ... } supported_formats[] |
◆ ff_hwcontext_type_d3d12va
static int d3d12va_transfer_data(AVHWFramesContext *ctx, AVFrame *dst, const AVFrame *src)
static int d3d12va_frames_get_constraints(AVHWDeviceContext *ctx, const void *hwconfig, AVHWFramesConstraints *constraints)
static int d3d12va_device_create(AVHWDeviceContext *hwdev, const char *device, AVDictionary *opts, int flags)
static int d3d12va_device_init(AVHWDeviceContext *hwdev)
@ AV_HWDEVICE_TYPE_D3D12VA
static int d3d12va_frames_init(AVHWFramesContext *ctx)
static void d3d12va_frames_uninit(AVHWFramesContext *ctx)
static int d3d12va_get_buffer(AVHWFramesContext *ctx, AVFrame *frame)
static int d3d12va_transfer_get_formats(AVHWFramesContext *ctx, enum AVHWFrameTransferDirection dir, enum AVPixelFormat **formats)
static void d3d12va_device_uninit(AVHWDeviceContext *hwdev)