24 #ifndef AVCODEC_VAAPI_INTERNAL_H
25 #define AVCODEC_VAAPI_INTERNAL_H
65 return (uintptr_t)pic->
data[3];
VASliceParameterBufferBase * ff_vaapi_alloc_slice(FFVAContext *vactx, const uint8_t *buffer, uint32_t size)
Allocate a new slice descriptor for the input slice.
int ff_vaapi_context_fini(AVCodecContext *avctx)
Common AVHWAccel.uninit() implementation.
VAContextID context_id
Context ID (video decode pipeline)
const uint8_t * slice_data
Pointer to slice data buffer base.
This structure describes decoded (raw) audio or video data.
int ff_vaapi_render_picture(FFVAContext *vactx, VASurfaceID surface)
VABufferID pic_param_buf_id
Picture parameter buffer.
unsigned int slice_param_size
Size of a slice parameter element.
VADisplay display
Windowing system dependent handle.
void * ff_vaapi_alloc_iq_matrix(FFVAContext *vactx, unsigned int size)
Allocate a new IQ matrix buffer.
static FFVAContext * ff_vaapi_get_context(AVCodecContext *avctx)
Extract vaapi_context from an AVCodecContext.
VABufferID iq_matrix_buf_id
Inverse quantiser matrix buffer.
void ff_vaapi_common_end_frame(AVCodecContext *avctx)
Common AVHWAccel.end_frame() implementation.
int ff_vaapi_context_init(AVCodecContext *avctx)
Common AVHWAccel.init() implementation.
unsigned int n_slice_buf_ids
Number of effective slice buffers.
unsigned int slice_params_alloc
Number of allocated slice parameters.
static VASurfaceID ff_vaapi_get_surface_id(AVFrame *pic)
Extract VASurfaceID from an AVFrame.
VABufferID * slice_buf_ids
Slice parameter/data buffers.
void * slice_params
Pointer to slice parameter buffers.
unsigned int slice_buf_ids_alloc
Number of allocated slice buffers.
Libavcodec external API header.
main external API structure.
int ff_vaapi_commit_slices(FFVAContext *vactx)
Public libavcodec VA API header.
void * ff_vaapi_alloc_pic_param(FFVAContext *vactx, unsigned int size)
Allocate a new picture parameter buffer.
unsigned int slice_data_size
Current size of slice data.
uint8_t * data[AV_NUM_DATA_POINTERS]
pointer to the picture/channel planes.
common internal api header.
unsigned int slice_count
Number of slices currently filled in.
void * hwaccel_priv_data
hwaccel-specific private data
VABufferID bitplane_buf_id
Bitplane buffer (for VC-1 decoding)
VAConfigID config_id
Configuration ID.
struct AVCodecInternal * internal
Private context used for internal data.
int ff_vaapi_mpeg_end_frame(AVCodecContext *avctx)
uint8_t * ff_vaapi_alloc_bitplane(FFVAContext *vactx, uint32_t size)
Allocate a new bit-plane buffer.