# libtheora Documentation

### 1.1.0+svn

## Introduction

This is the documentation for `libtheora` C API. The current reference implementation for Theora, a free, patent-unencumbered video codec. Theora is derived from On2's VP3 codec with additional features and integration with Ogg multimedia formats by the Xiph.Org Foundation. Complete documentation of the format itself is available in the Theora specification.

### Organization

The functions documented here are actually subdivided into three separate libraries:

- `libtheoraenc` contains the encoder interface, described in Functions for Encoding.
- `libtheoradec` contains the decoder interface and routines shared with the encoder. You must also link to this if you link to `libtheoraenc`. The routines in this library are described in Functions for Decoding and Functions Shared by Encode and Decode.
- `libtheora` contains the Legacy pre-1.0 C API.

New code should link to `libtheoradec` and, if using encoder features, `libtheoraenc`. Together these two export both the standard and the legacy API, so this is all that is needed by any code. The older `libtheora` library is provided just for compatibility with older build configurations.

In general the recommended 1.x API symbols can be distinguished by their `th_` or `TH_` namespace prefix. The older, legacy API uses `theora_` or `OC_` prefixes instead.