daala  0.0-1185-g52bbd43-dirty
Experimental Daala video codec API reference.
Data Structures | Macros
codec.h File Reference

The shared libdaala C API. More...

#include "daala_integer.h"

Go to the source code of this file.

Data Structures

struct  od_img_plane
 Representation of a single component within an image or frame. More...
 
struct  od_img
 Representation of an image or video frame. More...
 
struct  daala_plane_info
 Subsampling factors for a plane as a power of 2. More...
 
struct  daala_info
 Configuration parameters for a codec instance. More...
 
struct  daala_comment
 The comment information. More...
 

Macros

#define _daala_codec_H   (1)
 
#define OD_GNUC_PREREQ(maj, min, pat)   (0)
 
#define OD_WARN_UNUSED_RESULT
 
#define OD_ARG_NONNULL(x)
 
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. More...
 
#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.
 
#define OD_NPLANES_MAX   (4)
 The maximum number of color planes allowed in a single frame.
 
typedef struct od_img_plane od_img_plane
 
typedef struct od_img od_img
 
typedef struct daala_plane_info daala_plane_info
 
typedef struct daala_info daala_info
 
typedef struct daala_comment daala_comment
 
const char * daala_version_string (void)
 
int daala_log_init (void)
 Initialize the logging module. More...
 
void daala_info_init (daala_info *info)
 
void daala_info_clear (daala_info *info)
 
void daala_comment_init (daala_comment *dc)
 
void daala_comment_clear (daala_comment *dc)
 
int64_t daala_granule_basetime (void *encdec, int64_t granpos)
 
double daala_granule_time (void *encdec, int64_t granpos)
 
int daala_packet_isheader (const unsigned char *packet, int len)
 Determines whether a Daala packet is a header or not. More...
 
int daala_packet_iskeyframe (const unsigned char *packet, int len)
 Determines whether a Daala packet is a key frame or not. More...
 

Detailed Description

The shared libdaala C API.

Macro Definition Documentation

◆ OD_CS_UNSPECIFIED

#define OD_CS_UNSPECIFIED   (0)

The color space was not specified at the encoder.

It may be conveyed by an external means.

Function Documentation

◆ daala_log_init()

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
0Success. This function always succeeds. It only returns a value for convenience (e.g., for use in a static initializer).

◆ daala_packet_isheader()

int daala_packet_isheader ( const unsigned char *  packet,
int  len 
)

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
packetA buffer containing an encoded Daala packet.
lenThe length of the buffer in bytes.
Return values
1The packet is a header packet.
0The packet is a video data packet.

◆ daala_packet_iskeyframe()

int daala_packet_iskeyframe ( const unsigned char *  packet,
int  len 
)

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
packetA buffer containing an encoded Daala packet.
lenThe length of the buffer in bytes.
Return values
1The packet contains a key frame.
0The packet contains a delta frame.
-1The packet is not a video data packet.