#ifndef _MLT_TYPES_H_
#define _MLT_TYPES_H_
+#ifndef GCC_VERSION
+#define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
+#endif
+
#include <stdint.h>
#include "mlt_pool.h"
-typedef enum mlt_image_format_enum
+typedef enum
{
mlt_image_none = 0,
mlt_image_rgb24,
mlt_image_rgb24a,
mlt_image_yuv422,
- mlt_image_yuv420p
+ mlt_image_yuv420p,
+ mlt_image_opengl
}
mlt_image_format;
-typedef enum mlt_audio_format_enum
+typedef enum
{
mlt_audio_none = 0,
mlt_audio_pcm
}
mlt_audio_format;
-typedef enum mlt_whence_enum
+typedef enum
{
mlt_whence_relative_start,
mlt_whence_relative_current,
}
mlt_whence;
-typedef enum mlt_service_type_enum
+typedef enum
{
invalid_type,
unknown_type,
}
mlt_service_type;
+/* I don't want to break anyone's applications without warning. -Zach */
+#undef DOUBLE_MLT_POSITION
+#ifdef DOUBLE_MLT_POSITION
+typedef double mlt_position;
+#else
typedef int32_t mlt_position;
+#endif
+
typedef struct mlt_frame_s *mlt_frame, **mlt_frame_ptr;
typedef struct mlt_properties_s *mlt_properties;
typedef struct mlt_event_struct *mlt_event;