FFmpeg
Data Fields
AVHWAccel Struct Reference
Core functions/structures.

AVHWAccel. More...

#include <avcodec.h>

Data Fields

const char *  name
  Name of the hardware accelerated codec.
 
enum AVMediaType  type
  Type of codec implemented by the hardware accelerator.
 
enum AVCodecID  id
  Codec implemented by the hardware accelerator.
 
  Supported pixel format.
 
int  capabilities
  Hardware accelerated codec capabilities.
 
struct AVHWAccelnext
 
  Allocate a custom buffer.
 
int(*  start_frame )(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size)
  Called at the beginning of each frame or field picture.
 
int(*  decode_slice )(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size)
  Callback for each slice.
 
int(*  end_frame )(AVCodecContext *avctx)
  Called at the end of each frame or field picture.
 
  Size of per-frame hardware accelerator private data.
 
void(*  decode_mb )(struct MpegEncContext *s)
  Called for every Macroblock in a slice.
 
int(*  init )(AVCodecContext *avctx)
  Initialize the hwaccel private data.
 
int(*  uninit )(AVCodecContext *avctx)
  Uninitialize the hwaccel private data.
 
  Size of the private data to allocate in AVCodecInternal.hwaccel_priv_data.
 

Detailed Description

AVHWAccel.

Definition at line 3214 of file avcodec.h.

Field Documentation

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 3220 of file avcodec.h.

enum AVMediaType AVHWAccel::type

Type of codec implemented by the hardware accelerator.

See AVMEDIA_TYPE_xxx

Definition at line 3227 of file avcodec.h.

enum AVCodecID AVHWAccel::id

Codec implemented by the hardware accelerator.

See AV_CODEC_ID_xxx

Definition at line 3234 of file avcodec.h.

Referenced by find_hwaccel().

enum AVPixelFormat AVHWAccel::pix_fmt

Supported pixel format.

Only hardware accelerated formats are supported here.

Definition at line 3241 of file avcodec.h.

Referenced by find_hwaccel().

int AVHWAccel::capabilities

Hardware accelerated codec capabilities.

see FF_HWACCEL_CODEC_CAP_*

Definition at line 3247 of file avcodec.h.

struct AVHWAccel* AVHWAccel::next

Definition at line 3256 of file avcodec.h.

Referenced by av_hwaccel_next(), and av_register_hwaccel().

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

Allocate a custom buffer.

Definition at line 3261 of file avcodec.h.

Referenced by get_buffer_internal().

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 3277 of file avcodec.h.

Referenced by decode_nal_units(), ff_h263_decode_frame(), mpeg_field_start(), and vc1_decode_frame().

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. The only exception is XvMC, that works on MB level.

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 3291 of file avcodec.h.

Referenced by decode_nal_units(), decode_slice(), er_supported(), ff_er_add_slice(), mpeg_decode_slice(), and vc1_decode_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 3302 of file avcodec.h.

Referenced by ff_h263_decode_frame(), ff_h264_field_end(), mpeg_field_start(), slice_end(), and vc1_decode_frame().

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 3311 of file avcodec.h.

Referenced by alloc_frame_buffer(), and alloc_picture().

void(* AVHWAccel::decode_mb)(struct MpegEncContext *s)

Called for every Macroblock in a slice.

XvMC uses it to replace the ff_mpv_decode_mb(). Instead of decoding to raw picture, MB parameters are stored in an array provided by the video driver.

Parameters
s the mpeg context

Definition at line 3322 of file avcodec.h.

Referenced by ff_blockdsp_init_x86(), ff_er_frame_end(), is_intra_more_likely(), and mpv_decode_mb_internal().

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 3331 of file avcodec.h.

Referenced by ff_get_format().

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 3339 of file avcodec.h.

Referenced by avcodec_close(), and ff_get_format().

int AVHWAccel::priv_data_size

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

Definition at line 3345 of file avcodec.h.

Referenced by ff_get_format().


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

Generated on Sun Sep 14 2014 18:56:39 for FFmpeg by   doxygen 1.8.2

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