48#if !defined(_daala_codec_H)
49# define _daala_codec_H (1)
51# if defined(__cplusplus)
55#include "daala_integer.h"
58# if defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)
59# define OD_GNUC_PREREQ(maj, min, pat) \
60 ((__GNUC__ << 16) + (__GNUC_MINOR__ << 8) + __GNUC_PATCHLEVEL__ >= ((maj) << 16) + ((min) << 8) + pat)
62# define OD_GNUC_PREREQ(maj, min, pat) (0)
65#if OD_GNUC_PREREQ(4, 0, 0)
66# pragma GCC visibility push(default)
69#if OD_GNUC_PREREQ(3, 4, 0)
70# define OD_WARN_UNUSED_RESULT __attribute__((__warn_unused_result__))
72# define OD_WARN_UNUSED_RESULT
75#if OD_GNUC_PREREQ(3, 4, 0)
76# define OD_ARG_NONNULL(x) __attribute__((__nonnull__(x)))
78# define OD_ARG_NONNULL(x)
83# pragma warning(disable:4100 4115 4125 4127 4152 4505 4554 4711)
91# define OD_EFAULT (-1)
93# define OD_EINVAL (-10)
95# define OD_EBADHEADER (-20)
97# define OD_ENOTFORMAT (-21)
99# define OD_EVERSION (-22)
101# define OD_EIMPL (-23)
103# define OD_EBADPACKET (-24)
111# define OD_CS_UNSPECIFIED (0)
113# define OD_CS_ITU_REC_470M (1)
115# define OD_CS_ITU_REC_470BG (2)
117# define OD_CS_ITU_REC_790 (3)
119# define OD_CS_YCgCo (4)
121# define OD_CS_NSPACES (5)
125# define OD_NPLANES_MAX (4)
133const char *daala_version_string(
void);
181 unsigned char version_major;
182 unsigned char version_minor;
183 unsigned char version_sub;
187 uint32_t pixel_aspect_numerator;
188 uint32_t pixel_aspect_denominator;
189 uint32_t timebase_numerator;
190 uint32_t timebase_denominator;
191 uint32_t frame_duration;
192 int keyframe_granule_shift;
240int64_t daala_granule_basetime(
void *encdec, int64_t granpos);
241double daala_granule_time(
void *encdec, int64_t granpos);
262# if OD_GNUC_PREREQ(4, 0, 0)
263# pragma GCC visibility pop
265# if defined(__cplusplus)
#define OD_NPLANES_MAX
The maximum number of color planes allowed in a single frame.
Definition codec.h:125
int daala_packet_isheader(const unsigned char *packet, int len)
Determines whether a Daala packet is a header or not.
int daala_packet_iskeyframe(const unsigned char *packet, int len)
Determines whether a Daala packet is a key frame or not.
int daala_log_init(void)
Initialize the logging module.
Configuration parameters for a codec instance.
Definition codec.h:180
int32_t pic_width
pic_width,_height form a region of interest to encode
Definition codec.h:185
int keyframe_rate
key frame rate defined how often a key frame is emitted by encoder in number of frames.
Definition codec.h:197
Subsampling factors for a plane as a power of 2.
Definition codec.h:174
Representation of a single component within an image or frame.
Definition codec.h:146
int xstride
Distance in memory between two pixels horizontally next to each other in (is always 1 in encoder).
Definition codec.h:156
int ystride
Distance in memory between two pixels vertically next to each other.
Definition codec.h:158
unsigned char xdec
The decimation factor in x direction.
Definition codec.h:152
Representation of an image or video frame.
Definition codec.h:162
od_img_plane planes[OD_NPLANES_MAX]
Typical 3 planes for Y, Cb, and Cr.
Definition codec.h:164
int32_t width
Width and height in pixels.
Definition codec.h:168
int nplanes
Number of planes (1 for greyscale, 3 for YCbCr, 4 for YCbCr+Alpha )
Definition codec.h:166