FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
vda_context Struct Reference

This structure is used to provide the necessary configurations and data to the VDA FFmpeg HWAccel implementation. More...

#include <vda.h>

Data Fields

VDADecoder decoder
 VDA decoder object.
 
CVPixelBufferRef cv_buffer
 The Core Video pixel buffer that contains the current image data.
 
int use_sync_decoding
 Use the hardware decoder in synchronous mode.
 
int width
 The frame width.
 
int height
 The frame height.
 
int format
 The frame format.
 
OSType cv_pix_fmt_type
 The pixel format for output image buffers.
 
uint8_tpriv_bitstream
 The current bitstream buffer.
 
int priv_bitstream_size
 The current size of the bitstream.
 
int priv_allocated_size
 The reference size used for fast reallocation.
 
int use_ref_buffer
 Use av_buffer to manage buffer.
 

Detailed Description

This structure is used to provide the necessary configurations and data to the VDA FFmpeg HWAccel implementation.

The application must make it available as AVCodecContext.hwaccel_context.

Definition at line 63 of file vda.h.

Field Documentation

VDADecoder vda_context::decoder

VDA decoder object.

  • encoding: unused
  • decoding: Set/Unset by libavcodec.

Definition at line 70 of file vda.h.

Referenced by ff_vda_create_decoder(), ff_vda_destroy_decoder(), vda_h264_decode_slice(), vda_h264_end_frame(), vda_h264_start_frame(), and vda_sync_decode().

CVPixelBufferRef vda_context::cv_buffer

The Core Video pixel buffer that contains the current image data.

encoding: unused decoding: Set by libavcodec. Unset by user.

Definition at line 78 of file vda.h.

Referenced by vda_decoder_callback(), and vda_h264_end_frame().

int vda_context::use_sync_decoding

Use the hardware decoder in synchronous mode.

encoding: unused decoding: Set by user.

Definition at line 86 of file vda.h.

Referenced by vdadec_init().

int vda_context::width

The frame width.

  • encoding: unused
  • decoding: Set/Unset by user.

Definition at line 94 of file vda.h.

Referenced by ff_vda_create_decoder(), and vdadec_init().

int vda_context::height

The frame height.

  • encoding: unused
  • decoding: Set/Unset by user.

Definition at line 102 of file vda.h.

Referenced by ff_vda_create_decoder(), and vdadec_init().

int vda_context::format

The frame format.

  • encoding: unused
  • decoding: Set/Unset by user.

Definition at line 110 of file vda.h.

Referenced by ff_vda_create_decoder(), and vdadec_init().

OSType vda_context::cv_pix_fmt_type

The pixel format for output image buffers.

  • encoding: unused
  • decoding: Set/Unset by user.

Definition at line 118 of file vda.h.

Referenced by ff_vda_create_decoder(), vda_decoder_callback(), and vdadec_init().

uint8_t* vda_context::priv_bitstream

The current bitstream buffer.

  • encoding: unused
  • decoding: Set/Unset by libavcodec.

Definition at line 126 of file vda.h.

Referenced by ff_vda_create_decoder(), ff_vda_destroy_decoder(), vda_h264_decode_slice(), vda_h264_end_frame(), and vda_sync_decode().

int vda_context::priv_bitstream_size

The current size of the bitstream.

  • encoding: unused
  • decoding: Set/Unset by libavcodec.

Definition at line 134 of file vda.h.

Referenced by vda_h264_decode_slice(), vda_h264_start_frame(), and vda_sync_decode().

int vda_context::priv_allocated_size

The reference size used for fast reallocation.

  • encoding: unused
  • decoding: Set/Unset by libavcodec.

Definition at line 142 of file vda.h.

Referenced by ff_vda_create_decoder(), and vda_h264_decode_slice().

int vda_context::use_ref_buffer

Use av_buffer to manage buffer.

When the flag is set, the CVPixelBuffers returned by the decoder will be released automatically, so you have to retain them if necessary. Not setting this flag may cause memory leak.

encoding: unused decoding: Set by user.

Definition at line 153 of file vda.h.

Referenced by vda_h264_end_frame(), and vdadec_init().


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