FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Functions
VAAPI_Decoding

Data Structures

struct  FFVAContext
 

Functions

static void destroy_buffers (VADisplay display, VABufferID *buffers, unsigned int n_buffers)
 
int ff_vaapi_context_init (AVCodecContext *avctx)
 Common AVHWAccel.init() implementation. More...
 
int ff_vaapi_context_fini (AVCodecContext *avctx)
 Common AVHWAccel.uninit() implementation. More...
 
int ff_vaapi_render_picture (FFVAContext *vactx, VASurfaceID surface)
 
int ff_vaapi_commit_slices (FFVAContext *vactx)
 
static voidalloc_buffer (FFVAContext *vactx, int type, unsigned int size, uint32_t *buf_id)
 
voidff_vaapi_alloc_pic_param (FFVAContext *vactx, unsigned int size)
 Allocate a new picture parameter buffer. More...
 
voidff_vaapi_alloc_iq_matrix (FFVAContext *vactx, unsigned int size)
 Allocate a new IQ matrix buffer. More...
 
uint8_tff_vaapi_alloc_bitplane (FFVAContext *vactx, uint32_t size)
 Allocate a new bit-plane buffer. More...
 
VASliceParameterBufferBase * ff_vaapi_alloc_slice (FFVAContext *vactx, const uint8_t *buffer, uint32_t size)
 Allocate a new slice descriptor for the input slice. More...
 
void ff_vaapi_common_end_frame (AVCodecContext *avctx)
 Common AVHWAccel.end_frame() implementation. More...
 
static FFVAContextff_vaapi_get_context (AVCodecContext *avctx)
 Extract vaapi_context from an AVCodecContext. More...
 
static VASurfaceID ff_vaapi_get_surface_id (AVFrame *pic)
 Extract VASurfaceID from an AVFrame. More...
 
int ff_vaapi_mpeg_end_frame (AVCodecContext *avctx)
 

Detailed Description

Function Documentation

static void destroy_buffers ( VADisplay  display,
VABufferID *  buffers,
unsigned int  n_buffers 
)
static

Definition at line 34 of file vaapi.c.

Referenced by ff_vaapi_common_end_frame().

int ff_vaapi_context_init ( AVCodecContext avctx)

Common AVHWAccel.init() implementation.

Definition at line 45 of file vaapi.c.

int ff_vaapi_context_fini ( AVCodecContext avctx)

Common AVHWAccel.uninit() implementation.

Definition at line 66 of file vaapi.c.

int ff_vaapi_render_picture ( FFVAContext vactx,
VASurfaceID  surface 
)

Definition at line 71 of file vaapi.c.

Referenced by vaapi_h264_end_frame(), vaapi_hevc_end_frame(), and vaapi_vp9_end_frame().

int ff_vaapi_commit_slices ( FFVAContext vactx)
static void* alloc_buffer ( FFVAContext vactx,
int  type,
unsigned int  size,
uint32_t *  buf_id 
)
static
void * ff_vaapi_alloc_pic_param ( FFVAContext vactx,
unsigned int  size 
)
void * ff_vaapi_alloc_iq_matrix ( FFVAContext vactx,
unsigned int  size 
)

Allocate a new IQ matrix buffer.

Definition at line 168 of file vaapi.c.

Referenced by vaapi_h264_start_frame(), vaapi_hevc_start_frame(), vaapi_mpeg2_start_frame(), and vaapi_mpeg4_start_frame().

uint8_t * ff_vaapi_alloc_bitplane ( FFVAContext vactx,
uint32_t  size 
)

Allocate a new bit-plane buffer.

Definition at line 173 of file vaapi.c.

Referenced by vaapi_vc1_start_frame().

VASliceParameterBufferBase * ff_vaapi_alloc_slice ( FFVAContext vactx,
const uint8_t buffer,
uint32_t  size 
)

Allocate a new slice descriptor for the input slice.

Parameters
vactxthe VA API context
bufferthe slice data buffer base
sizethe size of the slice in bytes
Returns
the newly allocated slice parameter

Definition at line 178 of file vaapi.c.

Referenced by vaapi_h264_decode_slice(), vaapi_hevc_decode_slice(), vaapi_mpeg2_decode_slice(), vaapi_mpeg4_decode_slice(), vaapi_vc1_decode_slice(), and vaapi_vp9_decode_slice().

void ff_vaapi_common_end_frame ( AVCodecContext avctx)

Common AVHWAccel.end_frame() implementation.

Definition at line 209 of file vaapi.c.

Referenced by vaapi_h264_end_frame(), vaapi_hevc_end_frame(), and vaapi_vp9_end_frame().

static FFVAContext* ff_vaapi_get_context ( AVCodecContext avctx)
inlinestatic
static VASurfaceID ff_vaapi_get_surface_id ( AVFrame pic)
inlinestatic
int ff_vaapi_mpeg_end_frame ( AVCodecContext avctx)