Logo Search packages:      
Sourcecode: libtheora version File versions  Download package

theoraenc.h File Reference

Detailed Description

The libtheoraenc C encoding API.

Definition in file theoraenc.h.

#include <stddef.h>
#include <ogg/ogg.h>
#include "codec.h"

Go to the source code of this file.


#define _O_THEORA_THEORAENC_H_   (1)
th_encode_ctl() codes
These are the available request codes for th_encode_ctl(). By convention, these are even, to distinguish them from the decoder control codes. Keep any experimental or vendor-specific values above 0x8000.

#define TH_ENCCTL_2PASS_IN   (26)
#define TH_ENCCTL_2PASS_OUT   (24)
#define TH_ENCCTL_GET_SPLEVEL   (16)
#define TH_ENCCTL_SET_BITRATE   (30)
#define TH_ENCCTL_SET_DUP_COUNT   (18)
#define TH_ENCCTL_SET_QUALITY   (28)
#define TH_ENCCTL_SET_SPLEVEL   (14)
These are the flags available for use with TH_ENCCTL_SET_RATE_FLAGS.

#define TH_RATECTL_DROP_FRAMES   (0x1)


Encoder state
The following data structure is opaque, and its contents are not publicly defined by this API. Referring to its internals directly is unsupported, and may break without warning.

typedef struct th_enc_ctx th_enc_ctx


Functions for encoding
You must link to libtheoraenc and libtheoradec if you use any of the functions in this section.

The functions are listed in the order they are used in a typical encode. The basic steps are:

th_enc_ctxth_encode_alloc (const th_info *_info)
int th_encode_ctl (th_enc_ctx *_enc, int _req, void *_buf, size_t _buf_sz)
int th_encode_flushheader (th_enc_ctx *_enc, th_comment *_comments, ogg_packet *_op)
void th_encode_free (th_enc_ctx *_enc)
int th_encode_packetout (th_enc_ctx *_enc, int _last, ogg_packet *_op)
int th_encode_ycbcr_in (th_enc_ctx *_enc, th_ycbcr_buffer _ycbcr)


const th_quant_info TH_VP31_QUANT_INFO

Generated by  Doxygen 1.6.0   Back to index