#include <theora.h>
Data Fields | |
ogg_uint32_t | width |
ogg_uint32_t | height |
ogg_uint32_t | frame_width |
ogg_uint32_t | frame_height |
ogg_uint32_t | offset_x |
ogg_uint32_t | offset_y |
ogg_uint32_t | fps_numerator |
ogg_uint32_t | fps_denominator |
ogg_uint32_t | aspect_numerator |
ogg_uint32_t | aspect_denominator |
theora_colorspace | colorspace |
int | target_bitrate |
int | quality |
Nominal quality setting, 0-63. | |
int | quick_p |
Quick encode/decode. | |
unsigned char | version_major |
unsigned char | version_minor |
unsigned char | version_subminor |
void * | codec_setup |
int | dropframes_p |
int | keyframe_auto_p |
ogg_uint32_t | keyframe_frequency |
ogg_uint32_t | keyframe_frequency_force |
ogg_uint32_t | keyframe_data_target_bitrate |
ogg_int32_t | keyframe_auto_threshold |
ogg_uint32_t | keyframe_mindistance |
ogg_int32_t | noise_sensitivity |
ogg_int32_t | sharpness |
theora_pixelformat | pixelformat |
Contains the basic playback parameters for a stream, corresponds to the initial 'info' header packet.
Encoded theora frames must be a multiple of 16 is size; this is what the width and height members represent. To handle other sizes, a crop rectangle is specified in frame_height and frame_width, offset_x and offset_y. The offset and size should still be a power of 2 to avoid chroma sampling shifts.
Frame rate, in frames per second is stored as a rational fraction. So is the aspect ratio. Note that this refers to the aspect ratio of the frame pixels, not of the overall frame itself.
see the example code for use of the other parameters and good default settings for the encoder parameters.