FFmpeg
Data Fields
AVHWAccel Struct Reference
libavcodec » Core functions/structures. » AVHWAccel

#include <avcodec.h>

Data Fields

const char *  name
  Name of the hardware accelerated codec. More...
 
enum AVMediaType  type
  Type of codec implemented by the hardware accelerator. More...
 
enum AVCodecID  id
  Codec implemented by the hardware accelerator. More...
 
  Supported pixel format. More...
 
  Hardware accelerated codec capabilities. More...
 
  Allocate a custom buffer. More...
 
int(*  start_frame )(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size)
  Called at the beginning of each frame or field picture. More...
 
int(*  decode_params )(AVCodecContext *avctx, int type, const uint8_t *buf, uint32_t buf_size)
  Callback for parameter data (SPS/PPS/VPS etc). More...
 
int(*  decode_slice )(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size)
  Callback for each slice. More...
 
  Called at the end of each frame or field picture. More...
 
  Size of per-frame hardware accelerator private data. More...
 
int(*  init )(AVCodecContext *avctx)
  Initialize the hwaccel private data. More...
 
int(*  uninit )(AVCodecContext *avctx)
  Uninitialize the hwaccel private data. More...
 
  Size of the private data to allocate in AVCodecInternal.hwaccel_priv_data. More...
 
  Internal hwaccel capabilities. More...
 
int(*  frame_params )(AVCodecContext *avctx, AVBufferRef *hw_frames_ctx)
  Fill the given hw_frames context with current codec parameters. More...
 

Detailed Description

Definition at line 2076 of file avcodec.h.

Field Documentation

name

const char* AVHWAccel::name

Name of the hardware accelerated codec.

The name is globally unique among encoders and among decoders (but an encoder and a decoder can share the same name).

Definition at line 2082 of file avcodec.h.

Referenced by convert_from_tensorflow.Operand::__str__(), and hwaccel_init().

type

enum AVMediaType AVHWAccel::type

Type of codec implemented by the hardware accelerator.

See AVMEDIA_TYPE_xxx

Definition at line 2089 of file avcodec.h.

id

enum AVCodecID AVHWAccel::id

Codec implemented by the hardware accelerator.

See AV_CODEC_ID_xxx

Definition at line 2096 of file avcodec.h.

pix_fmt

enum AVPixelFormat AVHWAccel::pix_fmt

Supported pixel format.

Only hardware accelerated formats are supported here.

Definition at line 2103 of file avcodec.h.

Referenced by ff_decode_get_hw_frames_ctx(), ff_dxva2_decode_init(), and nvdec_init_hwframes().

capabilities

int AVHWAccel::capabilities

Hardware accelerated codec capabilities.

see AV_HWACCEL_CODEC_CAP_*

Definition at line 2109 of file avcodec.h.

Referenced by hwaccel_init().

alloc_frame

int(* AVHWAccel::alloc_frame) (AVCodecContext *avctx, AVFrame *frame)

Allocate a custom buffer.

Definition at line 2122 of file avcodec.h.

Referenced by ff_get_buffer().

start_frame

int(* AVHWAccel::start_frame) (AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size)

Called at the beginning of each frame or field picture.

Meaningful frame information (codec specific) is guaranteed to be parsed at this point. This function is mandatory.

Note that buf can be NULL along with buf_size set to 0. Otherwise, this means the whole frame is available at this point.

Parameters
avctx the codec context
buf the frame data buffer base
buf_size the size of the frame in bytes
Returns
zero if successful, a negative value otherwise

Definition at line 2138 of file avcodec.h.

Referenced by av1_decode_frame(), decode_frame(), ff_h263_decode_frame(), mpeg_field_start(), vc1_decode_frame(), vp78_decode_frame(), and vp9_decode_frame().

decode_params

int(* AVHWAccel::decode_params) (AVCodecContext *avctx, int type, const uint8_t *buf, uint32_t buf_size)

Callback for parameter data (SPS/PPS/VPS etc).

Useful for hardware decoders which keep persistent state about the video parameters, and need to receive any changes to update that state.

Parameters
avctx the codec context
type the nal unit type
buf the nal unit data buffer
buf_size the size of the nal unit in bytes
Returns
zero if successful, a negative value otherwise

Definition at line 2152 of file avcodec.h.

Referenced by av1_decode_frame(), and decode_nal_units().

decode_slice

int(* AVHWAccel::decode_slice) (AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size)

Callback for each slice.

Meaningful slice information (codec specific) is guaranteed to be parsed at this point. This function is mandatory.

Parameters
avctx the codec context
buf the slice data buffer base
buf_size the size of the slice in bytes
Returns
zero if successful, a negative value otherwise

Definition at line 2165 of file avcodec.h.

Referenced by av1_decode_frame(), decode_frame(), decode_nal_units(), mpeg_decode_slice(), vc1_decode_frame(), vp78_decode_frame(), and vp9_decode_frame().

end_frame

int(* AVHWAccel::end_frame) (AVCodecContext *avctx)

Called at the end of each frame or field picture.

The whole picture is parsed at this point and can now be sent to the hardware accelerator. This function is mandatory.

Parameters
avctx the codec context
Returns
zero if successful, a negative value otherwise

Definition at line 2176 of file avcodec.h.

Referenced by av1_decode_frame(), decode_frame(), ff_h263_decode_frame(), ff_h264_field_end(), hevc_decode_frame(), vc1_decode_frame(), vp78_decode_frame(), and vp9_decode_frame().

frame_priv_data_size

int AVHWAccel::frame_priv_data_size

Size of per-frame hardware accelerator private data.

Private data is allocated with av_mallocz() before AVCodecContext.get_buffer() and deallocated after AVCodecContext.release_buffer().

Definition at line 2185 of file avcodec.h.

Referenced by alloc_frame(), alloc_frame_buffer(), alloc_picture(), av1_frame_alloc(), vp8_alloc_frame(), and vp9_frame_alloc().

init

int(* AVHWAccel::init) (AVCodecContext *avctx)

Initialize the hwaccel private data.

This will be called from ff_get_format(), after hwaccel and hwaccel_context are set and the hwaccel private data in AVCodecInternal is allocated.

Definition at line 2194 of file avcodec.h.

Referenced by ff_vdpau_common_reinit(), and hwaccel_init().

uninit

int(* AVHWAccel::uninit) (AVCodecContext *avctx)

Uninitialize the hwaccel private data.

This will be called from get_format() or avcodec_close(), after hwaccel and hwaccel_context are already uninitialized.

Definition at line 2202 of file avcodec.h.

Referenced by avcodec_close(), ff_vdpau_common_reinit(), and hwaccel_uninit().

priv_data_size

int AVHWAccel::priv_data_size

Size of the private data to allocate in AVCodecInternal.hwaccel_priv_data.

Definition at line 2208 of file avcodec.h.

Referenced by hwaccel_init().

caps_internal

int AVHWAccel::caps_internal

Internal hwaccel capabilities.

Definition at line 2213 of file avcodec.h.

Referenced by ff_thread_finish_setup().

frame_params

int(* AVHWAccel::frame_params) (AVCodecContext *avctx, AVBufferRef *hw_frames_ctx)

Fill the given hw_frames context with current codec parameters.

Called from get_format. Refer to avcodec_get_hw_frames_parameters() for details.

This CAN be called before AVHWAccel.init is called, and you must assume that avctx->hwaccel_priv_data is invalid.

Definition at line 2223 of file avcodec.h.

Referenced by avcodec_get_hw_frames_parameters().


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

Generated on Tue Feb 28 2023 21:34:40 for FFmpeg by   doxygen 1.8.17

AltStyle によって変換されたページ (->オリジナル) /