WebM Codec SDK

Data Structures | Macros | Typedefs | Functions
vpx_decoder.h File Reference
Common Algorithm Interface » Decoder Algorithm Interface

Describes the decoder algorithm interface to applications. More...

`#include "./vpx_codec.h"`
`#include "./vpx_frame_buffer.h"`

Go to the source code of this file.

## Data Structures
struct | vpx_codec_stream_info
| Stream properties. More...
struct | vpx_codec_dec_cfg
| Initialization Configurations. More...

## Macros
#define | VPX_DECODER_ABI_VERSION
| Current ABI version number.
#define | VPX_CODEC_CAP_PUT_SLICE 0x10000
| Decoder capabilities bitfield.
#define | VPX_CODEC_CAP_PUT_FRAME 0x20000
#define | VPX_CODEC_CAP_POSTPROC 0x40000
#define | VPX_CODEC_CAP_ERROR_CONCEALMENT 0x80000
| Can conceal errors due to packet loss.
#define | VPX_CODEC_CAP_INPUT_FRAGMENTS 0x100000
| Can receive encoded frames one fragment at a time.
#define | VPX_CODEC_CAP_FRAME_THREADING 0x200000
| Can support frame-based multi-threading.
#define | VPX_CODEC_CAP_EXTERNAL_FRAME_BUFFER 0x400000
| Can support external frame buffers.
#define | VPX_CODEC_USE_POSTPROC 0x10000
| Initialization-time Feature Enabling.
#define | VPX_CODEC_USE_ERROR_CONCEALMENT 0x20000
| Conceal errors in decoded frames.
#define | VPX_CODEC_USE_INPUT_FRAGMENTS 0x40000
| The input frame should be passed to the decoder one fragment at a time.
#define | VPX_CODEC_USE_FRAME_THREADING 0x80000
| Enable frame-based multi-threading.
#define | vpx_codec_dec_init(ctx, iface, cfg, flags)
| Convenience macro for vpx_codec_dec_init_ver().

## Typedefs
typedef struct vpx_codec_stream_info | vpx_codec_stream_info_t
| Stream properties.
typedef struct vpx_codec_dec_cfg | vpx_codec_dec_cfg_t
| Initialization Configurations.
typedef void(* | vpx_codec_put_frame_cb_fn_t) (void *user_priv, const vpx_image_t *img)
| put frame callback prototype
typedef void(* | vpx_codec_put_slice_cb_fn_t) (void *user_priv, const vpx_image_t *img, const vpx_image_rect_t *valid, const vpx_image_rect_t *update)
| put slice callback prototype

## Functions
vpx_codec_err_t | vpx_codec_dec_init_ver (vpx_codec_ctx_t *ctx, vpx_codec_iface_t *iface, const vpx_codec_dec_cfg_t *cfg, vpx_codec_flags_t flags, int ver)
| Initialize a decoder instance.
vpx_codec_err_t | vpx_codec_peek_stream_info (vpx_codec_iface_t *iface, const uint8_t *data, unsigned int data_sz, vpx_codec_stream_info_t *si)
| Parse stream info from a buffer.
vpx_codec_err_t | vpx_codec_get_stream_info (vpx_codec_ctx_t *ctx, vpx_codec_stream_info_t *si)
| Return information about the current stream.
vpx_codec_err_t | vpx_codec_decode (vpx_codec_ctx_t *ctx, const uint8_t *data, unsigned int data_sz, void *user_priv, long deadline)
| Decode data.
vpx_image_t * | vpx_codec_get_frame (vpx_codec_ctx_t *ctx, vpx_codec_iter_t *iter)
| Decoded frames iterator.
vpx_codec_err_t | vpx_codec_register_put_frame_cb (vpx_codec_ctx_t *ctx, vpx_codec_put_frame_cb_fn_t cb, void *user_priv)
| Register for notification of frame completion.
vpx_codec_err_t | vpx_codec_register_put_slice_cb (vpx_codec_ctx_t *ctx, vpx_codec_put_slice_cb_fn_t cb, void *user_priv)
| Register for notification of slice completion.
vpx_codec_err_t | vpx_codec_set_frame_buffer_functions (vpx_codec_ctx_t *ctx, vpx_get_frame_buffer_cb_fn_t cb_get, vpx_release_frame_buffer_cb_fn_t cb_release, void *cb_priv)
| Pass in external frame buffers for the decoder to use.

## Detailed Description

Describes the decoder algorithm interface to applications.

This file describes the interface between an application and a video decoder algorithm.