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

#include <vaapi.h>

Collaboration diagram for vaapi_context:
Collaboration graph

Data Fields

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

Detailed Description

This structure is used to share data between the FFmpeg 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 50 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 97 of file vaapi.h.

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

uint32_t vaapi_context::config_id

Configuration ID.

  • encoding: unused
  • decoding: Set by user

Definition at line 65 of file vaapi.h.

uint32_t vaapi_context::context_id

Context ID (video decode pipeline)

  • encoding: unused
  • decoding: Set by user

Definition at line 73 of file vaapi.h.

Referenced by alloc_buffer(), ff_vaapi_commit_slices(), and ff_vaapi_render_picture().

void* vaapi_context::display

Window system dependent data.

  • encoding: unused
  • decoding: Set by user

Definition at line 57 of file vaapi.h.

Referenced by alloc_buffer(), ff_vaapi_commit_slices(), ff_vaapi_common_end_frame(), and ff_vaapi_render_picture().

uint32_t vaapi_context::iq_matrix_buf_id

VAIQMatrixBuffer ID.

  • encoding: unused
  • decoding: Set by libavcodec

Definition at line 89 of file vaapi.h.

Referenced by ff_vaapi_alloc_iq_matrix(), ff_vaapi_common_end_frame(), and ff_vaapi_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 113 of file vaapi.h.

Referenced by ff_vaapi_commit_slices(), ff_vaapi_common_end_frame(), and ff_vaapi_render_picture().

uint32_t vaapi_context::pic_param_buf_id

VAPictureParameterBuffer ID.

  • encoding: unused
  • decoding: Set by libavcodec

Definition at line 81 of file vaapi.h.

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

uint32_t* vaapi_context::slice_buf_ids

Slice parameter/data buffer IDs.

  • encoding: unused
  • decoding: Set by libavcodec

Definition at line 105 of file vaapi.h.

Referenced by ff_vaapi_commit_slices(), ff_vaapi_common_end_frame(), and ff_vaapi_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 121 of file vaapi.h.

Referenced by ff_vaapi_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 153 of file vaapi.h.

Referenced by ff_vaapi_alloc_slice(), ff_vaapi_commit_slices(), 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 160 of file vaapi.h.

Referenced by ff_vaapi_alloc_slice(), and ff_vaapi_commit_slices().

uint32_t vaapi_context::slice_data_size

Current size of slice data.

  • encoding: unused
  • decoding: Set by libavcodec

Definition at line 168 of file vaapi.h.

Referenced by ff_vaapi_alloc_slice(), and ff_vaapi_commit_slices().

unsigned int vaapi_context::slice_param_size

Size of a VASliceParameterBuffer element.

  • encoding: unused
  • decoding: Set by libavcodec

Definition at line 137 of file vaapi.h.

Referenced by ff_vaapi_alloc_slice(), ff_vaapi_commit_slices(), vaapi_h264_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 129 of file vaapi.h.

Referenced by ff_vaapi_alloc_slice(), ff_vaapi_commit_slices(), 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 145 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: