62 #if !defined(_O_THEORA_CODEC_H_)
63 # define _O_THEORA_CODEC_H_ (1)
66 #if defined(__cplusplus)
75 #define TH_EFAULT (-1)
77 #define TH_EINVAL (-10)
79 #define TH_EBADHEADER (-20)
81 #define TH_ENOTFORMAT (-21)
83 #define TH_EVERSION (-22)
85 #define TH_EIMPL (-23)
87 #define TH_EBADPACKET (-24)
91 #define TH_DUPFRAME (1)
411 ogg_uint16_t dc_scale[64];
413 ogg_uint16_t ac_scale[64];
415 unsigned char loop_filter_limits[64];
423 #define TH_NHUFFMAN_TABLES (80)
425 #define TH_NDCT_TOKENS (32)
587 #if defined(__cplusplus)
No chroma decimation (4:4:4).
Definition: codec.h:127
Chroma decimation by 2 in both the X and Y directions (4:2:0).
Definition: codec.h:118
ogg_uint32_t pic_y
The Y offset of the displayed picture.
Definition: codec.h:235
A complete set of quantization parameters.
Definition: codec.h:409
Theora bitstream information.
Definition: codec.h:204
ogg_uint32_t fps_numerator
Definition: codec.h:240
const th_quant_base * base_matrices
nranges +1 base matrices.
Definition: codec.h:349
ogg_uint32_t frame_width
The encoded frame width.
Definition: codec.h:214
A Huffman code for a Theora DCT token.
Definition: codec.h:438
int nbits
The number of bits in the code.
Definition: codec.h:444
void th_comment_add(th_comment *_tc, char *_comment)
Add a comment to an initialized th_comment structure.
int th_packet_iskeyframe(ogg_packet *_op)
Determines whether a theora packet is a key frame or not.
int target_bitrate
The target bit-rate in bits per second.
Definition: codec.h:262
void th_comment_add_tag(th_comment *_tc, char *_tag, char *_val)
Add a comment to an initialized th_comment structure.
unsigned char version_minor
Definition: codec.h:209
int quality
The target quality level.
Definition: codec.h:282
ogg_int64_t th_granule_frame(void *_encdec, ogg_int64_t _granpos)
Converts a granule position to an absolute frame index, starting at 0.
th_pixel_fmt pixel_fmt
The pixel format.
Definition: codec.h:258
ogg_uint32_t aspect_denominator
Definition: codec.h:253
ogg_uint32_t th_version_number(void)
Retrieves the library version number.
int nranges
The number of ranges in the set.
Definition: codec.h:343
unsigned char version_subminor
Definition: codec.h:210
int th_packet_isheader(ogg_packet *_op)
Determines whether a Theora packet is a header or not.
The total number of currently defined pixel formats.
Definition: codec.h:129
ogg_uint32_t pic_x
The X offset of the displayed picture.
Definition: codec.h:227
th_colorspace colorspace
The color space.
Definition: codec.h:256
The color space was not specified at the encoder.
Definition: codec.h:101
ogg_uint32_t frame_height
The encoded frame height.
Definition: codec.h:217
A set of qi ranges.
Definition: codec.h:341
void th_info_clear(th_info *_info)
Clears a th_info structure.
ogg_uint32_t pattern
The bit pattern for the code, with the LSbit of the pattern aligned in the LSbit of the word...
Definition: codec.h:441
const char * th_version_string(void)
Retrieves a human-readable string to identify the library vendor and version.
unsigned char * data
A pointer to the beginning of the first row.
Definition: codec.h:150
Chroma decimation by 2 in the X direction (4:2:2).
Definition: codec.h:124
th_img_plane th_ycbcr_buffer[3]
A complete image buffer for an uncompressed frame.
Definition: codec.h:168
void th_info_init(th_info *_info)
Initializes a th_info structure.
void th_comment_init(th_comment *_tc)
Initialize a th_comment structure.
th_pixel_fmt
The currently defined pixel format tags.
Definition: codec.h:114
ogg_uint32_t pic_width
The displayed picture width.
Definition: codec.h:220
ogg_uint32_t fps_denominator
Definition: codec.h:241
ogg_uint32_t pic_height
The displayed picture height.
Definition: codec.h:223
A buffer for a single color plane in an uncompressed image.
Definition: codec.h:142
void th_comment_clear(th_comment *_tc)
Clears a th_comment structure.
char * th_comment_query(th_comment *_tc, char *_tag, int _count)
Look up a comment value by its tag.
int height
The height of this plane.
Definition: codec.h:146
unsigned char th_quant_base[64]
A single base matrix.
Definition: codec.h:338
The total number of currently defined color spaces.
Definition: codec.h:107
int width
The width of this plane.
Definition: codec.h:144
const int * sizes
The size of each of the nranges ranges.
Definition: codec.h:346
int stride
The offset in bytes between successive rows.
Definition: codec.h:148
ogg_uint32_t aspect_numerator
Definition: codec.h:252
struct th_comment th_comment
The comment information.
th_colorspace
The currently defined color space tags.
Definition: codec.h:98
A color space designed for PAL/SECAM content.
Definition: codec.h:105
double th_granule_time(void *_encdec, ogg_int64_t _granpos)
Converts a granule position to an absolute time in seconds.
Currently reserved.
Definition: codec.h:120
int th_comment_query_count(th_comment *_tc, char *_tag)
Look up the number of instances of a tag.
unsigned char version_major
Definition: codec.h:208
A color space designed for NTSC content.
Definition: codec.h:103
int keyframe_granule_shift
The amount to shift to extract the last keyframe number from the granule position.
Definition: codec.h:296