libtheora  1.1.1
theoraenc.h
Go to the documentation of this file.
1 /********************************************************************
2  * *
3  * THIS FILE IS PART OF THE OggTheora SOFTWARE CODEC SOURCE CODE. *
4  * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
5  * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
6  * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
7  * *
8  * THE Theora SOURCE CODE IS COPYRIGHT (C) 2002-2009 *
9  * by the Xiph.Org Foundation http://www.xiph.org/ *
10  * *
11  ********************************************************************
12 
13  function:
14  last mod: $Id: theora.h,v 1.8 2004/03/15 22:17:32 derf Exp $
15 
16  ********************************************************************/
17 
21 #if !defined(_O_THEORA_THEORAENC_H_)
22 # define _O_THEORA_THEORAENC_H_ (1)
23 # include <stddef.h>
24 # include <ogg/ogg.h>
25 # include "codec.h"
26 
27 #if defined(__cplusplus)
28 extern "C" {
29 #endif
30 
31 
32 
53 #define TH_ENCCTL_SET_HUFFMAN_CODES (0)
54 
66 #define TH_ENCCTL_SET_QUANT_PARAMS (2)
67 
79 #define TH_ENCCTL_SET_KEYFRAME_FREQUENCY_FORCE (4)
80 
107 #define TH_ENCCTL_SET_VP3_COMPATIBLE (10)
108 
121 #define TH_ENCCTL_GET_SPLEVEL_MAX (12)
122 
135 #define TH_ENCCTL_SET_SPLEVEL (14)
136 
149 #define TH_ENCCTL_GET_SPLEVEL (16)
150 
175 #define TH_ENCCTL_SET_DUP_COUNT (18)
176 
195 #define TH_ENCCTL_SET_RATE_FLAGS (20)
196 
221 #define TH_ENCCTL_SET_RATE_BUFFER (22)
222 
251 #define TH_ENCCTL_2PASS_OUT (24)
252 
297 #define TH_ENCCTL_2PASS_IN (26)
298 
313 #define TH_ENCCTL_SET_QUALITY (28)
314 
334 #define TH_ENCCTL_SET_BITRATE (30)
335 
346 #define TH_RATECTL_DROP_FRAMES (0x1)
347 
354 #define TH_RATECTL_CAP_OVERFLOW (0x2)
355 
361 #define TH_RATECTL_CAP_UNDERFLOW (0x4)
362 
367 extern const th_quant_info TH_VP31_QUANT_INFO;
368 
370 extern const th_huff_code
372 
373 
374 
382 typedef struct th_enc_ctx th_enc_ctx;
412 extern th_enc_ctx *th_encode_alloc(const th_info *_info);
421 extern int th_encode_ctl(th_enc_ctx *_enc,int _req,void *_buf,size_t _buf_sz);
439 extern int th_encode_flushheader(th_enc_ctx *_enc,
440  th_comment *_comments,ogg_packet *_op);
449 extern int th_encode_ycbcr_in(th_enc_ctx *_enc,th_ycbcr_buffer _ycbcr);
473 extern int th_encode_packetout(th_enc_ctx *_enc,int _last,ogg_packet *_op);
476 extern void th_encode_free(th_enc_ctx *_enc);
479 
480 
481 
482 #if defined(__cplusplus)
483 }
484 #endif
485 
486 #endif