video_format_t fmt; /**< format of the picture */
picture_t picture; /**< picture comprising this region */
+ char *psz_text; /**< text string comprising this region */
+
int i_x; /**< position of region */
int i_y; /**< position of region */
subpicture_region_t *p_next; /**< next region in the list */
+ subpicture_region_t *p_cache; /**< modified version of this region */
/**@}*/
-
};
/**
/**@{*/
mtime_t i_start; /**< beginning of display date */
mtime_t i_stop; /**< end of display date */
- vlc_bool_t b_ephemer; /**< If this flag is set to true
- the subtitle will be displayed
- untill the next one appear */
+ vlc_bool_t b_ephemer; /**< If this flag is set to true the subtitle
+ will be displayed untill the next one appear */
+ vlc_bool_t b_fade; /**< enable fading */
/**@}*/
subpicture_region_t *p_region; /**< region list composing this subtitle */
* changed by the video output thread, or simply ignored depending of the
* subtitle type. */
/**@{*/
- int i_x; /**< offset from alignment position */
- int i_y; /**< offset from alignment position */
- int i_width; /**< picture width */
- int i_height; /**< picture height */
- int b_absolute; /**< position is absolute */
- int i_flags; /**< position flags */
+ int i_x; /**< offset from alignment position */
+ int i_y; /**< offset from alignment position */
+ int i_width; /**< picture width */
+ int i_height; /**< picture height */
+ int i_alpha; /**< transparency */
+ int i_original_picture_width; /**< original width of the movie */
+ int i_original_picture_height;/**< original height of the movie */
+ int b_absolute; /**< position is absolute */
+ int i_flags; /**< position flags */
/**@}*/
/** Pointer to function that renders this subtitle in a picture */
#define RESERVED_SUBPICTURE 1 /* allocated and reserved */
#define READY_SUBPICTURE 2 /* ready for display */
+/* Subpicture position flags */
+#define SUBPICTURE_ALIGN_LEFT 0x1
+#define SUBPICTURE_ALIGN_RIGHT 0x2
+#define SUBPICTURE_ALIGN_TOP 0x4
+#define SUBPICTURE_ALIGN_BOTTOM 0x8
+
/*****************************************************************************
* Prototypes
*****************************************************************************/
/**
- * vout_AspectRatio
+ * vout_CopyPicture
+ *
+ * Copy the source picture onto the destination picture.
+ * \param p_this a vlc object
+ * \param p_dst pointer to the destination picture.
+ * \param p_src pointer to the source picture.
+ */
+#define vout_CopyPicture(a,b,c) __vout_CopyPicture(VLC_OBJECT(a),b,c)
+VLC_EXPORT( void, __vout_CopyPicture, ( vlc_object_t *p_this, picture_t *p_dst, picture_t *p_src ) );
+
+/**
+ * vout_InitPicture
+ *
+ * Initialise different fields of a picture_t (but does not allocate memory).
+ * \param p_this a vlc object
+ * \param p_pic pointer to the picture structure.
+ * \param i_chroma the wanted chroma for the picture.
+ * \param i_width the wanted width for the picture.
+ * \param i_height the wanted height for the picture.
+ * \param i_aspect the wanted aspect ratio for the picture.
+ */
+#define vout_InitPicture(a,b,c,d,e,f) \
+ __vout_InitPicture(VLC_OBJECT(a),b,c,d,e,f)
+VLC_EXPORT( int, __vout_InitPicture, ( vlc_object_t *p_this, picture_t *p_pic, uint32_t i_chroma, int i_width, int i_height, int i_aspect ) );
+
+/**
+ * vout_AllocatePicture
*
- * Set the i_aspect_x and i_aspect_y from the encoded aspect ratio i_aspect.
- * \param i_aspect the encoded aspect ratio
- * \param i_aspect_x the decoded x-axis portion of i_aspect. This is set.
- * \param i_aspect_y the decoded y-axis portion of i_aspect This is set.
+ * Initialise different fields of a picture_t and allocates the picture buffer.
+ * \param p_this a vlc object
+ * \param p_pic pointer to the picture structure.
+ * \param i_chroma the wanted chroma for the picture.
+ * \param i_width the wanted width for the picture.
+ * \param i_height the wanted height for the picture.
+ * \param i_aspect the wanted aspect ratio for the picture.
*/
-VLC_EXPORT( void, vout_AspectRatio, ( unsigned int i_aspect, unsigned int *i_aspect_x, unsigned int *i_aspect_y ) );
+#define vout_AllocatePicture(a,b,c,d,e,f) \
+ __vout_AllocatePicture(VLC_OBJECT(a),b,c,d,e,f)
+VLC_EXPORT( int, __vout_AllocatePicture,( vlc_object_t *p_this, picture_t *p_pic, uint32_t i_chroma, int i_width, int i_height, int i_aspect ) );
/**@}*/