World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
Структура AVHWAccel

#include <avcodec.h>

Открытые атрибуты

const char * name
 
enum AVMediaType type
 
enum AVCodecID id
 
enum AVPixelFormat pix_fmt
 
int capabilities
 
int(* alloc_frame )(AVCodecContext *avctx, AVFrame *frame)
 
int(* start_frame )(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size)
 
int(* decode_params )(AVCodecContext *avctx, int type, const uint8_t *buf, uint32_t buf_size)
 
int(* decode_slice )(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size)
 
int(* end_frame )(AVCodecContext *avctx)
 
int frame_priv_data_size
 
void(* decode_mb )(struct MpegEncContext *s)
 
int(* init )(AVCodecContext *avctx)
 
int(* uninit )(AVCodecContext *avctx)
 
int priv_data_size
 
int caps_internal
 
int(* frame_params )(AVCodecContext *avctx, AVBufferRef *hw_frames_ctx)
 

Подробное описание

См. определение в файле avcodec.h строка 3649

Данные класса

◆ 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).

См. определение в файле avcodec.h строка 3655

◆ type

enum AVMediaType AVHWAccel::type

Type of codec implemented by the hardware accelerator.

See AVMEDIA_TYPE_xxx

См. определение в файле avcodec.h строка 3662

◆ id

enum AVCodecID AVHWAccel::id

Codec implemented by the hardware accelerator.

See AV_CODEC_ID_xxx

См. определение в файле avcodec.h строка 3669

◆ pix_fmt

enum AVPixelFormat AVHWAccel::pix_fmt

Supported pixel format.

Only hardware accelerated formats are supported here.

См. определение в файле avcodec.h строка 3676

◆ capabilities

int AVHWAccel::capabilities

Hardware accelerated codec capabilities. see AV_HWACCEL_CODEC_CAP_*

См. определение в файле avcodec.h строка 3682

◆ alloc_frame

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

Allocate a custom buffer

См. определение в файле avcodec.h строка 3695

◆ 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.

Аргументы
avctxthe codec context
bufthe frame data buffer base
buf_sizethe size of the frame in bytes
Возвращает
zero if successful, a negative value otherwise

См. определение в файле avcodec.h строка 3711

◆ 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.

Аргументы
avctxthe codec context
typethe nal unit type
bufthe nal unit data buffer
buf_sizethe size of the nal unit in bytes
Возвращает
zero if successful, a negative value otherwise

См. определение в файле avcodec.h строка 3725

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

Аргументы
avctxthe codec context
bufthe slice data buffer base
buf_sizethe size of the slice in bytes
Возвращает
zero if successful, a negative value otherwise

См. определение в файле avcodec.h строка 3739

◆ 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.

Аргументы
avctxthe codec context
Возвращает
zero if successful, a negative value otherwise

См. определение в файле avcodec.h строка 3750

◆ 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().

См. определение в файле avcodec.h строка 3759

◆ decode_mb

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

Called for every Macroblock in a slice.

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

Аргументы
sthe mpeg context

См. определение в файле avcodec.h строка 3770

◆ 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.

См. определение в файле avcodec.h строка 3779

◆ 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.

См. определение в файле avcodec.h строка 3787

◆ priv_data_size

int AVHWAccel::priv_data_size

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

См. определение в файле avcodec.h строка 3793

◆ caps_internal

int AVHWAccel::caps_internal

Internal hwaccel capabilities.

См. определение в файле avcodec.h строка 3798

◆ 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.

См. определение в файле avcodec.h строка 3808


Объявления и описания членов структуры находятся в файле: