WebM VP8 Codec SDK: vpx/vpx_codec.h File Reference

WebM VP8 Codec SDK

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

Data Structures | Macros | Typedefs | Enumerations | Functions
vpx_codec.h File Reference
Common Algorithm Interface

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

`#include "vpx_integer.h"`
`#include "vpx_image.h"`

Go to the source code of this file.

## Data Structures
struct | vpx_codec_ctx
| Codec context structure. More...
struct | vpx_codec_mmap
| Memory Map Entry. More...

## Macros
#define | DEPRECATED
| Decorator indicating a function is deprecated.
#define | DECLSPEC_DEPRECATED
| Decorator indicating a function is deprecated. More...
#define | UNUSED
| Decorator indicating a function is potentially unused.
#define | VPX_CODEC_ABI_VERSION
| Current ABI version number.
#define | VPX_CODEC_CAP_DECODER 0x1
#define | VPX_CODEC_CAP_ENCODER 0x2
#define | VPX_CODEC_CAP_XMA 0x4
#define | VPX_CODEC_USE_XMA 0x00000001
#define | VPX_VERSION_MAJOR(v) ((v>>16)&0xff)
#define | VPX_VERSION_MINOR(v) ((v>>8)&0xff)
#define | VPX_VERSION_PATCH(v) ((v>>0)&0xff)
#define | vpx_codec_version_major() ((vpx_codec_version()>>16)&0xff)
| Return the version major number.
#define | vpx_codec_version_minor() ((vpx_codec_version()>>8)&0xff)
| Return the version minor number.
#define | vpx_codec_version_patch() ((vpx_codec_version()>>0)&0xff)
| Return the version patch number.
#define | vpx_codec_control(ctx, id, data)
| vpx_codec_control wrapper macro More...
#define | VPX_CTRL_USE_TYPE(id, typ)
| vpx_codec_control type definition macro More...
#define | VPX_CTRL_USE_TYPE_DEPRECATED(id, typ)
| vpx_codec_control deprecated type definition macro More...
#define | VPX_CTRL_VOID(id)
| vpx_codec_control void type definition macro More...
#define | VPX_CODEC_MEM_ZERO 0x1
#define | VPX_CODEC_MEM_WRONLY 0x2
#define | VPX_CODEC_MEM_FAST 0x4

## Typedefs
typedef long | vpx_codec_caps_t
| Codec capabilities bitfield. More...
typedef long | vpx_codec_flags_t
| Initialization-time Feature Enabling. More...
typedef const struct vpx_codec_iface | vpx_codec_iface_t
| Codec interface structure. More...
typedef struct vpx_codec_priv | vpx_codec_priv_t
| Codec private data structure. More...
typedef const void * | vpx_codec_iter_t
| Iterator. More...
typedef struct vpx_codec_ctx | vpx_codec_ctx_t
| Codec context structure. More...
typedef struct vpx_codec_mmap | vpx_codec_mmap_t
| Memory Map Entry. More...

## Enumerations
enum | vpx_codec_err_t { VPX_CODEC_OK, VPX_CODEC_ERROR, VPX_CODEC_MEM_ERROR, VPX_CODEC_ABI_MISMATCH, VPX_CODEC_INCAPABLE, VPX_CODEC_UNSUP_BITSTREAM, VPX_CODEC_UNSUP_FEATURE, VPX_CODEC_CORRUPT_FRAME, VPX_CODEC_INVALID_PARAM, VPX_CODEC_LIST_END }
| Algorithm return codes. More...

## Functions
int | vpx_codec_version (void)
| Return the version information (as an integer) More...
const char * | vpx_codec_version_str (void)
| Return the version information (as a string) More...
const char * | vpx_codec_version_extra_str (void)
| Return the version information (as a string) More...
const char * | vpx_codec_build_config (void)
| Return the build configuration. More...
const char * | vpx_codec_iface_name (vpx_codec_iface_t *iface)
| Return the name for a given interface. More...
const char * | vpx_codec_err_to_string (vpx_codec_err_t err)
| Convert error number to printable string. More...
const char * | vpx_codec_error (vpx_codec_ctx_t *ctx)
| Retrieve error synopsis for codec context. More...
const char * | vpx_codec_error_detail (vpx_codec_ctx_t *ctx)
| Retrieve detailed error information for codec context. More...
vpx_codec_err_t | vpx_codec_destroy (vpx_codec_ctx_t *ctx)
| Destroy a codec instance. More...
vpx_codec_caps_t | vpx_codec_get_caps (vpx_codec_iface_t *iface)
| Get the capabilities of an algorithm. More...
vpx_codec_err_t | vpx_codec_control_ (vpx_codec_ctx_t *ctx, int ctrl_id,...)
| Control algorithm. More...
vpx_codec_err_t | vpx_codec_get_mem_map (vpx_codec_ctx_t *ctx, vpx_codec_mmap_t *mmap, vpx_codec_iter_t *iter)
| Iterate over the list of segments to allocate. More...
vpx_codec_err_t | vpx_codec_set_mem_map (vpx_codec_ctx_t *ctx, vpx_codec_mmap_t *mmaps, unsigned int num_maps)
| Identify allocated segments to codec instance. More...

## Detailed Description

Describes the codec algorithm interface to applications.

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

An application instantiates a specific codec instance by using vpx_codec_init() and a pointer to the algorithm's interface structure:

        my_app.c:
          extern vpx_codec_iface_t my_codec;
          {
              vpx_codec_ctx_t algo;
              res = vpx_codec_init(&algo, &my_codec);
          }

Once initialized, the instance is manged using other functions from the vpx_codec_* family.

## Macro Definition Documentation

#define VPX_CODEC_MEM_ZERO 0x1

Segment must be zeroed by allocation

#define VPX_CODEC_MEM_WRONLY 0x2

Segment need not be readable

#define VPX_CODEC_MEM_FAST 0x4

Place in fast memory, if available