FFmpeg  4.0
Data Structures | Macros
hwaccel.h File Reference
#include "avcodec.h"
#include "hwaccels.h"

Go to the source code of this file.

Data Structures

struct  AVCodecHWConfigInternal
 

Macros

#define HWACCEL_CAP_ASYNC_SAFE   (1 << 0)
 
#define HW_CONFIG_HWACCEL(device, frames, ad_hoc, format, device_type_, name)
 
#define HW_CONFIG_INTERNAL(format)
 
#define HWACCEL_DXVA2(codec)   HW_CONFIG_HWACCEL(1, 1, 1, DXVA2_VLD, DXVA2, ff_ ## codec ## _dxva2_hwaccel)
 
#define HWACCEL_D3D11VA2(codec)   HW_CONFIG_HWACCEL(1, 1, 0, D3D11, D3D11VA, ff_ ## codec ## _d3d11va2_hwaccel)
 
#define HWACCEL_NVDEC(codec)   HW_CONFIG_HWACCEL(1, 1, 0, CUDA, CUDA, ff_ ## codec ## _nvdec_hwaccel)
 
#define HWACCEL_VAAPI(codec)   HW_CONFIG_HWACCEL(1, 1, 1, VAAPI, VAAPI, ff_ ## codec ## _vaapi_hwaccel)
 
#define HWACCEL_VDPAU(codec)   HW_CONFIG_HWACCEL(1, 1, 1, VDPAU, VDPAU, ff_ ## codec ## _vdpau_hwaccel)
 
#define HWACCEL_VIDEOTOOLBOX(codec)   HW_CONFIG_HWACCEL(1, 1, 1, VIDEOTOOLBOX, VIDEOTOOLBOX, ff_ ## codec ## _videotoolbox_hwaccel)
 
#define HWACCEL_D3D11VA(codec)   HW_CONFIG_HWACCEL(0, 0, 1, D3D11VA_VLD, NONE, ff_ ## codec ## _d3d11va_hwaccel)
 
#define HWACCEL_XVMC(codec)   HW_CONFIG_HWACCEL(0, 0, 1, XVMC, NONE, ff_ ## codec ## _xvmc_hwaccel)
 

Macro Definition Documentation

◆ HWACCEL_CAP_ASYNC_SAFE

#define HWACCEL_CAP_ASYNC_SAFE   (1 << 0)

◆ HW_CONFIG_HWACCEL

#define HW_CONFIG_HWACCEL (   device,
  frames,
  ad_hoc,
  format,
  device_type_,
  name 
)
Value:
.public = { \
.pix_fmt = AV_PIX_FMT_ ## format, \
.methods = (device ? AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX : 0) | \
.device_type = AV_HWDEVICE_TYPE_ ## device_type_, \
}, \
.hwaccel = &name, \
}
const char * name
Definition: avisynth_c.h:775
static const char * format[]
Definition: af_aiir.c:311
enum AVHWDeviceType device_type
Definition: hwcontext_qsv.c:76
The codec supports this format by some ad-hoc method.
Definition: avcodec.h:3379
int frames
Definition: movenc.c:65
The codec supports this format via the hw_frames_ctx interface.
Definition: avcodec.h:3363
The codec supports this format via the hw_device_ctx interface.
Definition: avcodec.h:3354

Definition at line 45 of file hwaccel.h.

◆ HW_CONFIG_INTERNAL

#define HW_CONFIG_INTERNAL (   format)
Value:
.public = { \
.pix_fmt = AV_PIX_FMT_ ## format, \
.device_type = AV_HWDEVICE_TYPE_NONE, \
}, \
.hwaccel = NULL, \
}
#define NULL
Definition: coverity.c:32
static const char * format[]
Definition: af_aiir.c:311
The codec supports this format by some internal method.
Definition: avcodec.h:3370

Definition at line 57 of file hwaccel.h.

◆ HWACCEL_DXVA2

#define HWACCEL_DXVA2 (   codec)    HW_CONFIG_HWACCEL(1, 1, 1, DXVA2_VLD, DXVA2, ff_ ## codec ## _dxva2_hwaccel)

Definition at line 67 of file hwaccel.h.

◆ HWACCEL_D3D11VA2

#define HWACCEL_D3D11VA2 (   codec)    HW_CONFIG_HWACCEL(1, 1, 0, D3D11, D3D11VA, ff_ ## codec ## _d3d11va2_hwaccel)

Definition at line 69 of file hwaccel.h.

◆ HWACCEL_NVDEC

#define HWACCEL_NVDEC (   codec)    HW_CONFIG_HWACCEL(1, 1, 0, CUDA, CUDA, ff_ ## codec ## _nvdec_hwaccel)

Definition at line 71 of file hwaccel.h.

Referenced by decode_flush(), and ff_vp8_decode_init().

◆ HWACCEL_VAAPI

#define HWACCEL_VAAPI (   codec)    HW_CONFIG_HWACCEL(1, 1, 1, VAAPI, VAAPI, ff_ ## codec ## _vaapi_hwaccel)

Definition at line 73 of file hwaccel.h.

Referenced by decode_flush(), and ff_vp8_decode_init().

◆ HWACCEL_VDPAU

#define HWACCEL_VDPAU (   codec)    HW_CONFIG_HWACCEL(1, 1, 1, VDPAU, VDPAU, ff_ ## codec ## _vdpau_hwaccel)

Definition at line 75 of file hwaccel.h.

◆ HWACCEL_VIDEOTOOLBOX

#define HWACCEL_VIDEOTOOLBOX (   codec)    HW_CONFIG_HWACCEL(1, 1, 1, VIDEOTOOLBOX, VIDEOTOOLBOX, ff_ ## codec ## _videotoolbox_hwaccel)

Definition at line 77 of file hwaccel.h.

◆ HWACCEL_D3D11VA

#define HWACCEL_D3D11VA (   codec)    HW_CONFIG_HWACCEL(0, 0, 1, D3D11VA_VLD, NONE, ff_ ## codec ## _d3d11va_hwaccel)

Definition at line 79 of file hwaccel.h.

◆ HWACCEL_XVMC

#define HWACCEL_XVMC (   codec)    HW_CONFIG_HWACCEL(0, 0, 1, XVMC, NONE, ff_ ## codec ## _xvmc_hwaccel)

Definition at line 81 of file hwaccel.h.