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)
82 # if defined(_MSC_VER)
83 # pragma warning(disable:4100 4115 4125 4127 4152 4505 4554 4711)
89 #define OD_SUCCESS (0)
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)
133 const 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;
240 int64_t daala_granule_basetime(
void *encdec, int64_t granpos);
241 double 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