FFmpeg
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Data Structures | Macros | Functions
hwconfig.h File Reference
#include "avcodec.h"
#include "hwaccels.h"

Go to the source code of this file.

Data Structures

struct  AVCodecHWConfigInternal
 

Macros

#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_VULKAN(codec)   HW_CONFIG_HWACCEL(1, 1, 1, VULKAN, VULKAN, ff_ ## codec ## _vulkan_hwaccel)
 
#define HWACCEL_D3D11VA(codec)   HW_CONFIG_HWACCEL(0, 0, 1, D3D11VA_VLD, NONE, ff_ ## codec ## _d3d11va_hwaccel)
 
#define HWACCEL_D3D12VA(codec)   HW_CONFIG_HWACCEL(1, 1, 0, D3D12, D3D12VA, ff_ ## codec ## _d3d12va_hwaccel)
 
#define HW_CONFIG_ENCODER(device, frames, ad_hoc, format, device_type_)
 
#define HW_CONFIG_ENCODER_DEVICE(format, device_type_)   HW_CONFIG_ENCODER(1, 0, 0, format, device_type_)
 
#define HW_CONFIG_ENCODER_FRAMES(format, device_type_)   HW_CONFIG_ENCODER(0, 1, 0, format, device_type_)
 

Functions

void ff_hwaccel_uninit (AVCodecContext *avctx)
 

Macro Definition Documentation

◆ 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, \
}

Definition at line 42 of file hwconfig.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, \
}

Definition at line 54 of file hwconfig.h.

◆ HWACCEL_DXVA2

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

Definition at line 64 of file hwconfig.h.

◆ HWACCEL_D3D11VA2

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

Definition at line 66 of file hwconfig.h.

◆ HWACCEL_NVDEC

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

Definition at line 68 of file hwconfig.h.

◆ HWACCEL_VAAPI

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

Definition at line 70 of file hwconfig.h.

◆ HWACCEL_VDPAU

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

Definition at line 72 of file hwconfig.h.

◆ HWACCEL_VIDEOTOOLBOX

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

Definition at line 74 of file hwconfig.h.

◆ HWACCEL_VULKAN

#define HWACCEL_VULKAN (   codec)    HW_CONFIG_HWACCEL(1, 1, 1, VULKAN, VULKAN, ff_ ## codec ## _vulkan_hwaccel)

Definition at line 76 of file hwconfig.h.

◆ HWACCEL_D3D11VA

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

Definition at line 78 of file hwconfig.h.

◆ HWACCEL_D3D12VA

#define HWACCEL_D3D12VA (   codec)    HW_CONFIG_HWACCEL(1, 1, 0, D3D12, D3D12VA, ff_ ## codec ## _d3d12va_hwaccel)

Definition at line 80 of file hwconfig.h.

◆ HW_CONFIG_ENCODER

#define HW_CONFIG_ENCODER (   device,
  frames,
  ad_hoc,
  format,
  device_type_ 
)
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 = NULL, \
}

Definition at line 83 of file hwconfig.h.

◆ HW_CONFIG_ENCODER_DEVICE

#define HW_CONFIG_ENCODER_DEVICE (   format,
  device_type_ 
)    HW_CONFIG_ENCODER(1, 0, 0, format, device_type_)

Definition at line 95 of file hwconfig.h.

◆ HW_CONFIG_ENCODER_FRAMES

#define HW_CONFIG_ENCODER_FRAMES (   format,
  device_type_ 
)    HW_CONFIG_ENCODER(0, 1, 0, format, device_type_)

Definition at line 98 of file hwconfig.h.

Function Documentation

◆ ff_hwaccel_uninit()

void ff_hwaccel_uninit ( AVCodecContext avctx)
name
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf default minimum maximum flags name is the option name
Definition: writing_filters.txt:88
AV_HWDEVICE_TYPE_NONE
@ AV_HWDEVICE_TYPE_NONE
Definition: hwcontext.h:28
AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX
@ AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX
The codec supports this format via the hw_frames_ctx interface.
Definition: codec.h:311
frames
if it could not because there are no more frames
Definition: filter_design.txt:266
AV_CODEC_HW_CONFIG_METHOD_AD_HOC
@ AV_CODEC_HW_CONFIG_METHOD_AD_HOC
The codec supports this format by some ad-hoc method.
Definition: codec.h:327
NULL
#define NULL
Definition: coverity.c:32
format
New swscale design to change SwsGraph is what coordinates multiple passes These can include cascaded scaling error diffusion and so on Or we could have separate passes for the vertical and horizontal scaling In between each SwsPass lies a fully allocated image buffer Graph passes may have different levels of e g we can have a single threaded error diffusion pass following a multi threaded scaling pass SwsGraph is internally recreated whenever the image format
Definition: swscale-v2.txt:14
AV_CODEC_HW_CONFIG_METHOD_INTERNAL
@ AV_CODEC_HW_CONFIG_METHOD_INTERNAL
The codec supports this format by some internal method.
Definition: codec.h:318
AVCodecHWConfigInternal
Definition: hwconfig.h:25
AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX
@ AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX
The codec supports this format via the hw_device_ctx interface.
Definition: codec.h:298