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);
196#define OD_BITDEPTH_MODE_8 (1)
198#define OD_BITDEPTH_MODE_10 (2)
200#define OD_BITDEPTH_MODE_12 (3)
205 unsigned char version_major;
206 unsigned char version_minor;
207 unsigned char version_sub;
211 uint32_t pixel_aspect_numerator;
212 uint32_t pixel_aspect_denominator;
213 uint32_t timebase_numerator;
214 uint32_t timebase_denominator;
215 uint32_t frame_duration;
238 unsigned char *packet;
292int64_t daala_granule_basetime(
void *encdec, int64_t granpos);
322# if OD_GNUC_PREREQ(4, 0, 0)
323# pragma GCC visibility pop
325# if defined(__cplusplus)
#define OD_NPLANES_MAX
The maximum number of color planes allowed in a single frame.
Definition codec.h:125
void daala_comment_clear(daala_comment *dc)
Free resources allocated for metadata.
double daala_granule_time(void *encdec, int64_t granpos)
Converts a granule position to an absolute time in seconds.
int daala_packet_iskeyframe(daala_packet *dpkt)
Determines whether a Daala packet is a key frame or not.
void daala_comment_init(daala_comment *dc)
Initializes a daala_comment section.
int daala_packet_isheader(daala_packet *dpkt)
Determines whether a Daala packet is a header or not.
int daala_log_init(void)
Initialize the logging module.
Representation of a single component within an image or frame.
Definition codec.h:146
unsigned char xdec
The decimation factor in the x and y direction.
Definition codec.h:154
int ystride
Distance in memory between two pixels vertically next to each other.
Definition codec.h:165
int xstride
Distance in memory between two pixels horizontally next to each other.
Definition codec.h:162
int bitdepth
8 for 'normal' video precision; data is unsigned bytes centered on 128.
Definition codec.h:171
unsigned char * data
Image data is stored as an unsigned octet type whether it's actually 8 bit or a multi-byte depth.
Definition codec.h:149
Representation of an image or video frame.
Definition codec.h:175
daala_image_plane planes[OD_NPLANES_MAX]
Typical 3 planes for Y, Cb, and Cr.
Definition codec.h:177
int nplanes
Number of planes (1 for greyscale, 3 for YCbCr, 4 for YCbCr+Alpha )
Definition codec.h:179
int32_t width
Width and height in pixels.
Definition codec.h:181
Configuration parameters for a codec instance.
Definition codec.h:204
int keyframe_granule_shift
The amount to shift to extract the last keyframe number from the granule position.
Definition codec.h:218
int bitdepth_mode
bitdepth_mode is one of the three OD_BITDEPTH_MODE_X choices allowed above.
Definition codec.h:221
int32_t pic_width
pic_width,_height form a region of interest to encode
Definition codec.h:209
int keyframe_rate
key frame rate defined how often a key frame is emitted by encoder in number of frames.
Definition codec.h:234
int full_precision_references
FPR must be on for high-depth, including lossless high-depth.
Definition codec.h:229
Subsampling factors for a plane as a power of 2.
Definition codec.h:187