daala
unknown
Experimental Daala video codec API reference.
|
Go to the documentation of this file.
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);
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;
292 int64_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)
double daala_granule_time(void *encdec, int64_t granpos)
Converts a granule position to an absolute time in seconds.
daala_image_plane planes[OD_NPLANES_MAX]
Typical 3 planes for Y, Cb, and Cr.
Definition: codec.h:177
int keyframe_granule_shift
The amount to shift to extract the last keyframe number from the granule position.
Definition: codec.h:218
int full_precision_references
FPR must be on for high-depth, including lossless high-depth.
Definition: codec.h:229
Representation of a single component within an image or frame.
Definition: codec.h:146
int32_t width
Width and height in pixels.
Definition: codec.h:181
int ystride
Distance in memory between two pixels vertically next to each other.
Definition: codec.h:165
Configuration parameters for a codec instance.
Definition: codec.h:204
int bitdepth_mode
bitdepth_mode is one of the three OD_BITDEPTH_MODE_X choices allowed above.
Definition: codec.h:221
unsigned char xdec
The decimation factor in the x and y direction.
Definition: codec.h:154
int nplanes
Number of planes (1 for greyscale, 3 for YCbCr, 4 for YCbCr+Alpha )
Definition: codec.h:179
void daala_comment_clear(daala_comment *dc)
Free resources allocated for metadata.
int xstride
Distance in memory between two pixels horizontally next to each other.
Definition: codec.h:162
int keyframe_rate
key frame rate defined how often a key frame is emitted by encoder in number of frames.
Definition: codec.h:234
#define OD_NPLANES_MAX
The maximum number of color planes allowed in a single frame.
Definition: codec.h:125
int daala_log_init(void)
Initialize the logging module.
int bitdepth
8 for 'normal' video precision; data is unsigned bytes centered on 128.
Definition: codec.h:171
int daala_packet_iskeyframe(daala_packet *dpkt)
Determines whether a Daala packet is a key frame or not.
int32_t pic_width
pic_width,_height form a region of interest to encode
Definition: codec.h:209
Subsampling factors for a plane as a power of 2.
Definition: codec.h:187
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
void daala_comment_init(daala_comment *dc)
Initializes a daala_comment section.
Representation of an image or video frame.
Definition: codec.h:175
int daala_packet_isheader(daala_packet *dpkt)
Determines whether a Daala packet is a header or not.