libtheora: libtheora

libtheora 1.2.0

libtheora

# Introduction

This is the documentation for the `libtheora` C API.

The `libtheora` package is 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 divided between two separate libraries:

- `libtheoraenc` contains the encoder interface, described in Functions for Encoding.
- `libtheoradec` contains the decoder interface, described in Functions for Decoding,
  and additional Functions Shared by Encode and Decode.

New code should link to `libtheoradec`. If using encoder features, it must also link to `libtheoraenc`.

During initial development, prior to the 1.0 release, `libtheora` exported a different Legacy pre-1.0 C API which combined both encode and decode functions. In general, legacy API symbols can be identified by their `theora_` or `OC_` namespace prefixes. The current API uses `th_` or `TH_` instead.

While deprecated, `libtheoraenc` and `libtheoradec` together export the legacy api as well at the one documented above. Likewise, the legacy `libtheora` included with this package exports the new 1.x API. Older code and build scripts can therefore but updated independently to the current scheme.