vaapi_context Struct Reference

This structure is used to share data between the Libav library and the client video application. More...

#include <vaapi.h>

Data Fields

voiddisplay
 Window system dependent data.
uint32_t config_id
 Configuration ID.
uint32_t context_id
 Context ID (video decode pipeline)
uint32_t pic_param_buf_id
 VAPictureParameterBuffer ID.
uint32_t iq_matrix_buf_id
 VAIQMatrixBuffer ID.
uint32_t bitplane_buf_id
 VABitPlaneBuffer ID (for VC-1 decoding)
uint32_t * slice_buf_ids
 Slice parameter/data buffer IDs.
unsigned int n_slice_buf_ids
 Number of effective slice buffer IDs to send to the HW.
unsigned int slice_buf_ids_alloc
 Size of pre-allocated slice_buf_ids.
voidslice_params
 Pointer to VASliceParameterBuffers.
unsigned int slice_param_size
 Size of a VASliceParameterBuffer element.
unsigned int slice_params_alloc
 Size of pre-allocated slice_params.
unsigned int slice_count
 Number of slices currently filled in.
const uint8_t * slice_data
 Pointer to slice data buffer base.
uint32_t slice_data_size
 Current size of slice data.

Detailed Description

This structure is used to share data between the Libav library and the client video application.

This shall be zero-allocated and available as AVCodecContext.hwaccel_context. All user members can be set once during initialization or through each AVCodecContext.get_buffer() function call. In any case, they must be valid prior to calling decoding functions.

Definition at line 44 of file vaapi.h.

Field Documentation

uint32_t vaapi_context::bitplane_buf_id

VABitPlaneBuffer ID (for VC-1 decoding)

  • encoding: unused
  • decoding: Set by libavcodec

Definition at line 91 of file vaapi.h.

Referenced by ff_vaapi_alloc_bitplane(), ff_vaapi_common_end_frame(), and render_picture().

uint32_t vaapi_context::config_id

Configuration ID.

  • encoding: unused
  • decoding: Set by user

Definition at line 59 of file vaapi.h.

uint32_t vaapi_context::context_id

Context ID (video decode pipeline)

  • encoding: unused
  • decoding: Set by user

Definition at line 67 of file vaapi.h.

Referenced by alloc_buffer(), commit_slices(), and render_picture().

void* vaapi_context::display

Window system dependent data.

  • encoding: unused
  • decoding: Set by user

Definition at line 51 of file vaapi.h.

Referenced by alloc_buffer(), commit_slices(), ff_vaapi_common_end_frame(), and render_picture().

uint32_t vaapi_context::iq_matrix_buf_id

VAIQMatrixBuffer ID.

  • encoding: unused
  • decoding: Set by libavcodec

Definition at line 83 of file vaapi.h.

Referenced by ff_vaapi_alloc_iq_matrix(), ff_vaapi_common_end_frame(), and render_picture().

unsigned int vaapi_context::n_slice_buf_ids

Number of effective slice buffer IDs to send to the HW.

  • encoding: unused
  • decoding: Set by libavcodec

Definition at line 107 of file vaapi.h.

Referenced by commit_slices(), ff_vaapi_common_end_frame(), and render_picture().

uint32_t vaapi_context::pic_param_buf_id

VAPictureParameterBuffer ID.

  • encoding: unused
  • decoding: Set by libavcodec

Definition at line 75 of file vaapi.h.

Referenced by ff_vaapi_alloc_pic_param(), ff_vaapi_common_end_frame(), and render_picture().

uint32_t* vaapi_context::slice_buf_ids

Slice parameter/data buffer IDs.

  • encoding: unused
  • decoding: Set by libavcodec

Definition at line 99 of file vaapi.h.

Referenced by commit_slices(), ff_vaapi_common_end_frame(), and render_picture().

unsigned int vaapi_context::slice_buf_ids_alloc

Size of pre-allocated slice_buf_ids.

  • encoding: unused
  • decoding: Set by libavcodec

Definition at line 115 of file vaapi.h.

Referenced by commit_slices(), and ff_vaapi_common_end_frame().

unsigned int vaapi_context::slice_count

Number of slices currently filled in.

  • encoding: unused
  • decoding: Set by libavcodec

Definition at line 147 of file vaapi.h.

Referenced by commit_slices(), ff_vaapi_alloc_slice(), and ff_vaapi_common_end_frame().

const uint8_t* vaapi_context::slice_data

Pointer to slice data buffer base.

  • encoding: unused
  • decoding: Set by libavcodec

Definition at line 154 of file vaapi.h.

Referenced by commit_slices(), and ff_vaapi_alloc_slice().

uint32_t vaapi_context::slice_data_size

Current size of slice data.

  • encoding: unused
  • decoding: Set by libavcodec

Definition at line 162 of file vaapi.h.

Referenced by commit_slices(), and ff_vaapi_alloc_slice().

unsigned int vaapi_context::slice_param_size

Size of a VASliceParameterBuffer element.

  • encoding: unused
  • decoding: Set by libavcodec

Definition at line 131 of file vaapi.h.

Referenced by commit_slices(), ff_vaapi_alloc_slice(), start_frame(), vaapi_mpeg2_start_frame(), vaapi_mpeg4_start_frame(), and vaapi_vc1_start_frame().

void* vaapi_context::slice_params

Pointer to VASliceParameterBuffers.

  • encoding: unused
  • decoding: Set by libavcodec

Definition at line 123 of file vaapi.h.

Referenced by commit_slices(), ff_vaapi_alloc_slice(), and ff_vaapi_common_end_frame().

unsigned int vaapi_context::slice_params_alloc

Size of pre-allocated slice_params.

  • encoding: unused
  • decoding: Set by libavcodec

Definition at line 139 of file vaapi.h.

Referenced by ff_vaapi_alloc_slice(), and ff_vaapi_common_end_frame().


The documentation for this struct was generated from the following file: