#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 "mem.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()
  
  | 
        
          | static int d3d12va_wait_queue_idle | ( | AVD3D12VASyncContext * | psync_ctx, |  
          |  |  | ID3D12CommandQueue * | command_queue |  
          |  | ) |  |  |  | inlinestatic | 
 
 
◆ 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)