public interface TheoraLibrary extends XiphLibrary
Modifier and Type | Interface and Description |
---|---|
static class |
TheoraLibrary.theora_comment
Comment header metadata.
|
static class |
TheoraLibrary.theora_info
Theora bitstream info.
|
static class |
TheoraLibrary.theora_state
Codec internal state and context.
|
static class |
TheoraLibrary.yuv_buffer
A YUV buffer for passing uncompressed frames to and from the codec.
|
XiphLibrary.ogg_packet
Modifier and Type | Field and Description |
---|---|
static TheoraLibrary |
INSTANCE |
static int |
OC_BADHEADER
< Requested action is disabled
|
static int |
OC_BADPACKET
< Feature or action not implemented
|
static int |
OC_CS_ITU_REC_470BG
< This is the best option for 'NTSC' content
|
static int |
OC_CS_ITU_REC_470M
< The colorspace is unknown or unspecified
|
static int |
OC_CS_NSPACES
< This is the best option for 'PAL' content
|
static int |
OC_CS_UNSPECIFIED
A Colorspace.
|
static int |
OC_DISABLED
< Library encountered invalid internal data
|
static int |
OC_DUPFRAME
< Packet is an (ignorable) unhandled extension
|
static int |
OC_EINVAL
< General failure
|
static int |
OC_FAULT |
static int |
OC_IMPL
< Bitstream version is not handled
|
static int |
OC_NEWPACKET
< Packet is corrupt
|
static int |
OC_NOTFORMAT
< Header packet was corrupt/invalid
|
static int |
OC_PF_420
A Chroma subsampling
These enumerate the available chroma subsampling options supported
by the theora format.
|
static int |
OC_PF_422
< Reserved value
|
static int |
OC_PF_444
< Horizonatal chroma subsampling by 2 (4:2:2)
|
static int |
OC_PF_RSVD
< Chroma subsampling by 2 in each direction (4:2:0)
|
static int |
OC_VERSION
< Packet is not a theora packet
|
Modifier and Type | Method and Description |
---|---|
void |
theora_clear(TheoraLibrary.theora_state t)
Free all internal data associated with a theora_state handle.
|
void |
theora_comment_add_tag(TheoraLibrary.theora_comment tc,
com.sun.jna.Pointer tag,
com.sun.jna.Pointer value)
Add a comment to an initialized theora_comment structure.
|
void |
theora_comment_add(TheoraLibrary.theora_comment tc,
com.sun.jna.Pointer comment)
Add a comment to an initialized theora_comment structure
\param tc A previously initialized theora comment structure
\param comment A null-terminated string encoding the comment in the form
"TAG=the value"
Neither theora_comment_add() nor theora_comment_add_tag() support
comments containing null values, although the bitstream format
supports this.
|
void |
theora_comment_clear(TheoraLibrary.theora_comment tc)
Clear an allocated theora_comment struct so that it can be freed.
|
void |
theora_comment_init(TheoraLibrary.theora_comment tc)
Initialize an allocated theora_comment structure
\param tc An allocated theora_comment structure
|
int |
theora_comment_query_count(TheoraLibrary.theora_comment tc,
com.sun.jna.Pointer tag)
Look up the number of instances of a tag.
|
com.sun.jna.Pointer |
theora_comment_query(TheoraLibrary.theora_comment tc,
com.sun.jna.Pointer tag,
int count)
Look up a comment value by tag.
|
int |
theora_decode_header(TheoraLibrary.theora_info ci,
TheoraLibrary.theora_comment cc,
XiphLibrary.ogg_packet op)
Decode an Ogg packet, with the expectation that the packet contains
an initial header, comment data or codebook tables.
|
int |
theora_decode_init(TheoraLibrary.theora_state th,
TheoraLibrary.theora_info c)
Initialize a theora_state handle for decoding.
|
int |
theora_decode_packetin(TheoraLibrary.theora_state th,
XiphLibrary.ogg_packet op)
Input a packet containing encoded data into the theora decoder.
|
int |
theora_decode_YUVout(TheoraLibrary.theora_state th,
TheoraLibrary.yuv_buffer yuv)
Output the next available frame of decoded YUV data.
|
int |
theora_encode_comment(TheoraLibrary.theora_comment tc,
XiphLibrary.ogg_packet op)
Request a comment header packet from provided metadata.
|
int |
theora_encode_header(TheoraLibrary.theora_state t,
XiphLibrary.ogg_packet op)
Request a packet containing the initial header.
|
int |
theora_encode_init(TheoraLibrary.theora_state th,
TheoraLibrary.theora_info ti)
Initialize the theora encoder.
|
int |
theora_encode_packetout(TheoraLibrary.theora_state t,
int last_p,
XiphLibrary.ogg_packet op)
Request the next packet of encoded video.
|
int |
theora_encode_tables(TheoraLibrary.theora_state t,
XiphLibrary.ogg_packet op)
Request a packet containing the codebook tables for the stream.
|
int |
theora_encode_YUVin(TheoraLibrary.theora_state t,
TheoraLibrary.yuv_buffer yuv)
Submit a YUV buffer to the theora encoder.
|
long |
theora_granule_frame(TheoraLibrary.theora_state th,
long granulepos)
Convert a granulepos to an absolute frame number.
|
int |
theora_granule_shift(TheoraLibrary.theora_info ti)
Report the granulepos shift radix
When embedded in Ogg, Theora uses a two-part granulepos,
splitting the 64-bit field into two pieces.
|
double |
theora_granule_time(TheoraLibrary.theora_state th,
long granulepos)
Convert a granulepos to absolute time in seconds.
|
void |
theora_info_clear(TheoraLibrary.theora_info c)
Clear a theora_info structure.
|
void |
theora_info_init(TheoraLibrary.theora_info c)
Initialize a theora_info structure.
|
int |
theora_packet_isheader(XiphLibrary.ogg_packet op)
Report whether a theora packet is a header or not
This function does no verification beyond checking the header
flag bit so it should not be used for bitstream identification;
use theora_decode_header() for that.
|
int |
theora_packet_iskeyframe(XiphLibrary.ogg_packet op)
Report whether a theora packet is a keyframe or not
\param op An ogg_packet containing encoded theora data.
|
int |
theora_version_number()
Retrieve a 32-bit version number.
|
java.lang.String |
theora_version_string()
Retrieve a human-readable string to identify the encoder vendor and version.
|
static final TheoraLibrary INSTANCE
static final int OC_CS_UNSPECIFIED
static final int OC_CS_ITU_REC_470M
static final int OC_CS_ITU_REC_470BG
static final int OC_CS_NSPACES
static final int OC_PF_420
static final int OC_PF_RSVD
static final int OC_PF_422
static final int OC_PF_444
static final int OC_FAULT
static final int OC_EINVAL
static final int OC_DISABLED
static final int OC_BADHEADER
static final int OC_NOTFORMAT
static final int OC_VERSION
static final int OC_IMPL
static final int OC_BADPACKET
static final int OC_NEWPACKET
static final int OC_DUPFRAME
java.lang.String theora_version_string()
int theora_version_number()
(VERSION_MAJOR<<16) + (VERSION_MINOR<<8) + (VERSION_SUB)\returns The version number.
int theora_encode_init(TheoraLibrary.theora_state th, TheoraLibrary.theora_info ti)
int theora_encode_YUVin(TheoraLibrary.theora_state t, TheoraLibrary.yuv_buffer yuv)
int theora_encode_packetout(TheoraLibrary.theora_state t, int last_p, XiphLibrary.ogg_packet op)
int theora_encode_header(TheoraLibrary.theora_state t, XiphLibrary.ogg_packet op)
int theora_encode_comment(TheoraLibrary.theora_comment tc, XiphLibrary.ogg_packet op)
int theora_encode_tables(TheoraLibrary.theora_state t, XiphLibrary.ogg_packet op)
int theora_decode_header(TheoraLibrary.theora_info ci, TheoraLibrary.theora_comment cc, XiphLibrary.ogg_packet op)
int theora_decode_init(TheoraLibrary.theora_state th, TheoraLibrary.theora_info c)
int theora_decode_packetin(TheoraLibrary.theora_state th, XiphLibrary.ogg_packet op)
int theora_decode_YUVout(TheoraLibrary.theora_state th, TheoraLibrary.yuv_buffer yuv)
int theora_packet_isheader(XiphLibrary.ogg_packet op)
int theora_packet_iskeyframe(XiphLibrary.ogg_packet op)
int theora_granule_shift(TheoraLibrary.theora_info ti)
long theora_granule_frame(TheoraLibrary.theora_state th, long granulepos)
double theora_granule_time(TheoraLibrary.theora_state th, long granulepos)
void theora_info_init(TheoraLibrary.theora_info c)
void theora_info_clear(TheoraLibrary.theora_info c)
void theora_clear(TheoraLibrary.theora_state t)
void theora_comment_init(TheoraLibrary.theora_comment tc)
void theora_comment_add(TheoraLibrary.theora_comment tc, com.sun.jna.Pointer comment)
void theora_comment_add_tag(TheoraLibrary.theora_comment tc, com.sun.jna.Pointer tag, com.sun.jna.Pointer value)
com.sun.jna.Pointer theora_comment_query(TheoraLibrary.theora_comment tc, com.sun.jna.Pointer tag, int count)
int theora_comment_query_count(TheoraLibrary.theora_comment tc, com.sun.jna.Pointer tag)
void theora_comment_clear(TheoraLibrary.theora_comment tc)