Libav
|
#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... | |
enum AVPixelFormat | pix_fmt |
Supported pixel format. More... | |
int | capabilities |
Hardware accelerated codec capabilities. More... | |
struct AVHWAccel * | next |
int(* | alloc_frame )(AVCodecContext *avctx, AVFrame *frame) |
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_slice )(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size) |
Callback for each slice. More... | |
int(* | end_frame )(AVCodecContext *avctx) |
Called at the end of each frame or field picture. More... | |
int | frame_priv_data_size |
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... | |
int | priv_data_size |
Size of the private data to allocate in AVCodecInternal.hwaccel_priv_data. More... | |
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 3244 of file avcodec.h.
Referenced by dxva2_h264_end_frame(), dxva2_hevc_end_frame(), dxva2_mpeg2_end_frame(), dxva2_vc1_end_frame(), vaapi_mpeg4_decode_slice(), vaapi_vc1_decode_slice(), vdpau_mpeg_decode_slice(), and vdpau_vc1_init().
enum AVMediaType AVHWAccel::type |
enum AVCodecID AVHWAccel::id |
Codec implemented by the hardware accelerator.
See AV_CODEC_ID_xxx
Definition at line 3258 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 3265 of file avcodec.h.
Referenced by find_hwaccel().
int AVHWAccel::capabilities |
struct AVHWAccel* AVHWAccel::next |
Definition at line 3280 of file avcodec.h.
Referenced by av_hwaccel_next(), and av_register_hwaccel().
int(* AVHWAccel::alloc_frame) (AVCodecContext *avctx, AVFrame *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.
avctx | the codec context |
buf | the frame data buffer base |
buf_size | the size of the frame in bytes |
Definition at line 3301 of file avcodec.h.
Referenced by decode_nal_unit(), ff_h263_decode_frame(), h264_field_start(), 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.
avctx | the codec context |
buf | the slice data buffer base |
buf_size | the size of the slice in bytes |
Definition at line 3314 of file avcodec.h.
Referenced by decode_nal_unit(), decode_nal_units(), decode_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.
avctx | the codec context |
Definition at line 3325 of file avcodec.h.
Referenced by ff_h263_decode_frame(), ff_h264_field_end(), hevc_decode_frame(), 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 3334 of file avcodec.h.
Referenced by alloc_frame(), alloc_frame_buffer(), and alloc_picture().
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 3343 of file avcodec.h.
Referenced by ff_vdpau_common_reinit(), and setup_hwaccel().
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 3351 of file avcodec.h.
Referenced by avcodec_close(), ff_get_format(), and ff_vdpau_common_reinit().
int AVHWAccel::priv_data_size |
Size of the private data to allocate in AVCodecInternal.hwaccel_priv_data.
Definition at line 3357 of file avcodec.h.
Referenced by setup_hwaccel().