Classes | Defines | Typedefs | Enumerations | Functions

vpx_codec.h File Reference

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

#include "vpx_integer.h"
#include "vpx_image.h"
Include dependency graph for vpx_codec.h:
This graph shows which files directly or indirectly include this file:


struct  vpx_codec_ctx
 Codec context structure. More...
struct  vpx_codec_mmap
 Memory Map Entry. More...


 Decorator indicating a function is deprecated.
#define UNUSED
 Decorator indicating a function is potentially unused.
 Current ABI version number.
 Is a decoder.
 Is an encoder.
#define VPX_CODEC_CAP_XMA   0x4
 Supports e_xternal Memory Allocation.
#define VPX_CODEC_USE_XMA   0x00000001
 Use e_xternal Memory Allocation mode.
#define VPX_VERSION_MAJOR(v)   ((v>>16)&0xff)
 extract major from packed version
#define VPX_VERSION_MINOR(v)   ((v>>8)&0xff)
 extract minor from packed version
#define VPX_VERSION_PATCH(v)   ((v>>0)&0xff)
 extract patch from packed version
#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 minr 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
#define VPX_CTRL_USE_TYPE(id, typ)
 vpx_codec_control type definition macro
 vpx_codec_control deprecated type definition macro
#define VPX_CTRL_VOID(id)
 vpx_codec_control void type definition macro
#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.


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


enum  vpx_codec_err_t {

Algorithm return codes.



int vpx_codec_version (void)
 Return the version information (as an integer).
const char * vpx_codec_version_str (void)
 Return the version information (as a string).
const char * vpx_codec_version_extra_str (void)
 Return the version information (as a string).
const char * vpx_codec_build_config (void)
 Return the build configuration.
const char * vpx_codec_iface_name (vpx_codec_iface_t *iface)
 Return the name for a given interface.
const char * vpx_codec_err_to_string (vpx_codec_err_t err)
 Convert error number to printable string.
const char * vpx_codec_error (vpx_codec_ctx_t *ctx)
 Retrieve error synopsis for codec context.
const char * vpx_codec_error_detail (vpx_codec_ctx_t *ctx)
 Retrieve detailed error information for codec context.
vpx_codec_err_t vpx_codec_destroy (vpx_codec_ctx_t *ctx)
 Destroy a codec instance.
vpx_codec_caps_t vpx_codec_get_caps (vpx_codec_iface_t *iface)
 Get the capabilities of an algorithm.
vpx_codec_err_t vpx_codec_control_ (vpx_codec_ctx_t *ctx, int ctrl_id,...)
 Control algorithm.
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.
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.

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:

       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.

Define Documentation

#define VPX_CODEC_MEM_FAST   0x4

Place in fast memory, if available.

#define VPX_CODEC_MEM_WRONLY   0x2

Segment need not be readable.

#define VPX_CODEC_MEM_ZERO   0x1

Segment must be zeroed by allocation.