Crate theorafile_rs

Source

Structs§

OggTheora_File
__darwin_pthread_handler_rec
_opaque_pthread_attr_t
_opaque_pthread_cond_t
_opaque_pthread_condattr_t
_opaque_pthread_mutex_t
_opaque_pthread_mutexattr_t
_opaque_pthread_once_t
_opaque_pthread_rwlock_t
_opaque_pthread_rwlockattr_t
_opaque_pthread_t
alloc_chain
imaxdiv_t
ogg_iovec_t
ogg_packet
ogg_page
ogg_stream_state
ogg_sync_state
oggpack_buffer
tf_callbacks
th_comment
The comment information.
th_dec_ctx
th_huff_code
A Huffman code for a Theora DCT token. Each set of Huffman codes in a given table must form a complete, prefix-free code. There is no requirement that all the tokens in a table have a valid code, but the current encoder is not optimized to take advantage of this. If each of the five grouops of 16 tables does not contain at least one table with a code for every token, then the encoder may fail to encode certain frames. The complete table in the first group of 16 does not have to be in the same place as the complete table in the other groups, but the complete tables in the remaining four groups must all be in the same place.
th_img_plane
A buffer for a single color plane in an uncompressed image. This contains the image data in a left-to-right, top-down format. Each row of pixels is stored contiguously in memory, but successive rows need not be. Use \a stride to compute the offset of the next row. The encoder accepts both positive \a stride values (top-down in memory) and negative (bottom-up in memory). The decoder currently always generates images with positive strides.
th_info
Theora bitstream information. This contains the basic playback parameters for a stream, and corresponds to the initial ‘info’ header packet. To initialize an encoder, the application fills in this structure and passes it to th_encode_alloc(). A default encoding mode is chosen based on the values of the #quality and #target_bitrate fields. On decode, it is filled in by th_decode_headerin(), and then passed to th_decode_alloc().
th_quant_info
A complete set of quantization parameters. The quantizer for each coefficient is calculated as: \code Q=MAX(MIN(qmin[qti][ci!=0],scale[ci!=0][qi]*base[qti][pli][qi][ci]/100), 1024). \endcode
th_quant_ranges
A set of \a qi ranges.
th_setup_info
th_stripe_callback
The striped decode callback data to pass to #TH_DECCTL_SET_STRIPE_CB.
vorbis_block
vorbis_comment
vorbis_dsp_state
vorbis_info

Constants§

INT8_MAX
INT8_MIN
INT16_MAX
INT16_MIN
INT32_MAX
INT32_MIN
INT64_MAX
INT64_MIN
INTPTR_MAX
INTPTR_MIN
INT_FAST8_MAX
INT_FAST8_MIN
INT_FAST16_MAX
INT_FAST16_MIN
INT_FAST32_MAX
INT_FAST32_MIN
INT_FAST64_MAX
INT_FAST64_MIN
INT_LEAST8_MAX
INT_LEAST8_MIN
INT_LEAST16_MAX
INT_LEAST16_MIN
INT_LEAST32_MAX
INT_LEAST32_MIN
INT_LEAST64_MAX
INT_LEAST64_MIN
MAC_OS_VERSION_11_0
MAC_OS_VERSION_11_1
MAC_OS_VERSION_11_3
MAC_OS_VERSION_11_4
MAC_OS_VERSION_11_5
MAC_OS_VERSION_11_6
MAC_OS_VERSION_12_0
MAC_OS_VERSION_12_1
MAC_OS_VERSION_12_2
MAC_OS_VERSION_12_3
MAC_OS_VERSION_12_4
MAC_OS_VERSION_12_5
MAC_OS_VERSION_12_6
MAC_OS_VERSION_12_7
MAC_OS_VERSION_13_0
MAC_OS_VERSION_13_1
MAC_OS_VERSION_13_2
MAC_OS_VERSION_13_3
MAC_OS_VERSION_13_4
MAC_OS_VERSION_13_5
MAC_OS_VERSION_13_6
MAC_OS_VERSION_14_0
MAC_OS_VERSION_14_1
MAC_OS_VERSION_14_2
MAC_OS_VERSION_14_3
MAC_OS_VERSION_14_4
MAC_OS_X_VERSION_10_0
MAC_OS_X_VERSION_10_1
MAC_OS_X_VERSION_10_2
MAC_OS_X_VERSION_10_3
MAC_OS_X_VERSION_10_4
MAC_OS_X_VERSION_10_5
MAC_OS_X_VERSION_10_6
MAC_OS_X_VERSION_10_7
MAC_OS_X_VERSION_10_8
MAC_OS_X_VERSION_10_9
MAC_OS_X_VERSION_10_10
MAC_OS_X_VERSION_10_11
MAC_OS_X_VERSION_10_12
MAC_OS_X_VERSION_10_13
MAC_OS_X_VERSION_10_14
MAC_OS_X_VERSION_10_15
MAC_OS_X_VERSION_10_16
MAC_OS_X_VERSION_10_10_2
MAC_OS_X_VERSION_10_10_3
MAC_OS_X_VERSION_10_11_2
MAC_OS_X_VERSION_10_11_3
MAC_OS_X_VERSION_10_11_4
MAC_OS_X_VERSION_10_12_1
MAC_OS_X_VERSION_10_12_2
MAC_OS_X_VERSION_10_12_4
MAC_OS_X_VERSION_10_13_1
MAC_OS_X_VERSION_10_13_2
MAC_OS_X_VERSION_10_13_4
MAC_OS_X_VERSION_10_14_1
MAC_OS_X_VERSION_10_14_4
MAC_OS_X_VERSION_10_14_5
MAC_OS_X_VERSION_10_14_6
MAC_OS_X_VERSION_10_15_1
MAC_OS_X_VERSION_10_15_4
OV_EBADHEADER
OV_EBADLINK
OV_EBADPACKET
OV_EFAULT
OV_EIMPL
OV_EINVAL
OV_ENOSEEK
OV_ENOTAUDIO
OV_ENOTVORBIS
OV_EOF
OV_EREAD
OV_EVERSION
OV_FALSE
OV_HOLE
PRIX8
PRIX16
PRIX32
PRIX64
PRIXFAST8
PRIXFAST16
PRIXFAST32
PRIXFAST64
PRIXLEAST8
PRIXLEAST16
PRIXLEAST32
PRIXLEAST64
PRIXMAX
PRIXPTR
PRId8
PRId16
PRId32
PRId64
PRIdFAST8
PRIdFAST16
PRIdFAST32
PRIdFAST64
PRIdLEAST8
PRIdLEAST16
PRIdLEAST32
PRIdLEAST64
PRIdMAX
PRIdPTR
PRIi8
PRIi16
PRIi32
PRIi64
PRIiFAST8
PRIiFAST16
PRIiFAST32
PRIiFAST64
PRIiLEAST8
PRIiLEAST16
PRIiLEAST32
PRIiLEAST64
PRIiMAX
PRIiPTR
PRIo8
PRIo16
PRIo32
PRIo64
PRIoFAST8
PRIoFAST16
PRIoFAST32
PRIoFAST64
PRIoLEAST8
PRIoLEAST16
PRIoLEAST32
PRIoLEAST64
PRIoMAX
PRIoPTR
PRIu8
PRIu16
PRIu32
PRIu64
PRIuFAST8
PRIuFAST16
PRIuFAST32
PRIuFAST64
PRIuLEAST8
PRIuLEAST16
PRIuLEAST32
PRIuLEAST64
PRIuMAX
PRIuPTR
PRIx8
PRIx16
PRIx32
PRIx64
PRIxFAST8
PRIxFAST16
PRIxFAST32
PRIxFAST64
PRIxLEAST8
PRIxLEAST16
PRIxLEAST32
PRIxLEAST64
PRIxMAX
PRIxPTR
RSIZE_MAX
SCNd8
SCNd16
SCNd32
SCNd64
SCNdFAST8
SCNdFAST16
SCNdFAST32
SCNdFAST64
SCNdLEAST8
SCNdLEAST16
SCNdLEAST32
SCNdLEAST64
SCNdMAX
SCNdPTR
SCNi8
SCNi16
SCNi32
SCNi64
SCNiFAST8
SCNiFAST16
SCNiFAST32
SCNiFAST64
SCNiLEAST8
SCNiLEAST16
SCNiLEAST32
SCNiLEAST64
SCNiMAX
SCNiPTR
SCNo8
SCNo16
SCNo32
SCNo64
SCNoFAST8
SCNoFAST16
SCNoFAST32
SCNoFAST64
SCNoLEAST8
SCNoLEAST16
SCNoLEAST32
SCNoLEAST64
SCNoMAX
SCNoPTR
SCNu8
SCNu16
SCNu32
SCNu64
SCNuFAST8
SCNuFAST16
SCNuFAST32
SCNuFAST64
SCNuLEAST8
SCNuLEAST16
SCNuLEAST32
SCNuLEAST64
SCNuMAX
SCNuPTR
SCNx8
SCNx16
SCNx32
SCNx64
SCNxFAST8
SCNxFAST16
SCNxFAST32
SCNxFAST64
SCNxLEAST8
SCNxLEAST16
SCNxLEAST32
SCNxLEAST64
SCNxMAX
SCNxPTR
SIG_ATOMIC_MAX
SIG_ATOMIC_MIN
SIZE_MAX
TF_ENODATASOURCE
TF_EUNKNOWN
TF_EUNSUPPORTED
TH_DECCTL_GET_PPLEVEL_MAX
TH_DECCTL_SET_GRANPOS
TH_DECCTL_SET_PPLEVEL
TH_DECCTL_SET_STRIPE_CB
TH_DECCTL_SET_TELEMETRY_BITS
TH_DECCTL_SET_TELEMETRY_MBMODE
TH_DECCTL_SET_TELEMETRY_MV
TH_DECCTL_SET_TELEMETRY_QI
TH_DUPFRAME
TH_EBADHEADER
TH_EBADPACKET
TH_EFAULT
TH_EIMPL
TH_EINVAL
TH_ENOTFORMAT
TH_EVERSION
TH_NDCT_TOKENS
TH_NHUFFMAN_TABLES
UINT8_MAX
UINT16_MAX
UINT32_MAX
UINT64_MAX
UINTPTR_MAX
UINT_FAST8_MAX
UINT_FAST16_MAX
UINT_FAST32_MAX
UINT_FAST64_MAX
UINT_LEAST8_MAX
UINT_LEAST16_MAX
UINT_LEAST32_MAX
UINT_LEAST64_MAX
WINT_MAX
WINT_MIN
_DARWIN_FEATURE_64_BIT_INODE
_DARWIN_FEATURE_ONLY_64_BIT_INODE
_DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE
_DARWIN_FEATURE_ONLY_VERS_1050
_DARWIN_FEATURE_UNIX_CONFORMANCE
_FORTIFY_SOURCE
_O_THEORA_CODEC_H_
_O_THEORA_THEORADEC_H_
__API_TO_BE_DEPRECATED
__API_TO_BE_DEPRECATED_DRIVERKIT
__API_TO_BE_DEPRECATED_IOS
__API_TO_BE_DEPRECATED_MACCATALYST
__API_TO_BE_DEPRECATED_MACOS
__API_TO_BE_DEPRECATED_TVOS
__API_TO_BE_DEPRECATED_VISIONOS
__API_TO_BE_DEPRECATED_WATCHOS
__BRIDGEOS_2_0
__BRIDGEOS_3_0
__BRIDGEOS_3_1
__BRIDGEOS_3_4
__BRIDGEOS_4_0
__BRIDGEOS_4_1
__BRIDGEOS_5_0
__BRIDGEOS_5_1
__BRIDGEOS_5_3
__BRIDGEOS_6_0
__BRIDGEOS_6_2
__BRIDGEOS_6_4
__BRIDGEOS_6_5
__BRIDGEOS_6_6
__BRIDGEOS_7_0
__BRIDGEOS_7_1
__BRIDGEOS_7_2
__BRIDGEOS_7_3
__BRIDGEOS_7_4
__BRIDGEOS_7_6
__BRIDGEOS_8_0
__BRIDGEOS_8_1
__BRIDGEOS_8_2
__BRIDGEOS_8_3
__BRIDGEOS_8_4
__DARWIN_64_BIT_INO_T
__DARWIN_C_ANSI
__DARWIN_C_FULL
__DARWIN_C_LEVEL
__DARWIN_NON_CANCELABLE
__DARWIN_NO_LONG_LONG
__DARWIN_ONLY_64_BIT_INO_T
__DARWIN_ONLY_UNIX_CONFORMANCE
__DARWIN_ONLY_VERS_1050
__DARWIN_SUF_EXTSN
__DARWIN_UNIX03
__DARWIN_VERS_1050
__DARWIN_WCHAR_MIN
__DRIVERKIT_19_0
__DRIVERKIT_20_0
__DRIVERKIT_21_0
__DRIVERKIT_22_0
__DRIVERKIT_22_4
__DRIVERKIT_22_5
__DRIVERKIT_22_6
__DRIVERKIT_23_0
__DRIVERKIT_23_1
__DRIVERKIT_23_2
__DRIVERKIT_23_3
__DRIVERKIT_23_4
__ENABLE_LEGACY_MAC_AVAILABILITY
__IPHONE_2_0
__IPHONE_2_1
__IPHONE_2_2
__IPHONE_3_0
__IPHONE_3_1
__IPHONE_3_2
__IPHONE_4_0
__IPHONE_4_1
__IPHONE_4_2
__IPHONE_4_3
__IPHONE_5_0
__IPHONE_5_1
__IPHONE_6_0
__IPHONE_6_1
__IPHONE_7_0
__IPHONE_7_1
__IPHONE_8_0
__IPHONE_8_1
__IPHONE_8_2
__IPHONE_8_3
__IPHONE_8_4
__IPHONE_9_0
__IPHONE_9_1
__IPHONE_9_2
__IPHONE_9_3
__IPHONE_10_0
__IPHONE_10_1
__IPHONE_10_2
__IPHONE_10_3
__IPHONE_11_0
__IPHONE_11_1
__IPHONE_11_2
__IPHONE_11_3
__IPHONE_11_4
__IPHONE_12_0
__IPHONE_12_1
__IPHONE_12_2
__IPHONE_12_3
__IPHONE_12_4
__IPHONE_13_0
__IPHONE_13_1
__IPHONE_13_2
__IPHONE_13_3
__IPHONE_13_4
__IPHONE_13_5
__IPHONE_13_6
__IPHONE_13_7
__IPHONE_14_0
__IPHONE_14_1
__IPHONE_14_2
__IPHONE_14_3
__IPHONE_14_4
__IPHONE_14_5
__IPHONE_14_6
__IPHONE_14_7
__IPHONE_14_8
__IPHONE_15_0
__IPHONE_15_1
__IPHONE_15_2
__IPHONE_15_3
__IPHONE_15_4
__IPHONE_15_5
__IPHONE_15_6
__IPHONE_15_7
__IPHONE_15_8
__IPHONE_16_0
__IPHONE_16_1
__IPHONE_16_2
__IPHONE_16_3
__IPHONE_16_4
__IPHONE_16_5
__IPHONE_16_6
__IPHONE_16_7
__IPHONE_17_0
__IPHONE_17_1
__IPHONE_17_2
__IPHONE_17_3
__IPHONE_17_4
__MAC_10_0
__MAC_10_1
__MAC_10_2
__MAC_10_3
__MAC_10_4
__MAC_10_5
__MAC_10_6
__MAC_10_7
__MAC_10_8
__MAC_10_9
__MAC_10_10
__MAC_10_11
__MAC_10_12
__MAC_10_13
__MAC_10_14
__MAC_10_15
__MAC_10_16
__MAC_10_10_2
__MAC_10_10_3
__MAC_10_11_2
__MAC_10_11_3
__MAC_10_11_4
__MAC_10_12_1
__MAC_10_12_2
__MAC_10_12_4
__MAC_10_13_1
__MAC_10_13_2
__MAC_10_13_4
__MAC_10_14_1
__MAC_10_14_4
__MAC_10_14_5
__MAC_10_14_6
__MAC_10_15_1
__MAC_10_15_4
__MAC_11_0
__MAC_11_1
__MAC_11_3
__MAC_11_4
__MAC_11_5
__MAC_11_6
__MAC_12_0
__MAC_12_1
__MAC_12_2
__MAC_12_3
__MAC_12_4
__MAC_12_5
__MAC_12_6
__MAC_12_7
__MAC_13_0
__MAC_13_1
__MAC_13_2
__MAC_13_3
__MAC_13_4
__MAC_13_5
__MAC_13_6
__MAC_14_0
__MAC_14_1
__MAC_14_2
__MAC_14_3
__MAC_14_4
__MAC_OS_X_VERSION_MAX_ALLOWED
__PRI_8_LENGTH_MODIFIER__
__PRI_64_LENGTH_MODIFIER__
__PRI_MAX_LENGTH_MODIFIER__
__PTHREAD_ATTR_SIZE__
__PTHREAD_CONDATTR_SIZE__
__PTHREAD_COND_SIZE__
__PTHREAD_MUTEXATTR_SIZE__
__PTHREAD_MUTEX_SIZE__
__PTHREAD_ONCE_SIZE__
__PTHREAD_RWLOCKATTR_SIZE__
__PTHREAD_RWLOCK_SIZE__
__PTHREAD_SIZE__
__SCN_64_LENGTH_MODIFIER__
__SCN_MAX_LENGTH_MODIFIER__
__STDC_WANT_LIB_EXT1__
__TVOS_9_0
__TVOS_9_1
__TVOS_9_2
__TVOS_10_0
__TVOS_10_0_1
__TVOS_10_1
__TVOS_10_2
__TVOS_11_0
__TVOS_11_1
__TVOS_11_2
__TVOS_11_3
__TVOS_11_4
__TVOS_12_0
__TVOS_12_1
__TVOS_12_2
__TVOS_12_3
__TVOS_12_4
__TVOS_13_0
__TVOS_13_2
__TVOS_13_3
__TVOS_13_4
__TVOS_14_0
__TVOS_14_1
__TVOS_14_2
__TVOS_14_3
__TVOS_14_5
__TVOS_14_6
__TVOS_14_7
__TVOS_15_0
__TVOS_15_1
__TVOS_15_2
__TVOS_15_3
__TVOS_15_4
__TVOS_15_5
__TVOS_15_6
__TVOS_16_0
__TVOS_16_1
__TVOS_16_2
__TVOS_16_3
__TVOS_16_4
__TVOS_16_5
__TVOS_16_6
__TVOS_17_0
__TVOS_17_1
__TVOS_17_2
__TVOS_17_3
__TVOS_17_4
__VISIONOS_1_0
__VISIONOS_1_1
__WATCHOS_1_0
__WATCHOS_2_0
__WATCHOS_2_1
__WATCHOS_2_2
__WATCHOS_3_0
__WATCHOS_3_1
__WATCHOS_3_2
__WATCHOS_3_1_1
__WATCHOS_4_0
__WATCHOS_4_1
__WATCHOS_4_2
__WATCHOS_4_3
__WATCHOS_5_0
__WATCHOS_5_1
__WATCHOS_5_2
__WATCHOS_5_3
__WATCHOS_6_0
__WATCHOS_6_1
__WATCHOS_6_2
__WATCHOS_7_0
__WATCHOS_7_1
__WATCHOS_7_2
__WATCHOS_7_3
__WATCHOS_7_4
__WATCHOS_7_5
__WATCHOS_7_6
__WATCHOS_8_0
__WATCHOS_8_1
__WATCHOS_8_3
__WATCHOS_8_4
__WATCHOS_8_5
__WATCHOS_8_6
__WATCHOS_8_7
__WATCHOS_8_8
__WATCHOS_9_0
__WATCHOS_9_1
__WATCHOS_9_2
__WATCHOS_9_3
__WATCHOS_9_4
__WATCHOS_9_5
__WATCHOS_9_6
__WATCHOS_10_0
__WATCHOS_10_1
__WATCHOS_10_2
__WATCHOS_10_3
__WATCHOS_10_4
__WORDSIZE
__has_ptrcheck
__has_safe_buffers
th_colorspace_TH_CS_ITU_REC_470BG
A color space designed for PAL/SECAM content.
th_colorspace_TH_CS_ITU_REC_470M
A color space designed for NTSC content.
th_colorspace_TH_CS_NSPACES
The total number of currently defined color spaces.
th_colorspace_TH_CS_UNSPECIFIED
The color space was not specified at the encoder. It may be conveyed by an external means.
th_pixel_fmt_TH_PF_420
Chroma decimation by 2 in both the X and Y directions (4:2:0). The Cb and Cr chroma planes are half the width and half the height of the luma plane.
th_pixel_fmt_TH_PF_422
Chroma decimation by 2 in the X direction (4:2:2). The Cb and Cr chroma planes are half the width of the luma plane, but full height.
th_pixel_fmt_TH_PF_444
No chroma decimation (4:4:4). The Cb and Cr chroma planes are full width and full height.
th_pixel_fmt_TH_PF_NFORMATS
The total number of currently defined pixel formats.
th_pixel_fmt_TH_PF_RSVD
Currently reserved.

Functions§

imaxabs
imaxdiv
ogg_packet_clear
ogg_page_bos
ogg_page_checksum_set
ogg_page_continued
ogg_page_eos
ogg_page_granulepos
ogg_page_packets
ogg_page_pageno
ogg_page_serialno
ogg_page_version
ogg_stream_check
ogg_stream_clear
ogg_stream_destroy
ogg_stream_eos
ogg_stream_flush
ogg_stream_flush_fill
ogg_stream_init
ogg_stream_iovecin
ogg_stream_packetin
ogg_stream_packetout
ogg_stream_packetpeek
ogg_stream_pagein
ogg_stream_pageout
ogg_stream_pageout_fill
ogg_stream_reset
ogg_stream_reset_serialno
ogg_sync_buffer
ogg_sync_check
ogg_sync_clear
ogg_sync_destroy
ogg_sync_init
ogg_sync_pageout
ogg_sync_pageseek
ogg_sync_reset
ogg_sync_wrote
oggpackB_adv
oggpackB_adv1
oggpackB_bits
oggpackB_bytes
oggpackB_get_buffer
oggpackB_look
oggpackB_look1
oggpackB_read
oggpackB_read1
oggpackB_readinit
oggpackB_reset
oggpackB_write
oggpackB_writealign
oggpackB_writecheck
oggpackB_writeclear
oggpackB_writecopy
oggpackB_writeinit
oggpackB_writetrunc
oggpack_adv
oggpack_adv1
oggpack_bits
oggpack_bytes
oggpack_get_buffer
oggpack_look
oggpack_look1
oggpack_read
oggpack_read1
oggpack_readinit
oggpack_reset
oggpack_write
oggpack_writealign
oggpack_writecheck
oggpack_writeclear
oggpack_writecopy
oggpack_writeinit
oggpack_writetrunc
strtoimax
strtoumax
tf_audioinfo
tf_close
tf_eos
tf_fopen
tf_hasaudio
tf_hasvideo
tf_open_callbacks
tf_readaudio
tf_readvideo
tf_reset
tf_setaudiotrack
tf_setvideotrack
tf_videoinfo
th_comment_add
Add a comment to an initialized #th_comment structure. \note Neither th_comment_add() nor th_comment_add_tag() support comments containing null values, although the bitstream format does support them. To add such comments you will need to manipulate the #th_comment structure directly. \param _tc The #th_comment struct to add the comment to. \param _comment Must be a null-terminated UTF-8 string containing the comment in “TAG=the value” form.
th_comment_add_tag
Add a comment to an initialized #th_comment structure. \note Neither th_comment_add() nor th_comment_add_tag() support comments containing null values, although the bitstream format does support them. To add such comments you will need to manipulate the #th_comment structure directly. \param _tc The #th_comment struct to add the comment to. \param _tag A null-terminated string containing the tag associated with the comment. \param _val The corresponding value as a null-terminated string.
th_comment_clear
Clears a #th_comment structure. This should be called on a #th_comment structure after it is no longer needed. It will free all memory used by the structure members. \param _tc The #th_comment struct to clear.
th_comment_init
Initialize a #th_comment structure. This should be called on a freshly allocated #th_comment structure before attempting to use it. \param _tc The #th_comment struct to initialize.
th_comment_query
Look up a comment value by its tag. \param _tc An initialized #th_comment structure. \param _tag The tag to look up. \param _count The instance of the tag. The same tag can appear multiple times, each with a distinct value, so an index is required to retrieve them all. The order in which these values appear is significant and should be preserved. Use th_comment_query_count() to get the legal range for the \a _count parameter. \return A pointer to the queried tag’s value. This points directly to data in the #th_comment structure. It should not be modified or freed by the application, and modifications to the structure may invalidate the pointer. \retval NULL If no matching tag is found.
th_comment_query_count
Look up the number of instances of a tag. Call this first when querying for a specific tag and then iterate over the number of instances with separate calls to th_comment_query() to retrieve all the values for that tag in order. \param _tc An initialized #th_comment structure. \param _tag The tag to look up. \return The number of instances of this particular tag.
th_decode_alloc
Allocates a decoder instance.
th_decode_ctl
Decoder control function. This is used to provide advanced control of the decoding process. \param _dec A #th_dec_ctx handle. \param _req The control code to process. See \ref decctlcodes “the list of available control codes” for details. \param _buf The parameters for this control code. \param _buf_sz The size of the parameter buffer. \return Possible return values depend on the control code used. See \ref decctlcodes “the list of control codes” for specific values. Generally 0 indicates success.
th_decode_free
Frees an allocated decoder instance. \param _dec A #th_dec_ctx handle.
th_decode_headerin
Decodes the header packets of a Theora stream. This should be called on the initial packets of the stream, in succession, until it returns 0, indicating that all headers have been processed, or an error is encountered. At least three header packets are required, and additional optional header packets may follow. This can be used on the first packet of any logical stream to determine if that stream is a Theora stream. \param _info A #th_info structure to fill in. This must have been previously initialized with th_info_init(). The application may immediately begin using the contents of this structure after the first header is decoded, though it must continue to be passed in on all subsequent calls. \param _tc A #th_comment structure to fill in. The application may immediately begin using the contents of this structure after the second header is decoded, though it must continue to be passed in on all subsequent calls. \param _setup Returns a pointer to additional, private setup information needed by the decoder. The contents of this pointer must be initialized to NULL on the first call, and the returned value must continue to be passed in on all subsequent calls. \param _op An ogg_packet structure which contains one of the initial packets of an Ogg logical stream. \return A positive value indicates that a Theora header was successfully processed. \retval 0 The first video data packet was encountered after all required header packets were parsed. The packet just passed in on this call should be saved and fed to th_decode_packetin() to begin decoding video data. \retval TH_EFAULT One of \a _info, \a _tc, or \a _setup was NULL. \retval TH_EBADHEADER \a _op was NULL, the packet was not the next header packet in the expected sequence, or the format of the header data was invalid. \retval TH_EVERSION The packet data was a Theora info header, but for a bitstream version not decodable with this version of libtheoradec. \retval TH_ENOTFORMAT The packet was not a Theora header.
th_decode_packetin
Submits a packet containing encoded video data to the decoder. \param _dec A #th_dec_ctx handle. \param _op An ogg_packet containing encoded video data. \param _granpos Returns the granule position of the decoded packet. If non-NULL, the granule position for this specific packet is stored in this location. This is computed incrementally from previously decoded packets. After a seek, the correct granule position must be set via #TH_DECCTL_SET_GRANPOS for this to work properly. \retval 0 Success. A new decoded frame can be retrieved by calling th_decode_ycbcr_out(). \retval TH_DUPFRAME The packet represented a dropped frame (either a 0-byte frame or an INTER frame with no coded blocks). The player can skip the call to th_decode_ycbcr_out(), as the contents of the decoded frame buffer have not changed. \retval TH_EFAULT \a _dec or \a _op was NULL. \retval TH_EBADPACKET \a _op does not contain encoded video data. \retval TH_EIMPL The video data uses bitstream features which this library does not support.
th_decode_ycbcr_out
Outputs the next available frame of decoded Y’CbCr data. If a striped decode callback has been set with #TH_DECCTL_SET_STRIPE_CB, then the application does not need to call this function. \param _dec A #th_dec_ctx handle. \param _ycbcr A video buffer structure to fill in. libtheoradec will fill in all the members of this structure, including the pointers to the uncompressed video data. The memory for this video data is owned by libtheoradec. It may be freed or overwritten without notification when subsequent frames are decoded. \retval 0 Success \retval TH_EFAULT \a _dec or \a _ycbcr was NULL.
th_granule_frame
Converts a granule position to an absolute frame index, starting at 0. The granule position is interpreted in the context of a given #th_enc_ctx or #th_dec_ctx handle (either will suffice). \param _encdec A previously allocated #th_enc_ctx or #th_dec_ctx handle. \param _granpos The granule position to convert. \returns The absolute frame index corresponding to \a _granpos. \retval -1 The given granule position was invalid (i.e. negative).
th_granule_time
Converts a granule position to an absolute time in seconds. The granule position is interpreted in the context of a given #th_enc_ctx or #th_dec_ctx handle (either will suffice). \param _encdec A previously allocated #th_enc_ctx or #th_dec_ctx handle. \param _granpos The granule position to convert. \return The absolute time in seconds corresponding to \a _granpos. This is the “end time” for the frame, or the latest time it should be displayed. It is not the presentation time. \retval -1 The given granule position was invalid (i.e. negative).
th_info_clear
Clears a #th_info structure. This should be called on a #th_info structure after it is no longer needed. \param _info The #th_info struct to clear.
th_info_init
Initializes a th_info structure. This should be called on a freshly allocated #th_info structure before attempting to use it. \param _info The #th_info struct to initialize.
th_packet_isheader
Determines whether a Theora packet is a header or not. This function does no verification beyond checking the packet type bit, so it should not be used for bitstream identification; use th_decode_headerin() for that. As per the Theora specification, an empty (0-byte) packet is treated as a data packet (a delta frame with no coded blocks). \param _op An ogg_packet containing encoded Theora data. \retval 1 The packet is a header packet \retval 0 The packet is a video data packet.
th_packet_iskeyframe
Determines whether a theora packet is a key frame or not. This function does no verification beyond checking the packet type and key frame bits, so it should not be used for bitstream identification; use th_decode_headerin() for that. As per the Theora specification, an empty (0-byte) packet is treated as a delta frame (with no coded blocks). \param _op An ogg_packet containing encoded Theora data. \retval 1 The packet contains a key frame. \retval 0 The packet contains a delta frame. \retval -1 The packet is not a video data packet.
th_setup_free
Releases all storage used for the decoder setup information. This should be called after you no longer want to create any decoders for a stream whose headers you have parsed with th_decode_headerin(). \param _setup The setup information to free. This can safely be NULL.
th_version_number
Retrieves the library version number. This is the highest bitstream version that the encoder library will produce, or that the decoder library can decode. This number is composed of a 16-bit major version, 8-bit minor version and 8 bit sub-version, composed as follows: \code (VERSION_MAJOR<<16)+(VERSION_MINOR<<8)+(VERSION_SUBMINOR) \endcode \return the version number.
th_version_string
Retrieves a human-readable string to identify the library vendor and version. \return the version string.
vorbis_analysis
vorbis_analysis_blockout
vorbis_analysis_buffer
vorbis_analysis_headerout
vorbis_analysis_init
vorbis_analysis_wrote
vorbis_bitrate_addblock
vorbis_bitrate_flushpacket
vorbis_block_clear
vorbis_block_init
vorbis_comment_add
vorbis_comment_add_tag
vorbis_comment_clear
vorbis_comment_init
vorbis_comment_query
vorbis_comment_query_count
vorbis_commentheader_out
vorbis_dsp_clear
vorbis_granule_time
vorbis_info_blocksize
vorbis_info_clear
vorbis_info_init
vorbis_packet_blocksize
vorbis_synthesis
vorbis_synthesis_blockin
vorbis_synthesis_halfrate
vorbis_synthesis_halfrate_p
vorbis_synthesis_headerin
vorbis_synthesis_idheader
vorbis_synthesis_init
vorbis_synthesis_lapout
vorbis_synthesis_pcmout
vorbis_synthesis_read
vorbis_synthesis_restart
vorbis_synthesis_trackonly
vorbis_version_string
wcstoimax
wcstoumax

Type Aliases§

__builtin_va_list
__darwin_blkcnt_t
__darwin_blksize_t
__darwin_clock_t
__darwin_ct_rune_t
__darwin_dev_t
__darwin_fsblkcnt_t
__darwin_fsfilcnt_t
__darwin_gid_t
__darwin_id_t
__darwin_ino64_t
__darwin_ino_t
__darwin_intptr_t
__darwin_mach_port_name_t
__darwin_mach_port_t
__darwin_mbstate_t
__darwin_mode_t
__darwin_natural_t
__darwin_nl_item
__darwin_off_t
__darwin_pid_t
__darwin_pthread_attr_t
__darwin_pthread_cond_t
__darwin_pthread_condattr_t
__darwin_pthread_key_t
__darwin_pthread_mutex_t
__darwin_pthread_mutexattr_t
__darwin_pthread_once_t
__darwin_pthread_rwlock_t
__darwin_pthread_rwlockattr_t
__darwin_pthread_t
__darwin_ptrdiff_t
__darwin_rune_t
__darwin_sigset_t
__darwin_size_t
__darwin_socklen_t
__darwin_ssize_t
__darwin_suseconds_t
__darwin_time_t
__darwin_uid_t
__darwin_useconds_t
__darwin_uuid_string_t
__darwin_uuid_t
__darwin_va_list
__darwin_wchar_t
__darwin_wctrans_t
__darwin_wctype_t
__darwin_wint_t
__int8_t
__int16_t
__int32_t
__int64_t
__uint8_t
__uint16_t
__uint32_t
__uint64_t
int_fast8_t
int_fast16_t
int_fast32_t
int_fast64_t
int_least8_t
int_least16_t
int_least32_t
int_least64_t
intmax_t
max_align_t
ogg_int16_t
ogg_int32_t
ogg_int64_t
ogg_uint16_t
ogg_uint32_t
register_t
syscall_arg_t
th_colorspace
The currently defined color space tags. See the Theora specification, Chapter 4, for exact details on the meaning of each of these color spaces.
th_pixel_fmt
The currently defined pixel format tags. See the Theora specification, Section 4.4, for details on the precise sample locations.
th_quant_base
A single base matrix.
th_stripe_decoded_func
A callback function for striped decode. This is a function pointer to an application-provided function that will be called each time a section of the image is fully decoded in th_decode_packetin(). This allows the application to process the section immediately, while it is still in cache. Note that the frame is decoded bottom to top, so \a _yfrag0 will steadily decrease with each call until it reaches 0, at which point the full frame is decoded. The number of fragment rows made available in each call depends on the pixel format and the number of post-processing filters enabled, and may not even be constant for the entire frame. If a non-NULL \a _granpos pointer is passed to th_decode_packetin(), the granule position for the frame will be stored in it before the first callback is made. If an entire frame is dropped (a 0-byte packet), then no callbacks will be made at all for that frame. \param _ctx An application-provided context pointer. \param _buf The image buffer for the decoded frame. \param _yfrag0 The Y coordinate of the first row of 8x8 fragments decoded. Multiply this by 8 to obtain the pixel row number in the luma plane. If the chroma planes are subsampled in the Y direction, this will always be divisible by two. \param _yfrag_end The Y coordinate of the first row of 8x8 fragments past the newly decoded section. If the chroma planes are subsampled in the Y direction, this will always be divisible by two. I.e., this section contains fragment rows \a _yfrag0 …\a _yfrag_end -1.
th_ycbcr_buffer
A complete image buffer for an uncompressed frame. The chroma planes may be decimated by a factor of two in either direction, as indicated by th_info#pixel_fmt. The width and height of the Y’ plane must be multiples of 16. They may need to be cropped for display, using the rectangle specified by th_info#pic_x, th_info#pic_y, th_info#pic_width, and th_info#pic_height. All samples are 8 bits. \note The term YUV often used to describe a colorspace is ambiguous. The exact parameters of the RGB to YUV conversion process aside, in many contexts the U and V channels actually have opposite meanings. To avoid this confusion, we are explicit: the name of the color channels are Y’CbCr, and they appear in that order, always. The prime symbol denotes that the Y channel is non-linear. Cb and Cr stand for “Chroma blue” and “Chroma red”, respectively.
u_int8_t
u_int16_t
u_int32_t
u_int64_t
uint_fast8_t
uint_fast16_t
uint_fast32_t
uint_fast64_t
uint_least8_t
uint_least16_t
uint_least32_t
uint_least64_t
uintmax_t
user_addr_t
user_long_t
user_off_t
user_size_t
user_ssize_t
user_time_t
user_ulong_t
wchar_t

Unions§

__mbstate_t