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