20#if !defined(OGG_THEORA_THEORAENC_HEADER) 
   21# define OGG_THEORA_THEORAENC_HEADER (1) 
   26#if defined(__cplusplus) 
   52#define TH_ENCCTL_SET_HUFFMAN_CODES (0) 
   65#define TH_ENCCTL_SET_QUANT_PARAMS (2) 
   78#define TH_ENCCTL_SET_KEYFRAME_FREQUENCY_FORCE (4) 
  106#define TH_ENCCTL_SET_VP3_COMPATIBLE (10) 
  120#define TH_ENCCTL_GET_SPLEVEL_MAX (12) 
  134#define TH_ENCCTL_SET_SPLEVEL (14) 
  148#define TH_ENCCTL_GET_SPLEVEL (16) 
  174#define TH_ENCCTL_SET_DUP_COUNT (18) 
  194#define TH_ENCCTL_SET_RATE_FLAGS (20) 
  220#define TH_ENCCTL_SET_RATE_BUFFER (22) 
  250#define TH_ENCCTL_2PASS_OUT (24) 
  296#define TH_ENCCTL_2PASS_IN (26) 
  312#define TH_ENCCTL_SET_QUALITY (28) 
  337#define TH_ENCCTL_SET_BITRATE (30) 
  377#define TH_ENCCTL_SET_COMPAT_CONFIG (32) 
  390#define TH_RATECTL_DROP_FRAMES   (0x1) 
  398#define TH_RATECTL_CAP_OVERFLOW  (0x2) 
  405#define TH_RATECTL_CAP_UNDERFLOW (0x4) 
  543#if defined(__cplusplus) 
The shared libtheoradec and libtheoraenc C API.
#define TH_NDCT_TOKENS
The number of DCT token values in each table.
Definition: codec.h:427
th_img_plane th_ycbcr_buffer[3]
A complete image buffer for an uncompressed frame.
Definition: codec.h:170
#define TH_NHUFFMAN_TABLES
The number of Huffman tables used by Theora.
Definition: codec.h:425
A Huffman code for a Theora DCT token.
Definition: codec.h:440
Theora bitstream information.
Definition: codec.h:206
A complete set of quantization parameters.
Definition: codec.h:411
void th_encode_free(th_enc_ctx *_enc)
Frees an allocated encoder instance.
int th_encode_ctl(th_enc_ctx *_enc, int _req, void *_buf, size_t _buf_sz)
Encoder control function.
const th_quant_info TH_VP31_QUANT_INFO
The quantization parameters used by VP3.
int th_encode_flushheader(th_enc_ctx *_enc, th_comment *_comments, ogg_packet *_op)
Outputs the next header packet.
int th_encode_packetout(th_enc_ctx *_enc, int _last, ogg_packet *_op)
Retrieves encoded video data packets.
th_enc_ctx * th_encode_alloc(const th_info *_info)
Allocates an encoder instance.
int th_encode_ycbcr_in(th_enc_ctx *_enc, th_ycbcr_buffer _ycbcr)
Submits an uncompressed frame to the encoder.
const th_huff_code TH_VP31_HUFF_CODES[TH_NHUFFMAN_TABLES][TH_NDCT_TOKENS]
The Huffman tables used by VP3.
struct th_enc_ctx th_enc_ctx
The encoder context.
Definition: theoraenc.h:426