]> git.sesse.net Git - mlt/blobdiff - src/framework/mlt_types.h
make mlt_position type double
[mlt] / src / framework / mlt_types.h
index 99fd4a3ed1ae64a75c1676a473f15ec2290ee035..764c0c4d1bdefa5a62d48e387f474a95eeca88e2 100644 (file)
@@ -44,7 +44,9 @@ typedef enum
        mlt_image_rgb24a,  /**< 8-bit RGB with alpha channel */
        mlt_image_yuv422,  /**< 8-bit YUV 4:2:2 packed */
        mlt_image_yuv420p, /**< 8-bit YUV 4:2:0 planar */
-       mlt_image_opengl   /**< suitable for OpenGL texture */
+       mlt_image_opengl,  /**< (deprecated) suitable for OpenGL texture */
+       mlt_image_glsl,    /**< for opengl module internal use only */
+       mlt_image_glsl_texture /**< an OpenGL texture name */
 }
 mlt_image_format;
 
@@ -58,10 +60,21 @@ typedef enum
        mlt_audio_s32,     /**< signed 32-bit non-interleaved PCM */
        mlt_audio_float,   /**< 32-bit non-interleaved floating point */
        mlt_audio_s32le,   /**< signed 32-bit interleaved PCM */
-       mlt_audio_f32le    /**< 32-bit interleaved floating point */
+       mlt_audio_f32le,   /**< 32-bit interleaved floating point */
+       mlt_audio_u8       /**< unsigned 8-bit interleaved PCM */
 }
 mlt_audio_format;
 
+/** The time string formats */
+
+typedef enum
+{
+       mlt_time_frames = 0, /**< frame count */
+       mlt_time_clock,      /**< SMIL clock-value as [[hh:]mm:]ss[.fraction] */
+       mlt_time_smpte       /**< SMPTE timecode as [[[hh:]mm:]ss:]frames */
+}
+mlt_time_format;
+
 /** The relative time qualifiers */
 
 typedef enum
@@ -90,10 +103,14 @@ typedef enum
 mlt_service_type;
 
 /* I don't want to break anyone's applications without warning. -Zach */
-#undef DOUBLE_MLT_POSITION
+#define DOUBLE_MLT_POSITION
 #ifdef DOUBLE_MLT_POSITION
+#define MLT_POSITION_FMT "%f"
+#define MLT_POSITION_MOD(A, B) (A - B * ((int)(A / B)))
 typedef double mlt_position;
 #else
+#define MLT_POSITION_MOD(A, B) A % B
+#define MLT_POSITION_FMT "%d"
 typedef int32_t mlt_position;
 #endif