Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00021 #if !defined(_O_THEORA_THEORAENC_H_)
00022 # define _O_THEORA_THEORAENC_H_ (1)
00023 # include <stddef.h>
00024 # include <ogg/ogg.h>
00025 # include "codec.h"
00026
00027 #if defined(__cplusplus)
00028 extern "C" {
00029 #endif
00030
00031
00032
00053 #define TH_ENCCTL_SET_HUFFMAN_CODES (0)
00054
00066 #define TH_ENCCTL_SET_QUANT_PARAMS (2)
00067
00079 #define TH_ENCCTL_SET_KEYFRAME_FREQUENCY_FORCE (4)
00080
00107 #define TH_ENCCTL_SET_VP3_COMPATIBLE (10)
00108
00121 #define TH_ENCCTL_GET_SPLEVEL_MAX (12)
00122
00135 #define TH_ENCCTL_SET_SPLEVEL (14)
00136
00149 #define TH_ENCCTL_GET_SPLEVEL (16)
00150
00175 #define TH_ENCCTL_SET_DUP_COUNT (18)
00176
00195 #define TH_ENCCTL_SET_RATE_FLAGS (20)
00196
00221 #define TH_ENCCTL_SET_RATE_BUFFER (22)
00222
00251 #define TH_ENCCTL_2PASS_OUT (24)
00252
00297 #define TH_ENCCTL_2PASS_IN (26)
00298
00313 #define TH_ENCCTL_SET_QUALITY (28)
00314
00334 #define TH_ENCCTL_SET_BITRATE (30)
00335
00374 #define TH_ENCCTL_SET_COMPAT_CONFIG (32)
00375
00386 #define TH_RATECTL_DROP_FRAMES (0x1)
00387
00394 #define TH_RATECTL_CAP_OVERFLOW (0x2)
00395
00401 #define TH_RATECTL_CAP_UNDERFLOW (0x4)
00402
00407 extern const th_quant_info TH_VP31_QUANT_INFO;
00408
00410 extern const th_huff_code
00411 TH_VP31_HUFF_CODES[TH_NHUFFMAN_TABLES][TH_NDCT_TOKENS];
00412
00413
00414
00422 typedef struct th_enc_ctx th_enc_ctx;
00452 extern th_enc_ctx *th_encode_alloc(const th_info *_info);
00461 extern int th_encode_ctl(th_enc_ctx *_enc,int _req,void *_buf,size_t _buf_sz);
00479 extern int th_encode_flushheader(th_enc_ctx *_enc,
00480 th_comment *_comments,ogg_packet *_op);
00503 extern int th_encode_ycbcr_in(th_enc_ctx *_enc,th_ycbcr_buffer _ycbcr);
00527 extern int th_encode_packetout(th_enc_ctx *_enc,int _last,ogg_packet *_op);
00530 extern void th_encode_free(th_enc_ctx *_enc);
00533
00534
00535
00536 #if defined(__cplusplus)
00537 }
00538 #endif
00539
00540 #endif