codec.h (3) - Linux Manuals

NAME

daala/codec.h - The shared libdaala C API.

SYNOPSIS


#include 'daala_integer.h'

Data Structures


struct daala_image_plane
Representation of a single component within an image or frame.
struct daala_image
Representation of an image or video frame.
struct daala_plane_info
Subsampling factors for a plane as a power of 2.
struct daala_info
Configuration parameters for a codec instance.
struct daala_packet

struct daala_comment
The comment information.

Macros


#define _daala_codec_H (1)

#define OD_GNUC_PREREQ(maj, min, pat) (0)

#define OD_WARN_UNUSED_RESULT

#define OD_ARG_NONNULL(x)

#define OD_NPLANES_MAX (4)
The maximum number of color planes allowed in a single frame.

Error codes


#define OD_SUCCESS (0)
No error occurred.
#define OD_EFAULT (-1)
An invalid pointer was provided.
#define OD_EINVAL (-10)
An invalid argument was provided.
#define OD_EBADHEADER (-20)
The contents of the header were incomplete, invalid, or unexpected.
#define OD_ENOTFORMAT (-21)
The header does not belong to a Daala stream.
#define OD_EVERSION (-22)
The bitstream version is too high.
#define OD_EIMPL (-23)
The specified function is not implemented.
#define OD_EBADPACKET (-24)
There were errors in the video data packet.

Colorspaces
The currently defined color space tags.


#define OD_CS_UNSPECIFIED (0)
The color space was not specified at the encoder.
#define OD_CS_ITU_REC_470M (1)
A Y'CbCr color space designed for NTSC content.
#define OD_CS_ITU_REC_470BG (2)
A Y'CbCr color space designed for PAL/SECAM content.
#define OD_CS_ITU_REC_790 (3)
A Y'CbCr color space designed for HD content.
#define OD_CS_YCgCo (4)
A Y'CgCo color space designed for sRGB content.
#define OD_CS_NSPACES (5)
The total number of currently defined color spaces.

Bit Depths
The three video bit depths currently supported by Daala.


#define OD_BITDEPTH_MODE_8 (1)
8-bit mode.
#define OD_BITDEPTH_MODE_10 (2)
10-bit mode.
#define OD_BITDEPTH_MODE_12 (3)
12-bit mode.

Typedefs


typedef struct daala_image_plane daala_image_plane

typedef struct daala_image daala_image

typedef struct daala_plane_info daala_plane_info

typedef struct daala_info daala_info

typedef struct daala_comment daala_comment

Functions


const char * daala_version_string (void)

int daala_log_init (void)
Initialize the logging module.
void daala_info_init (daala_info *info)

void daala_info_clear (daala_info *info)

void daala_comment_init (daala_comment *dc)
Initializes a daala_comment section.
void daala_comment_clear (daala_comment *dc)
Free resources allocated for metadata.
int64_t daala_granule_basetime (void *encdec, int64_t granpos)

double daala_granule_time (void *encdec, int64_t granpos)
Converts a granule position to an absolute time in seconds.
int daala_packet_isheader (daala_packet *dpkt)
Determines whether a Daala packet is a header or not.
int daala_packet_iskeyframe (daala_packet *dpkt)
Determines whether a Daala packet is a key frame or not.

Detailed Description

The shared libdaala C API.

Macro Definition Documentation

#define OD_SUCCESS (0)

No error occurred.

#define OD_EFAULT (-1)

An invalid pointer was provided.

#define OD_EINVAL (-10)

An invalid argument was provided.

#define OD_EBADHEADER (-20)

The contents of the header were incomplete, invalid, or unexpected.

#define OD_ENOTFORMAT (-21)

The header does not belong to a Daala stream.

#define OD_EVERSION (-22)

The bitstream version is too high.

#define OD_EIMPL (-23)

The specified function is not implemented.

#define OD_EBADPACKET (-24)

There were errors in the video data packet.

#define OD_CS_UNSPECIFIED (0)

The color space was not specified at the encoder. It may be conveyed by an external means.

#define OD_CS_ITU_REC_470BG (2)

A Y'CbCr color space designed for PAL/SECAM content.

#define OD_CS_ITU_REC_790 (3)

A Y'CbCr color space designed for HD content.

#define OD_CS_YCgCo (4)

A Y'CgCo color space designed for sRGB content.

#define OD_CS_NSPACES (5)

The total number of currently defined color spaces.

#define OD_NPLANES_MAX (4)

The maximum number of color planes allowed in a single frame.

#define OD_BITDEPTH_MODE_8 (1)

8-bit mode.

#define OD_BITDEPTH_MODE_10 (2)

10-bit mode.

#define OD_BITDEPTH_MODE_12 (3)

12-bit mode.

Function Documentation

int daala_log_init (void)

Initialize the logging module. This should be called once before invoking any other Daala functions if logging support is enabled and you want to use it. Otherwise no logging messages will be printed.

Return values:

0 Success. This function always succeeds. It only returns a value for convenience (e.g., for use in a static initializer).

void daala_comment_init (daala_comment *dc)

Initializes a daala_comment section. Users should free the returned data with daala_comment_clear().

Parameters:

dc A daala_comment structure.

void daala_comment_clear (daala_comment *dc)

Free resources allocated for metadata.

Parameters:

dc A daala_comment structure.

double daala_granule_time (void *encdec, int64_tgranpos)

Converts a granule position to an absolute time in seconds. The granule position is interpreted in the context of a given daala_enc_ctx or daala_dec_ctx handle (either will suffice).

Parameters:

encdec A previously allocated daala_enc_ctx or daala_dec_ctx handle.
granpos The granule position to convert.

Returns:

The absolute time in seconds corresponding to granpos. This is the 'end time' for the frame, or the latest time it should be displayed. It is not the presentation time.

Return values:

-1 The given granule position was invalid (i.e. negative).

int daala_packet_isheader (daala_packet *dpkt)

Determines whether a Daala 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 daala_decode_headerin() for that.

Parameters:

dpkt A daala_packet structure.

Return values:

1 The packet is a header packet.
0 The packet is a video data packet.

int daala_packet_iskeyframe (daala_packet *dpkt)

Determines whether a Daala packet is a key frame or not. This function does no verfication beyond checking the packet type and key frame bits, so it should not be used for bitstream identification. Feed the packet to an actual decoder for that.

Parameters:

dpkt A daala_packet structure.

Return values:

1 The packet contains a key frame.
0 The packet contains a delta frame.

Author

Generated automatically by Doxygen for daala from the source code.