FFmpeg
Data Structures | Macros | Typedefs | Functions
dxva2_internal.h File Reference
#include "config.h"
#include <objbase.h>
#include "libavutil/hwcontext.h"
#include "avcodec.h"
#include "internal.h"

Go to the source code of this file.

Data Structures

union  AVDXVAContext
 
struct  FFDXVASharedContext
 

Macros

#define COBJMACROS
 
#define DXVA_SHARED_CONTEXT(avctx)   ((FFDXVASharedContext *)((avctx)->internal->hwaccel_priv_data))
 
#define DXVA_CONTEXT(avctx)   (AVDXVAContext *)((avctx)->hwaccel_context ? (avctx)->hwaccel_context : (&(DXVA_SHARED_CONTEXT(avctx)->ctx)))
 
#define D3D11VA_CONTEXT(ctx)   (&ctx->d3d11va)
 
#define DXVA2_CONTEXT(ctx)   (&ctx->dxva2)
 

Typedefs

typedef void DECODER_BUFFER_DESC
 

Functions

unsigned ff_dxva2_get_surface_index (const AVCodecContext *avctx, const AVDXVAContext *, const AVFrame *frame)
 
int ff_dxva2_commit_buffer (AVCodecContext *, AVDXVAContext *, DECODER_BUFFER_DESC *, unsigned type, const void *data, unsigned size, unsigned mb_count)
 
int ff_dxva2_common_end_frame (AVCodecContext *, AVFrame *, const void *pp, unsigned pp_size, const void *qm, unsigned qm_size, int(*commit_bs_si)(AVCodecContext *, DECODER_BUFFER_DESC *bs, DECODER_BUFFER_DESC *slice))
 
int ff_dxva2_decode_init (AVCodecContext *avctx)
 
int ff_dxva2_decode_uninit (AVCodecContext *avctx)
 
int ff_dxva2_common_frame_params (AVCodecContext *avctx, AVBufferRef *hw_frames_ctx)
 
int ff_dxva2_is_d3d11 (const AVCodecContext *avctx)
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 26 of file dxva2_internal.h.

◆ DXVA_SHARED_CONTEXT

#define DXVA_SHARED_CONTEXT (   avctx)    ((FFDXVASharedContext *)((avctx)->internal->hwaccel_priv_data))

Definition at line 97 of file dxva2_internal.h.

◆ DXVA_CONTEXT

#define DXVA_CONTEXT (   avctx)    (AVDXVAContext *)((avctx)->hwaccel_context ? (avctx)->hwaccel_context : (&(DXVA_SHARED_CONTEXT(avctx)->ctx)))

Definition at line 99 of file dxva2_internal.h.

◆ D3D11VA_CONTEXT

#define D3D11VA_CONTEXT (   ctx)    (&ctx->d3d11va)

Definition at line 101 of file dxva2_internal.h.

◆ DXVA2_CONTEXT

#define DXVA2_CONTEXT (   ctx)    (&ctx->dxva2)

Definition at line 102 of file dxva2_internal.h.

Typedef Documentation

◆ DECODER_BUFFER_DESC

typedef void DECODER_BUFFER_DESC

Definition at line 56 of file dxva2_internal.h.

Function Documentation

◆ ff_dxva2_get_surface_index()

unsigned ff_dxva2_get_surface_index ( const AVCodecContext avctx,
const AVDXVAContext ,
const AVFrame frame 
)

Definition at line 764 of file dxva2.c.

Referenced by fill_picture_parameters(), and fill_slice_long().

◆ ff_dxva2_commit_buffer()

int ff_dxva2_commit_buffer ( AVCodecContext ,
AVDXVAContext ,
DECODER_BUFFER_DESC ,
unsigned  type,
const void *  data,
unsigned  size,
unsigned  mb_count 
)

Definition at line 791 of file dxva2.c.

Referenced by commit_bitstream_and_slice_buffer(), and ff_dxva2_common_end_frame().

◆ ff_dxva2_common_end_frame()

int ff_dxva2_common_end_frame ( AVCodecContext ,
AVFrame ,
const void *  pp,
unsigned  pp_size,
const void *  qm,
unsigned  qm_size,
int(*)(AVCodecContext *, DECODER_BUFFER_DESC *bs, DECODER_BUFFER_DESC *slice)  commit_bs_si 
)

◆ ff_dxva2_decode_init()

int ff_dxva2_decode_init ( AVCodecContext avctx)

Definition at line 649 of file dxva2.c.

◆ ff_dxva2_decode_uninit()

int ff_dxva2_decode_uninit ( AVCodecContext avctx)

Definition at line 724 of file dxva2.c.

Referenced by ff_dxva2_decode_init().

◆ ff_dxva2_common_frame_params()

int ff_dxva2_common_frame_params ( AVCodecContext avctx,
AVBufferRef hw_frames_ctx 
)

Definition at line 586 of file dxva2.c.

◆ ff_dxva2_is_d3d11()

int ff_dxva2_is_d3d11 ( const AVCodecContext avctx)