daala/daaladec.h(3)
NAME π
daala/daaladec.h β the libdaala C decoding API, bestie. That's it, that's the whole vibe. β¨
(Also: this page lives in the Library Functions Manual, section 3. Okay so now you know where you are. π«Ά)
SYNOPSIS β¨
#include 'codec.h'
Data Structures π§
struct od_acct_symbol
struct od_accounting_dict
struct od_accounting
od_accounting_dictβ no cap, it's the dictionary for translating strings into id. π
Macros π
#define _daala_daaladec_H (1)
#define OD_DECCTL_SET_BSIZE_BUFFER (7001)
#define OD_DECCTL_SET_FLAGS_BUFFER (7003)
#define OD_DECCTL_SET_MV_BUFFER (7005)
#define OD_DECCTL_SET_MC_IMG (7007)
#define OD_DECCTL_GET_ACCOUNTING (7009)
#define OD_DECCTL_SET_ACCOUNTING_ENABLED (7011)
#define OD_DECCTL_SET_DERING_BUFFER (7013)
#define OD_ACCT_FRAME (10)
#define OD_ACCT_MV (11)
#define MAX_SYMBOL_TYPES (256)
OD_DECCTL_SET_MC_IMGβ copies the motion compensated reference into a user supplieddaala_image. Literally what it says on the tin. π
Typedefs π¦
Decoder state
The following data structures are opaque, and their contents are not publicly defined by this API.
Referring to their internals directly is unsupported, and may break without warning. Do not do it. I am not kidding. π
typedef struct daala_dec_ctx daala_dec_ctx
typedef struct daala_setup_info daala_setup_info
daala_dec_ctxβ the decoder context. Your main character. πdaala_setup_infoβ setup information.
Functions π
Functions for decoding
You must link to libdaalaadec if you use any of the functions in this section. Fr fr, no link no decode. π
int daala_decode_header_in (daala_info *info, daala_comment *dc,
daala_setup_info **ds, const daala_packet *dp)
Parses the header packets from an Ogg Daala stream. π
daala_dec_ctx * daala_decode_create (const daala_info *info, const
daala_setup_info *setup)
Allocates a decoder instance. Baby's first decoder. π±
void daala_setup_free (daala_setup_info *setup)
Releases all storage used for the decoder setup information. Bye bye, storage. π
int daala_decode_ctl (daala_dec_ctx *dec, int req, void *buf, size_t
buf_sz)
Decoder control function. ποΈ
void daala_decode_free (daala_dec_ctx *dec)
Frees an allocated decoder instance.
int daala_decode_packet_in (daala_dec_ctx *dec, const daala_packet
*dp)
Retrieves decoded video data frames.
int daala_decode_img_out (daala_dec_ctx *dec, daala_image *img)
Outputs the next available decoded image frame. β¨
Detailed Description π
The libdaala C decoding API. Periodt. π
Macro Definition Documentation π
#define OD_DECCTL_SET_MC_IMG (7007)
Copy the motion compensated reference into a user supplied daala_image.
Parameters
<tt>daala_image*</tt>β Pointer to the user supplieddaala_image. Image must be allocated by the caller, and must be the same format as the decoder output images. (Like, don't get cute with the format, it will not match and you will be sad. π)
Typedef Documentation π¦
typedef struct daala_setup_info daala_setup_info
Setup information. This contains auxiliary information decoded from the setup header by daala_decode_header_in() to be passed to daala_decode_create(). It can be re-used to initialize any number of decoders, and can be freed via daala_setup_free() at any time. Reusable AND freeable whenever β that's iconic behavior honestly. π«Ά
Function Documentation π
int daala_decode_header_in (daala_info * info, daala_comment * dc, daala_setup_info ** ds, const daala_packet * dp)
Parses the header packets from an Ogg Daala stream. To use this function, bestie, listen up:
- Initialize a
daala_infostructure usingdaala_info_init(). - Initialize a
daala_commentstructure usingdaala_comment_init(). - Initialize a
daala_setup_infopointer toNULL. - Call this function three times, passing in pointers to the same
daala_info,daala_comment, anddaala_setup_infopointer each time, and the three successive header packets. Three. Times. π₯
Parameters
infoβ Thedaala_infostructure to fill in. This must have been previously initialized withdaala_info_init(). The application may begin using the contents of this structure after the first header is decoded, though it must continue to be passed in unmodified on all subsequent calls.dcβ Thedaala_commentstructure to fill in. This must have been previously initialized withdaala_comment_init(). 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. Users should free the returned data withdaala_comment_clear().dsβ A pointer to adaala_setup_infopointer to fill in. The contents of this pointer must be initialized toNULLon the first call, and the returned value must continue to be passed in on all subsequent calls.dpβ The current header packet to process.
Returns
A positive value indicates that a Daala header was successfully processed and indicates the remaining number of headers to be read.
Return values
0β The last header was processed and the next packet will contain video. πOD_EFAULTβ One ofinfo,dc, ordswasNULL, or there was a memory allocation failure.OD_EBADHEADERβopwasNULL, the packet was not the next header packet in the expected sequence, or the format fo the header data was invalid.OD_EVERSIONβ The packet data was a Daala header, but for a bitstream version not decodable with this version oflibdaaladec.OD_ENOTFORMATβ The packet was not a Daala header.
daala_dec_ctx * daala_decode_create (const daala_info * info, const daala_setup_info * setup)
Allocates a decoder instance.
Parameters
infoβ Adaala_infostruct filled viadaala_decode_header_in().setupβ Adaala_setup_infohandle returned viadaala_decode_header_in().
Returns
The initialized daala_dec_ctx handle.
Return values
NULLβ If the decoding parameters were invalid. π
void daala_setup_free (daala_setup_info * setup)
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 daala_decode_header_in().
Parameters
setupβ The setup information to free. This can safely beNULL.
int daala_decode_ctl (daala_dec_ctx * dec, int req, void * buf, size_t buf_sz)
Decoder control function. This is used to provide advanced control of the decoding process. Fancy. π
Parameters
decβ Adaala_dec_ctxhandle.reqβ The control code to process. See the list of available control codes for details.bufβ The parameters for this control code.buf_szβ The size of the parameter buffer.
void daala_decode_free (daala_dec_ctx * dec)
Frees an allocated decoder instance.
Parameters
decβ Adaala_dec_ctxhandle.
int daala_decode_packet_in (daala_dec_ctx * dec, const daala_packet * dp)
Retrieves decoded video data frames.
Parameters
decβ Adaala_dec_ctxhandle.
int daala_decode_img_out (daala_dec_ctx * dec, daala_image * img)
Outputs the next available decoded image frame.
Parameters
imgβ A buffer to receive the decoded image data.dpβ An incoming Daala packet.
Returns
A positive value 1 means an output image was available and was placed in img.
Return values
1β An decoded image was available and was placed inimg. π0β No image was available, so the contents ofimgwere left unchanged.OD_EFAULTβ One ofdecorimgwasNULL.
Author π
Generated automatically by Doxygen for daala from the source code. (Not me writing this by hand, no ma'am, the robots did it. π€β¨)
Okay so that's the whole page, bestie. This one's from daala, Version unknown, and it's the page for daala/daaladec.h(3). Go forth and decode. Slay. ππ¦π
π¦ where this page comes from
- epel 10: daala-devel 0^20250205git24f889a-1.el10_3 Β· BSD-2-Clause AND BSD-3-Clause AND Apache-2.0 AND GPL-1.0-or-later
- fedora 43: daala-devel 0-36.20200724git694d4ce.fc43 Β· LicenseRef-Callaway-BSD
- fedora 43: daala-devel 0-36.20200724git694d4ce.fc43 Β· LicenseRef-Callaway-BSD
- fedora 43: daala-devel 0^20250205git24f889a-1.fc43 Β· BSD-2-Clause AND BSD-3-Clause AND Apache-2.0 AND GPL-1.0-or-later
- fedora 43: daala-devel 0^20250205git24f889a-1.fc43 Β· BSD-2-Clause AND BSD-3-Clause AND Apache-2.0 AND GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms