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


#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)




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



Definition at line 26 of file dxva2_internal.h.


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

Definition at line 97 of file dxva2_internal.h.


#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.


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

Definition at line 101 of file dxva2_internal.h.


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

Definition at line 102 of file dxva2_internal.h.

Typedef Documentation



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 770 of file dxva2.c.

Referenced by fill_picture_parameters(), and fill_slice_long().

◆ ff_dxva2_commit_buffer()

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

Definition at line 797 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 655 of file dxva2.c.

◆ ff_dxva2_decode_uninit()

int ff_dxva2_decode_uninit ( AVCodecContext avctx)

Definition at line 730 of file dxva2.c.

Referenced by dxva2_av1_uninit(), and ff_dxva2_decode_init().

◆ ff_dxva2_common_frame_params()

int ff_dxva2_common_frame_params ( AVCodecContext avctx,
AVBufferRef hw_frames_ctx 

Definition at line 592 of file dxva2.c.

◆ ff_dxva2_is_d3d11()

int ff_dxva2_is_d3d11 ( const AVCodecContext avctx)