FFmpeg
Data Structures | Macros | Enumerations | Functions | Variables
d3d12va_encode.h File Reference
#include "libavutil/fifo.h"
#include "libavutil/hwcontext.h"
#include "libavutil/hwcontext_d3d12va_internal.h"
#include "libavutil/hwcontext_d3d12va.h"
#include "avcodec.h"
#include "internal.h"
#include "hwconfig.h"
#include "hw_base_encode.h"

Go to the source code of this file.

Data Structures

struct  D3D12VAEncodePicture
 
struct  D3D12VAEncodeProfile
 
struct  D3D12VAEncodeRCMode
 
struct  D3D12VAEncodeContext
 
struct  D3D12VAEncodeType
 

Macros

#define MAX_PARAM_BUFFER_SIZE   4096
 
#define D3D12VA_VIDEO_ENC_ASYNC_DEPTH   8
 
#define D3D12VA_ENCODE_RC_MODE(name, desc)
 
#define D3D12VA_ENCODE_RC_OPTIONS
 

Enumerations

enum  {
  RC_MODE_AUTO, RC_MODE_CQP, RC_MODE_CBR, RC_MODE_VBR,
  RC_MODE_QVBR, RC_MODE_MAX = RC_MODE_QVBR
}
 

Functions

int ff_d3d12va_encode_receive_packet (AVCodecContext *avctx, AVPacket *pkt)
 
int ff_d3d12va_encode_init (AVCodecContext *avctx)
 
int ff_d3d12va_encode_close (AVCodecContext *avctx)
 

Variables

const AVCodecHWConfigInternal *const ff_d3d12va_encode_hw_configs []
 

Macro Definition Documentation

◆ MAX_PARAM_BUFFER_SIZE

#define MAX_PARAM_BUFFER_SIZE   4096

Definition at line 39 of file d3d12va_encode.h.

◆ D3D12VA_VIDEO_ENC_ASYNC_DEPTH

#define D3D12VA_VIDEO_ENC_ASYNC_DEPTH   8

Definition at line 40 of file d3d12va_encode.h.

◆ D3D12VA_ENCODE_RC_MODE

#define D3D12VA_ENCODE_RC_MODE (   name,
  desc 
)
Value:
{ #name, desc, 0, AV_OPT_TYPE_CONST, { .i64 = RC_MODE_ ## name }, \
0, 0, FLAGS, .unit = "rc_mode" }

Definition at line 321 of file d3d12va_encode.h.

◆ D3D12VA_ENCODE_RC_OPTIONS

#define D3D12VA_ENCODE_RC_OPTIONS
Value:
{ "rc_mode",\
"Set rate control mode", \
OFFSET(common.explicit_rc_mode), AV_OPT_TYPE_INT, \
{ .i64 = RC_MODE_AUTO }, RC_MODE_AUTO, RC_MODE_MAX, FLAGS, .unit = "rc_mode" }, \
{ "auto", "Choose mode automatically based on other parameters", \
0, AV_OPT_TYPE_CONST, { .i64 = RC_MODE_AUTO }, 0, 0, FLAGS, .unit = "rc_mode" }, \
D3D12VA_ENCODE_RC_MODE(CQP, "Constant-quality"), \
D3D12VA_ENCODE_RC_MODE(CBR, "Constant-bitrate"), \
D3D12VA_ENCODE_RC_MODE(VBR, "Variable-bitrate"), \
D3D12VA_ENCODE_RC_MODE(QVBR, "Quality-defined variable-bitrate")

Definition at line 324 of file d3d12va_encode.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
RC_MODE_AUTO 
RC_MODE_CQP 
RC_MODE_CBR 
RC_MODE_VBR 
RC_MODE_QVBR 
RC_MODE_MAX 

Definition at line 93 of file d3d12va_encode.h.

Function Documentation

◆ ff_d3d12va_encode_receive_packet()

int ff_d3d12va_encode_receive_packet ( AVCodecContext avctx,
AVPacket pkt 
)

Definition at line 1395 of file d3d12va_encode.c.

◆ ff_d3d12va_encode_init()

int ff_d3d12va_encode_init ( AVCodecContext avctx)

Definition at line 1400 of file d3d12va_encode.c.

Referenced by d3d12va_encode_hevc_init().

◆ ff_d3d12va_encode_close()

int ff_d3d12va_encode_close ( AVCodecContext avctx)

Definition at line 1519 of file d3d12va_encode.c.

Referenced by d3d12va_encode_hevc_close().

Variable Documentation

◆ ff_d3d12va_encode_hw_configs

const AVCodecHWConfigInternal* const ff_d3d12va_encode_hw_configs[]

Definition at line 36 of file d3d12va_encode.c.

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
FLAGS
#define FLAGS
Definition: cmdutils.c:581
RC_MODE_MAX
@ RC_MODE_MAX
Definition: d3d12va_encode.h:99
CBR
@ CBR
Definition: af_afade.c:61
AV_OPT_TYPE_INT
@ AV_OPT_TYPE_INT
Definition: opt.h:245
desc
const char * desc
Definition: libsvtav1.c:79
RC_MODE_AUTO
@ RC_MODE_AUTO
Definition: d3d12va_encode.h:94
AV_OPT_TYPE_CONST
@ AV_OPT_TYPE_CONST
Definition: opt.h:254