X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fframework%2Fmlt_types.h;h=921dd4799bae00fd9f9be3adfedad9830d9e8406;hb=3902731cb8a9622204d584c4962c74e2a5a35428;hp=d550c3f919251ca21799185c2e41caa180673043;hpb=40b169c095486ba1b868486eb98a47c41f36ce8c;p=melted diff --git a/src/framework/mlt_types.h b/src/framework/mlt_types.h index d550c3f..921dd47 100644 --- a/src/framework/mlt_types.h +++ b/src/framework/mlt_types.h @@ -1,7 +1,9 @@ -/* - * mlt_types.h -- provides forward definitions of all public types - * Copyright (C) 2003-2004 Ushodaya Enterprises Limited - * Author: Charles Yates +/** + * \file mlt_types.h + * \brief Provides forward definitions of all public types + * + * Copyright (C) 2003-2009 Ushodaya Enterprises Limited + * \author Charles Yates * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -29,44 +31,52 @@ #include "mlt_pool.h" +/** The set of supported image formats */ + typedef enum { - mlt_image_none = 0, - mlt_image_rgb24, - mlt_image_rgb24a, - mlt_image_yuv422, - mlt_image_yuv420p, - mlt_image_opengl + mlt_image_none = 0,/**< image not available */ + mlt_image_rgb24, /**< 8-bit RGB */ + 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_format; +/** The set of supported audio formats */ + typedef enum { - mlt_audio_none = 0, - mlt_audio_pcm + mlt_audio_none = 0,/**< audio not available */ + mlt_audio_pcm /**< signed 16-bit interleaved PCM */ } mlt_audio_format; +/** The relative time qualifiers */ + typedef enum { - mlt_whence_relative_start, - mlt_whence_relative_current, - mlt_whence_relative_end + mlt_whence_relative_start, /**< relative to the beginning */ + mlt_whence_relative_current,/**< relative to the current position */ + mlt_whence_relative_end /**< relative to the end */ } mlt_whence; +/** The recognized subclasses of mlt_service */ + typedef enum { - invalid_type, - unknown_type, - producer_type, - playlist_type, - tractor_type, - multitrack_type, - filter_type, - transition_type, - consumer_type, - field_type + invalid_type, /**< invalid service */ + unknown_type, /**< unknown class */ + producer_type, /**< Producer class */ + tractor_type, /**< Tractor class */ + playlist_type, /**< Playlist class */ + multitrack_type, /**< Multitrack class */ + filter_type, /**< Filter class */ + transition_type, /**< Transition class */ + consumer_type, /**< Consumer class */ + field_type /**< Field class */ } mlt_service_type; @@ -78,33 +88,37 @@ typedef double mlt_position; 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; -typedef struct mlt_service_s *mlt_service; -typedef struct mlt_producer_s *mlt_producer; -typedef struct mlt_playlist_s *mlt_playlist; -typedef struct mlt_multitrack_s *mlt_multitrack; -typedef struct mlt_filter_s *mlt_filter; -typedef struct mlt_transition_s *mlt_transition; -typedef struct mlt_tractor_s *mlt_tractor; -typedef struct mlt_field_s *mlt_field; -typedef struct mlt_consumer_s *mlt_consumer; -typedef struct mlt_parser_s *mlt_parser; -typedef struct mlt_deque_s *mlt_deque; -typedef struct mlt_geometry_s *mlt_geometry; -typedef struct mlt_geometry_item_s *mlt_geometry_item; -typedef struct mlt_profile_s *mlt_profile; - -typedef void ( *mlt_destructor )( void * ); -typedef char *( *mlt_serialiser )( void *, int length ); - -#define MLT_SERVICE(x) ( ( mlt_service )( x ) ) -#define MLT_PRODUCER(x) ( ( mlt_producer )( x ) ) -#define MLT_MULTITRACK(x) ( ( mlt_multitrack )( x ) ) -#define MLT_PLAYLIST(x) ( ( mlt_playlist )( x ) ) -#define MLT_TRACTOR(x) ( ( mlt_tractor )( x ) ) -#define MLT_FILTER(x) ( ( mlt_filter )( x ) ) -#define MLT_TRANSITION(x) ( ( mlt_transition )( x ) ) +typedef struct mlt_frame_s *mlt_frame, **mlt_frame_ptr; /**< pointer to Frame object */ +typedef struct mlt_property_s *mlt_property; /**< pointer to Property object */ +typedef struct mlt_properties_s *mlt_properties; /**< pointer to Properties object */ +typedef struct mlt_event_struct *mlt_event; /**< pointer to Event object */ +typedef struct mlt_service_s *mlt_service; /**< pointer to Service object */ +typedef struct mlt_producer_s *mlt_producer; /**< pointer to Producer object */ +typedef struct mlt_playlist_s *mlt_playlist; /**< pointer to Playlist object */ +typedef struct mlt_multitrack_s *mlt_multitrack; /**< pointer to Multitrack object */ +typedef struct mlt_filter_s *mlt_filter; /**< pointer to Filter object */ +typedef struct mlt_transition_s *mlt_transition; /**< pointer to Transition object */ +typedef struct mlt_tractor_s *mlt_tractor; /**< pointer to Tractor object */ +typedef struct mlt_field_s *mlt_field; /**< pointer to Field object */ +typedef struct mlt_consumer_s *mlt_consumer; /**< pointer to Consumer object */ +typedef struct mlt_parser_s *mlt_parser; /**< pointer to Properties object */ +typedef struct mlt_deque_s *mlt_deque; /**< pointer to Deque object */ +typedef struct mlt_geometry_s *mlt_geometry; /**< pointer to Geometry object */ +typedef struct mlt_geometry_item_s *mlt_geometry_item; /**< pointer to Geometry Item object */ +typedef struct mlt_profile_s *mlt_profile; /**< pointer to Profile object */ +typedef struct mlt_repository_s *mlt_repository; /**< pointer to Repository object */ +typedef struct mlt_cache_s *mlt_cache; /**< pointer to Cache object */ +typedef struct mlt_cache_item_s *mlt_cache_item; /**< pointer to CacheItem object */ + +typedef void ( *mlt_destructor )( void * ); /**< pointer to destructor function */ +typedef char *( *mlt_serialiser )( void *, int length );/**< pointer to serialization function */ + +#define MLT_SERVICE(x) ( ( mlt_service )( x ) ) /**< Cast to a Service pointer */ +#define MLT_PRODUCER(x) ( ( mlt_producer )( x ) ) /**< Cast to a Producer pointer */ +#define MLT_MULTITRACK(x) ( ( mlt_multitrack )( x ) ) /**< Cast to a Multitrack pointer */ +#define MLT_PLAYLIST(x) ( ( mlt_playlist )( x ) ) /**< Cast to a Playlist pointer */ +#define MLT_TRACTOR(x) ( ( mlt_tractor )( x ) ) /**< Cast to a Tractor pointer */ +#define MLT_FILTER(x) ( ( mlt_filter )( x ) ) /**< Cast to a Filter pointer */ +#define MLT_TRANSITION(x) ( ( mlt_transition )( x ) ) /**< Cast to a Transition pointer */ #endif